A full-stack application for tracking and managing your beer collection. Built with React (Vite), Node.js, and PostgreSQL.
- Clone and install:
git clone <repository-url>
cd beverage-tracker
npm install- Start services:
docker-compose up -dAccess the application at:
- Frontend: http://localhost:5173
- Backend: http://localhost:4000
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
# Restart a specific service
docker-compose restart frontend
docker-compose restart backend
docker-compose restart db
# View logs
docker-compose logs -f [service_name] # e.g., frontend, backend, or db
# Rebuild a service after dependency changes
docker-compose up -d --build [service_name]- NEVER remove Docker volumes or the database container without backing up data first. Data loss will occur.
- If database data is lost, use the import script to restore:
# From the backend directory
python src/misc/import_beers.pyCreate .env in backend directory:
PORT=4000
DB_USER=postgres
DB_HOST=db
DB_NAME=beer_tracker
DB_PASSWORD=postgres
DB_PORT=5432GET /api/beers- List all beersGET /api/beers/:id- Get single beerPOST /api/beers- Create beerPUT /api/beers/:id- Update beerDELETE /api/beers/:id- Delete beerGET /api/user-collections- Get collectionsPOST /api/user-collections- Add to collectionPUT /api/user-collections- Update collection
- Frontend: React (Vite), TypeScript, Material-UI
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL
- Containerization: Docker
MIT