- Docker installé sur votre machine
- Docker-compose installé sur votre machine
- Créer un fichier
.env
à la racine du projet - Ajouter les variables d'environnements suivantes:
# .env
# Configuration de la base de données
POSTGRES_HOSTNAME=postgre
POSTGRES_PORT=5432
POSTGRES_USER=postgres # Utilisateur par défaut
POSTGRES_PASSWORD=password # Mot de passe par défaut
POSTGRES_DB=db
# URL pour Prisma
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOSTNAME}:${POSTGRES_PORT}/${POSTGRES_DB}?schema=public"
# Clé secrète pour les tokens
SECRET_KEY=SECRET_KEY
SECRET_KEY_SALT=10
# Configuration du cache
CACHE_EXPIRE=3600
CACHE_HOSTNAME=redis
CACHE_PORT=6379
CACHE_PASSWORD=
CACHE_DB_NAME=0
# Pour l'initialisation de l'api avec comme premier utilisateur un administrateur
INIT=true
- Exécuter la commande suivante pour initialiser le projet :
docker-compose -f docker-compose.prod.yml up -d --build
- Créer votre première utilisateur en utilisant l'api
/api/auth/register
avec les informations suivantes:
{
"lastname" : "*VOTRE NOM*",
"firstname" : "*VOTRE PRENOM*",
"email" : "*VOTRE EMAIL*",
"password" : "*VOTRE MOT DE PASSE*",
"dateOfBirth" : "*VOTRE DATE DE NAISSANCE*"
}
- Eteignez le projet avec la commande suivante:
docker-compose -f docker-compose.prod.yml down
- Modifier la variable
INIT
dans le fichier.env
àfalse
- Exécuter la commande suivante pour relancer le projet:
docker-compose -f docker-compose.prod.yml up -d
Vous pouvez maintenant accéder à l'api à l'adresse suivante: http://localhost:3000
- Docker installé sur votre machine
- Docker-compose installé sur votre machine
- VS Code installé sur votre machine (Au choix)
- JetBrains IDE installé sur votre machine (Au choix)
- Créer un fichier
.env
à la racine du projet - Ajouter les variables d'environnements suivantes:
# .env
# Configuration de la base de données
POSTGRES_HOSTNAME=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres # Utilisateur par défaut
POSTGRES_PASSWORD=password # Mot de passe par défaut
POSTGRES_DB=db
# URL pour Prisma
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOSTNAME}:${POSTGRES_PORT}/${POSTGRES_DB}?schema=public"
# Clé secrète pour les tokens
SECRET_KEY=SECRET_KEY
SECRET_KEY_SALT=10
# Configuration du cache
CACHE_EXPIRE=3600
CACHE_HOSTNAME=localhost
CACHE_PORT=6379
CACHE_PASSWORD=
CACHE_DB_NAME=0
# Pour l'initialisation de l'api avec comme premier utilisateur un administrateur
INIT=true
- Ouvrer votre IDE
- Si vous êtes sur VS Code, ouvrir le projet avec la commande suivante:
code .
- Puis faite
CTRL
+MAJ
+P
pour ouvrir la palette de commande - Taper
Remote-Containers: Reopen in Container
et appuyer surEntrée
- Sélectionner le fichier
.devcontainer/devcontainer.json
pour ouvrir le projet dans un conteneur
- Ouvrer votre IDE
- Si un projet est déjà ouvert, fermer le projet
- Puis acceder à
Remote Development
>Dev Container
dans la fenêtre de démarrage de l'IDE - Cliquer sur
New Dev Container
- Sélectionner le
.devcontainer/devcontainer.json
du dossier du projet
- Ouvrir un terminal dans votre IDE
- Exécuter la commande suivante pour initialiser le projet:
npm install
- Démarrer les conteneurs avec la commande suivante:
docker-compose up -d
- Exécuter la commande suivante pour initialiser la base de données:
prisma db push
- Démarrer l'api avec la commande suivante:
npm run dev
- Créer votre première utilisateur en utilisant l'api
/api/auth/register
avec les informations suivantes:
{
"lastname" : "*VOTRE NOM*",
"firstname" : "*VOTRE PRENOM*",
"email" : "*VOTRE EMAIL*",
"password" : "*VOTRE MOT DE PASSE*",
"dateOfBirth" : "*VOTRE DATE DE NAISSANCE*"
}
- Eteignez le projet avec un
CTRL
+C
dans le terminal - Modifier la variable
INIT
dans le fichier.env
àfalse
- Exécuter la commande suivante pour relancer le projet:
npm run dev
Vous pouvez maintenant accéder à l'api à l'adresse suivante: http://localhost:3000
- Télécharger et installer Insomnia
- Importer le fichier
Insomnia_2024-12-17.json
dans Insomnia - Modifier les variables d'environnements pour correspondre à votre configuration
- Vous pouvez maintenant tester l'api avec Insomnia