Ce projet est une API Nest.js pour la gestion des cours. Il utilise Prisma pour la connexion à la base de données PostgreSQL, Swagger pour la documentation de l'API, class-Validator pour la validation des données, et Docker/Docker-Compose pour la portabilité.
- Node.js 18.20
- Docker(Optionnel)
- Docker-Compose(Optionnel)
-
Clonez le dépôt :
git clone https://github.com/bambadiagne/course_api cd course_api
-
Installez les dépendances :
npm install
-
Configurez les variables d'environnement : Créez un fichier
.env
et ajoutez votre chaîne de connexion PostgreSQL :DATABASE_URL="postgresql://<username>:<password>@<host>:<port>/<database>?schema=public"
-
Demarrer le serveur:
npm run start:dev
-
Exécutez Docker-Compose(Optionnel) :
docker-compose up -d
- Démarrez l'application :
npm run start:dev
- Accédez à la documentation Swagger :
Ouvrez votre navigateur et allez à
http://localhost:3000/api
.
Ce projet utilise class-validator
et class-transformer
pour valider les données entrantes. Assurez-vous que vos DTOs (Data Transfer Objects) sont correctement décorés avec des décorateurs de validation.
Prisma est utilisé pour la connexion à la base de données et l'ORM. Pour appliquer les migrations de la base de données, exécutez :
npx prisma migrate dev
Prisma nous fournit aussi un petit dashboard pour visualiser les données à travers la commande:
npx prisma studio
Une alternative legere à pgadmin
L'application est conteneurisée à l'aide de Docker. Utilisez le docker-compose.yml
fourni pour exécuter l'application dans un conteneur Docker.