# Marketplace Project Notes ## Database: PostgreSQL via Docker Container name: `marketplace-postgres` Image: `postgres:17-alpine` Volume: `marketplace-pgdata` (persistent local data) ### Start database ```bash docker start marketplace-postgres ``` ### Stop database (frees memory) ```bash docker stop marketplace-postgres ``` ### Check status ```bash docker ps -f name=marketplace-postgres ``` ### Connection string ``` postgresql://marketplace:marketplace_dev@localhost:5432/marketplace ``` ### If container was deleted, recreate: ```bash docker run -d \ --name marketplace-postgres \ -e POSTGRES_USER=marketplace \ -e POSTGRES_PASSWORD=marketplace_dev \ -e POSTGRES_DB=marketplace \ -p 5432:5432 \ -v marketplace-pgdata:/var/lib/postgresql/data \ --restart unless-stopped \ postgres:17-alpine ``` Data persists in the `marketplace-pgdata` Docker volume even if the container is removed. ## Running the app 1. Start database: `docker start marketplace-postgres` 2. Server: `npm run dev:server` (port 3000) 3. Client: `npm run dev:client` (port 5173) 4. Or both: `npm run dev` ## Seed data ```bash cd server && npx tsx prisma/seed.ts ``` Test users (all password: `password123`): - alice.chen@example.com - bob.smith@example.com - carol.jones@example.com - david.wilson@example.com - eva.martinez@example.com ## Key env vars (server/.env) - `DATABASE_URL` — PostgreSQL connection - `GOOGLE_MAPS_API_KEY` — Location autocomplete - `STRIPE_SECRET_KEY` / `STRIPE_PUBLISHABLE_KEY` — Payments (optional for dev)