Skip to content

Application réalisée dans le cadre de mon stage de fin d'année en seconde année de DUT MMI à l'IUT de Tarbes.

Notifications You must be signed in to change notification settings

AkaiiKitsune/OMP-GestionPic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

OMP Stage MMI 2

Une application permettant de gerer des chambres...
Documentation

Table of Contents

A Propos

Profile Screen Shot

Cette application a été réalisée dans le cadre de mon stage de fin d'année en seconde année de DUT MMI à l'IUT de Tarbes. J'avais pour devoir de réaliser une application de gestion de ressources pour l'Observatoire Midi-Pyrénées du Pic Du Midi de Bigorre (https://www.omp.eu/)

Elle devait en autre permettre de :

  • Gerer les capacités d'accueil du Pic en permettant de :
    • Reserver des chambres
    • Affecter des missionnaires à leur chambres respectives
    • Permettre de visualiser quelles chambres doivent etres entretenues ou pas.
  • Gerer les salles de reunions
  • Gerer les laisser passer
  • Permettre de générer des rapports financiers sur l'utilisation des chambres

L'idée était de faciliter le travail de gestion pour le personel qui gère l'organisation du pic.


Frameworks

L'application utilise ces differentes librairies et frameworks pour fonctionner :

Pour commencer

Cette application a été réalisée pour etre utilisée sur Debian 10.4, en revanche toute distribution fait affaire tant que Node.js et MongoDB sont installés.

La machine doit avoir au minimum :

  • CPU : 2 cores minimum, 4 ou + recommendé
  • RAM : 2Go minimum, 4Goou+recommendé
  • Disque : 20Go minimum, 100Go ou + recommendé

Et le port 8080 doit etre accessible.


Prérequis

L'application a besoin de trois paquets pour fonctionner : Git, MongoDB et Nodejs.

  • git
sudo apt install git
  • NodeJS (latest)
sudo apt install nodejs
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

Installation

  1. Cloner le repo et entrer dans le repertoire de celui ci
git clone https://github.com/AkaiiKitsune/OMP-GestionPic && cd ./OMP-GestionPic
  1. Installer les packets NPM
npm install
  1. Ajouter la clé d'api dans /config/secrets.js (La clé est a générer sur https://api.insee.fr/catalogue/, dans la rubrique API Sirene V3)
module.exports={secretSirenAPI:'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'};
  1. Demarrer l'application (Le serveur devient alors disponible sur le port 8080 de la machine)
npm run start

Un serveur nodemon demarre, il relancera l'application si des modifications sont effectuées a son code source ou si un crash a lieu.


Configuration

Il faut avant toute chose creer le compte administrateur et lui donner ses droits. La modification de droits utilisateurs demande un acces au terminal de la base de donnée MongoDB, et c'est la seule operation demandant a un acces direct a celle ci.

Il faut proceder de la sorte :

  1. Creer le compte administrateur sur l'interface web (en le nommant admin en minuscules, c'est important pour la commande qui va suivre) Register Screen Shot

  2. Acceder au terminal MongoDB :

mongo mongodb://localhost:27017/omp 
  1. Executer la commande suivante :
db.users.findAndModify({ query: { username: "admin" }, update: { $set: { admin: "true"} } })

Elle permet de mettre a jour le profil administrateur afin de lui donner ses droits. On peux maintenant quiter la console mongo en executant la commande exit

L'administrateur a maintenant acces au panel admin (Situé dans le menu dropdown). Il va devoir maintenant ajouter differents emplacements a la base de donnée : Emplacement Screen Shot

Ces emplacements seront ensuite selectionnables dans les interfaces de creation de mission et d'attribution des chambres.

Lorsque celle-cies sont ajoutées, la configuration de base peut etre considérée terminée, et l'utilisateur admin n'est plus important pour l'instant.


Utilisation

Après avoir crée un compte utilisateur, l'interface va demander de specifier les informations du missionnaire lié a ce compte.

Il suffit de remplir les informations demandées : Missionnaire Screen Shot

Une fois le compte crée, le profil de l'utilisateur ressemblera à ceci : Profile Screen Shot

L'utilisateur a ici la possibilité de visionner les missions qu'il a planifié, et d'en ajouter de nouvelles : Add Mission Screen Shot

Les missions ajoutées s'affichent ensuite dans le profil de l'utilisateur : Mission List Screen Shot


L'Administrateur a la possibilité de definir une chambre pour les missions : Admin Chambre Screen Shot


Les missions dont les chambres ont étés attribuées sont affichées en vert dans la liste des missions. Mission Valide Screen Shot


Commentaire sur le projet

Bien que je n'ai pas su implementer tout ce que le cahier des charges me demandais d'integrer, je suis vraiment heureux d'avoir reussi à realiser le "peu" present sur le projet, car il a fallu que j'utilise des technologies que je n'avais jamais utilisé jusqu'a present.

Ce projet m'as permis de découvrir de nouvelles façons de developper pour le web, notemment avec l'utilisation d'API REST.

Malheuresement, le retard pris sur le developpement a été monstrueux. En effet, utiliser MongoDB d'un point de vue technique était justifié et plus logique qu'une base SQL standard, mais son principe de fonctionnement est fondamentalement different que celui d'une base de données SQL, et j'ai simplement pris trop de temps pour m'y habituer. D'autre part, certains aspects de mon architecture sont fondamentalement mauvais, notamment le besoin de parser des données depuis les page web, alors que j'aurai pu simplement les stoquers temporairement dans un tableau a l'aide d'un script jquery...

About

Application réalisée dans le cadre de mon stage de fin d'année en seconde année de DUT MMI à l'IUT de Tarbes.

Resources

Stars

Watchers

Forks