#Documentation Gazette
Ce projet est un monorepo TypeScript comprenant :
- Backend : API NestJS (CommonJS) avec MikroORM et PostgreSQL
- Frontend : Application React (Next)
- Shared : Code partagé entre le front et le back
- Node.js 20+
- pnpm (gestionnaire de paquets recommandé)
- Docker et Docker Compose
git clone https://github.com/adatechschool/gazette
cd gazette
pnpm i
cd packages/shared
pnpm build
cd apps/backend
pnpm build
pnpm start
cd apps/web
pnpm start
# Créer une migration
pnpm db:migration:create
# Appliquer les migrations
pnpm db:migration:up
# Revenir en arrière
pnpm db:migration:down
À la racine du projet :
Windows : docker-compose up --build
Mac : docker compose up --build
- Le backend sera accessible sur http://localhost:3000
- Le frontend sur http://localhost:5173
- La base de données Postgres sur le port 5432
docker-compose down
docker-compose logs backend
Ouvre un shell dans le conteneur backend :
docker-compose exec backend sh
# Puis dans le shell :
pnpm db:migration:up
Crée un fichier .env
dans apps/backend/
avec :
DB_NAME=gazette_db
DB_HOST=db
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=motdepasse
Crée un fichier .env
dans apps/frontend/
avec :
NEXT_PUBLIC_API_URL=http://localhost:${BACKEND_PORT}
NODE_ENV=development
Crée un fichier .env
dans apps
avec :
# Database
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=gazette_db
# Environment
NODE_ENV=development
# Ports
FRONTEND_PORT=5173
BACKEND_PORT=3000
apps/
backend/ # API NestJS
frontend/ # Frontend React (NextJS)
packages/
shared/ # Code partagé
- Pour le développement avec hot reload dans Docker, une configuration supplémentaire est nécessaire.
- Les migrations MikroORM doivent être lancées dans le conteneur backend si tu utilises Docker.
Pour toute question, ouvre une issue ou contacte l'équipe !