- SellItemPage: real file upload + API listing creation + activate - CreateProfilePage: save profile via PUT /users/profile - ProductDetailPage: wire edit/delete/message buttons, show edit for owner - ListingCard: persist favorites via API, show real images - Footer: connect newsletter subscribe to API - Router: add /dashboard/listings and /dashboard/saved routes - Backend: add GET /listings/favorites endpoint - New pages: MyListingsPage, SavedItemsPage - Fix unused imports causing build failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
# 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)
|