# SupportHub API ### Development (Docker) - Start all services: `docker compose --env-file .env.development -f docker-compose.development.yml up -d --build` - Start only database & cache (for local app development): `docker compose --env-file .env.development -f docker-compose.development.yml up -d postgres redis` ### Test (Docker) - `docker compose --env-file .env.test -f docker-compose.test.yml up --build` ### Production (Docker) - `docker compose --env-file .env.prod -f docker-compose.prod.yml up --build -d` ### Stop / Down - Stop production: `docker compose -f docker-compose.prod.yml down` - Stop development: `docker compose -f docker-compose.development.yml down` - Stop development & wipe volumes: `docker compose --env-file .env.development -f docker-compose.development.yml down -v` ### List Containers & Logs - List containers: `docker compose --env-file .env.development -f docker-compose.development.yml ps` - Follow logs: `docker compose --env-file .env.development -f docker-compose.development.yml logs -f` --- ### Local Development (Host) 1. Start database & cache in Docker: ```bash docker compose --env-file .env.development -f docker-compose.development.yml up -d postgres redis ``` 2. Start API server in watch mode: ```bash npm run dev ``` --- ### Database Migrations & Prisma - **Generate Prisma Client**: ```bash npm run prisma:generate ``` - **Run / Apply Dev Migrations**: ```bash npx dotenv-cli -e .env.development -- npm run prisma:migrate ``` - **Deploy Migrations (Production/CI)**: ```bash npx dotenv-cli -e .env.development -- npm run prisma:deploy ``` - **Push Schema directly (Sync schema without migration files)**: ```bash npx dotenv-cli -e .env.development -- npx prisma db push ``` --- ### Database Seeding - **Seed Database (Roles, Products, Categories, Hierarchy & Demo data)**: ```bash npx dotenv-cli -e .env.development -- npm run prisma:seed ```