Le Projet Plateforme de Recrutemen est un projet développé dans le cadre de l'UV SR10 à l'UTC en P23. Ce projet a été supervisé par :
AKHERAZ Mohamed
Par DOUDECH Taïeb Rayen dans le cadre de l'UV SR10 en P23
- Backend : en JS sous express (Node.js).
- Frontend : HTML + JS + CSS + Utilisation du Framework Bootstrap
Le diagramme de cas d'utilisation se trouve dans res/diag-cas-utilisation.pdf
Quels ont été les changements dans le MPD ?
- La table `postes` n'existe plus à la place tout est centralisé dans offres
- La table `user_credentials` n'existe plus à la place tout est centralisé dans utilisateurs
Les changements ont été effectués afin de rendre le projet plus modulaire et plus facile à maintenir. Je me suis rendu compte au fil du développement du projet que le projet ne nécessitait pas autant de tables que prévu initialement. Ainsi pour faciliter le développement j'ai fait le choix de diminuer le nombre de tables et conséquemment le nombre de requêtes SQL à effectuer.
- EJS
- JQuery
- JQuery Datatables - Pour les tables et les filtres
- Sweetalert 2 - Pour les popups
- NodeJS
- Crypto - Hachage de mot de passe
- Axios pour quelques requêtes
- Passport - Authentification
- Passport-local - Authentification
- Express-session - Gestion de session
- Express-mysql-session - Gestion du stockage de session en SQL
- MySQL2 - Database
- Express-FileUpload - Envoi de fichier
- body-parser
- bootstrap
- cookie-parser
- jest - Tests
- Supertests - Tests
- uuid - Génération de UUID
- nodemon - Pour le développement, ne pas devoir relancer l'application constamment
- Lottie.json publiques files pour les annimations
- Template public bootstrap pour la sidebar
Le rapport se trouvent dans test.md
Le rapport se trouvent dans securite.md
- NodeJS
git clone https://gitlab.utc.fr/tdoudech/sr10_p23_doudech
npm install
Importer les seeds scripts disponible dans le dossier seeds
dans le dossier res
dans votre base de données.
organisations_types > groups > positions_types > etat_offre > utilisateurs > organisations > offres > users_organisation > candidature_docs > candidature
Les seeds scripts contiennent déjà des données pour faciliter les tests, il est donc inutile de les importer plusieurs fois.
Plusieurs comptes sont déjà crées via les seeds scripts, tous les mots de passe sont password
et sont pré-remplis dans le formulaire de connexion les comptes sont :
Modifier le fichier pour insérer la configuration de votre BDD :
models/database/db.js
Il suffit de modifier la partie suivante en insérant vos creds :
const pool = mysql.createConnection({
host: "",
user: "SR10",
password: "",
database: "",
port: 3306,
});
Créer les creds pour le SQL Cookie Store dans le fichier app.js, pour ce faire il suffit de mettre les creds SQL à la ligne 39.
store: new MySQLStore({
host:'',
port:3306,
user:'',
password:'',
database:'session_cookie'
}),
Nous utilisons l'API de Google Maps afin de géolocaliser les entreprises en fonction des coordonnées GPS. Pour activer cette feature, vous pourrez ajouter votre propre clef dans le fichier suivant :
models/offre.js
à la ligne 305 à la place dePUT_YOUR_OWN_MAPS_KEY_HERE
models/organisation.js
à la ligne 308 à la place dePUT_YOUR_OWN_MAPS_KEY_HERE
Il faut aussi effectuer cette manipulation dans le fichier suivant :
views/public/candidature.ejs
à la ligne 110 à la place dePUT_YOUR_OWN_MAPS_KEY_HERE
views/organisation/offers-creation.ejs
aux lignes 90 et 209 à la place dePUT_YOUR_OWN_MAPS_KEY_HERE
Toutes les clefs Google Maps utilisé durant ce projet ont été supprimés, il est donc nécessaire d'ajouter votre propre clef pour pouvoir utiliser cette feature.
Vous pouvez créer une clef maps en suivant ce lien : Use API Keys - Maps JS API
cd 0.1\ -\ PLATEFORME_RECRUTEMENT/
npm start
Bonne utilisation et bon dév :)