100% ont trouvé ce document utile (1 vote)
266 vues5 pages

Application de gestion de projets Node.js

Création d'une application pour la gestion des projets d'une entreprise de développement de logiciels à l'aide d'Express, Mongoose et Docker.

Transféré par

Zaid Mohdik
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
266 vues5 pages

Application de gestion de projets Node.js

Création d'une application pour la gestion des projets d'une entreprise de développement de logiciels à l'aide d'Express, Mongoose et Docker.

Transféré par

Zaid Mohdik
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Création d'une application pour la gestion des projets des employés d'une société.

> Supposons que vous


travaillez pour une entreprise de développement de logiciels et que vous devez créer une application
pour gérer les projets.

1. Créez un nouveau projet service-projets [Link] 2pts ?

mkdir service-projets
cd service-projets
npm init -y

2. Installez les dépendances nécessaires 2pts

npm install express mongoose

3. Créez un fichier [Link] pour votre serveur Express 3pts

-[Link]
const express = require('express');
const app = express();
[Link](4000,()=>[Link](`Serveur en lancer sur le port4000));

4. Model: 4pts

-[Link]
const {model,Schema}=require('mongoose');
const ProjetSchema = Schema({
nomProjet: String,
type: String,
statut: String,
employes:[String],

});
const Projet = model('Projet', ProjetSchema);
[Link] = Projet;

5. Créez le Controller: 10pts

-[Link] :
Getprojets(),Ajouterprojets().Rechercherprojets(), Modifierprojets().Supprimerprojets()
const Projet = require('./models/projet');

[Link]=async(req, res)=> {
const projets = await [Link]();
[Link](projets);
}

[Link]=async(req, res) =>{


const projet = new Projet([Link]);
await [Link]();
[Link](projet);
}

[Link]=async(req, res)=> {
const { nomProjet } = [Link];
const projet = await [Link]({ nomProjet });
if (projet) {
[Link](projet);
}
else {
[Link](404).json({ error: 'Projet non trouvé' });
}
}

[Link]=async(req, res)=> {
const { nomProjet } = [Link];
const { type, statut } = [Link];
const projet = await [Link]({nomProjet},{$set:{type,statut}});
if (projet) {
[Link](projet);
}
else {
[Link](404).json({ error: 'Projet non trouvé' });
}
}
[Link]=async(req, res)=> {
const { nomProjet } = [Link];
await [Link]({ nomProjet });
[Link]({ message: 'Projet supprimé avec succès' });
}

6. Créez les routes nécessaires pour l'application 4pts


-[Link]

const express = require('express');


const app = express();
require('./Database/db');
const
{getProjets,ajouterProjet,rechercherProjet,modifierProjet,supprimerProjet}=
require('./controllers/projetController');

[Link]([Link]());

[Link](4000,()=>[Link](`Serveur en lancer sur le port 4000));

[Link]('/projets',getProjets);
[Link]('/projets',ajouterProjet);
[Link]('/projets/:nomProjet',rechercherProjet);
[Link]('/projets/:nomProjet',modifierProjet);
[Link]('/projets/:nomProjet',supprimerProjet);

7. En utilisant RABBITMQ créé une fonction AffecterProjets qui permet d'ajouter les employés Envoyé par
le service-employés au projet créer. Spts

Hada Ma3adnach Ma3adna lach nsa7oh idrissi galt 7ta f EFF makaynch
8. Créer un fichier DOCKERFILE pour créer image sous docker. Spts

-Dockerfile :

FROM node:latest
WORKDIR /app
COPY package*.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node","[Link]"]
9. Créer un fichier Dockercompose qui contient la configuration des deux services app et [Link]

-[Link] :

-Method 1
version: '3.9'
services:
mongodb:
container_name: mongodb
image: mongo
volumes:
- ./data:/data/db
ports:
- "27017:27017"

app:
build:
dockerfile: .app/Dockerfile
container_name: app
ports:
- "4000:4000"
volumes:
- /app/node_modules
depends_on:
- mongodb
-Method 2

version: '3.9'
services:
mongodb:
container_name: mongodbb
image: mongo
volumes:
- ./data:/data/db
ports:
- "27017:27017"

app:
build: ./app-servi
container_name: app
ports:
- "4000:4000"
volumes:
- /app/node_modules
depends_on:
- mongodb

Vous aimerez peut-être aussi