|
|
Il s'agit d'un projet réalisé par le groupe Bugbusters dans le cadre du cours de Génie logiciel. MaVille est une application construite pour permettre une meilleure gestion des projets de la ville de Montréal. Elle propose trois profils d'utilisateur : le résident, le prestataire et l'agent de la STPM qui a un profil unique non nominatif. L'application propose les fonctionnalités suivantes :
-
Pour le résident :
- Le signalement de problème dans son quartier.
- La possibilité de voir les projets en cours et veux à venir dans la ville de Montréal.
- La possibilité de filtrer les projets par quartier, par type de travaux et par priorité pour une acquisition plus efficace de l'information.
- La possibilité de s'abonner à des quartiers ou des rues particulières de la ville de Montréal.
- La réception en temps réel de notification pour la création ou les mises à jour concernant tout projet impactant les rues ou les quartiers auxquels il est abonné.
-
Pour le prestataire :
- La visualisation des fiches problèmes créées par les agents de la STPM à partir des signalements des résidents.
- La soumission d'une candidature pour une fiche problème.
- Le suivi en temps réel de la décision de l'agent de la STPM par rapport à la candidature.
- L'accès et la visualisation de tous les projets à sa charge.
- La possibilité de modifier ses projets.
- La possibilité de s'abonner à des quartiers ou des types de problèmes pour les signalements des résidents.
- La réception en temps réel de notification pour toute nouvelle fiche problème concernant les type de problèmes et les quartiers auxquels il est abonné.
-
Pour l'agent de la STPM :
- La possibilité de voir en temps réel les signalements des résidents de la ville de Montréal.
- La capacité d'attribuer une priorité à un signalement pour créer ainsi une fiche problème.
- La capacité de lier un signalement à une fiche problème déjà existante.
- La possibilité de voir en temps réel les candidatures des prestataires.
- La possibilité d'accepter une candidature, créant ainsi un nouveau projet.
- La possibilité de refuser une candidature en donnant une raison de refus.
- La réception en temps réel de notifications pour tout nouvea signalement ou toute nouvelle candidature.
README.md-> Ce fichier ;)LICENSE-> Le fichier de License du répertoire (license MIT).docker-compose.yml-> Le fichier Docker pour définir et exécuter les deux conteneurs de l'application..gitignore-> Spécifie quels fichiers git doit ignorer.backend/pom.xml-> La configuration Maven pour le backend Java.backend/Dockerfile-> La configuration su conteneur docker pour le backend.backend/src/main-> Le code pour l'application.backend/src/test-> Le code pour les tests.client/package.json-> La configuration npm pour le client en React.js.client/Dockerfile-> La configuration su conteneur docker pour le client.client/src-> Le code source pour l'interface graphique en React.rapport/-> Le rapport technique du projet.visual_paradigm/-> Tous les fichiers visual paradigm.public-> Le dossier de fichiers statiques pour le README..github/workflows-> Les github actions pour le CI.
- Premièrement, vous devez cloner le répertoire en utilisant git (voir le bouton Code en haut) et ensuite vous déplacer dans le dossier du projet :
git clone https://github.com/IFT-2255/ift2255-ma-ville-bugbusters.git
cd ift2255-ma-ville-bugbusters-
Deuxièmement, précisez l'url de l'api de votre backend
VITE_API_URLdans un fichier.envà l'intérieur deift2255-ma-ville-bugbusters/client. -
Finalement, placez l'url de votre base de données
MONGO_URIet le portPORT(au besoin) dans un fichier.envà l'intérieur deift2255-ma-ville-bugbusters/backend.
NB: Lorsque vous lancerez l'application, pour avoir des informations de base dans la base de données, il vous faudra
décommenter les lignes 54, 55 et 56 du fichier ift2255-ma-ville-bugbusters/backend/src/main/java/ca/udem/maville/server/Server.java.
Ensuite lorsque vous lancerez l'application, la base de données sera remplie une fois avec les informations utilisateurs.
A votre deuxième lancement, veuillez commenter ces trois lignes à nouveau.
Une fois tout cela fait, vous disposez de deux options pour lancer l'application :
-
Démarrer le Docker Desktop.
-
Lancer les conteneurs.
docker-compose up- Une fois le lancement fini, vous pouvez accéder à l'application à l'adresse http://localhost:5173/ . Bonne exploration !
Il est nécessaire d'avoir Maven, Java 21 et Node.js version >=22.12.0 installés sur votre machine. Ci-dessous les instructions pour installer, lancer et tester l'application sans docker. Cela se fait en deux parties :
- Se déplacer dans le dossier backend. Ouvrir le dossier root dans un premier terminal et exécuter :
cd backend- Pour installer et lancer le server backend.
mvn clean package
java -jar target/maVille-3.0-SNAPSHOT-jar-with-dependencies.jarLe serveur démarre alors.
- Se déplacer dans le dossier client. Ouvrir le dossier root dans un deuxième terminal et exécuter :
cd client- Pour installer et lancer l'interface graphique.
npm install
npm run dev- Vous pouvez accéder à l'application à l'adresse http://localhost:5173/ . Bonne exploration !
Il est possible de tester le serveur Java :
- Se déplacer dans le dossier backend. Depuis le terminal dans le dossier root, exécuter :
cd backend- Pour lancer les tests JUnit
mvn test- Cyreanne Candy Andrianefa
Github : cyreanne0
- Zachary Bourgeois
GitHub : zacmatsteal
- Roxanne Cabedoce
Github : cabedocer
- Lallia Diakite
GitHub : Lalllou
- Josué Mongan
GitHub : Josh012006
Ce projet est sous la license MIT.
Les informations par rapport aux images utilisées pour l'interface (client/public) sont :
- back1.jpg - By TheoFbe - Content License pixabay
- resident.png - By IconBaandar - Flaticon
- prestataire.png - By SmashIcons - Flaticon
- stpm.png - By surang - Flaticon
- tab1.png - O.moonstd
- tab2.png - O.moonstd
- profile.png - User icons created by Becris - Flaticon
- notif.png - Notification icons created by Freepik - Flaticon
- candidature.png - Poll icons created by Freepik - Flaticon
- signalement.png - Warning icons created by Smashicons - Flaticon
- signalement1.png - Under construction icons created by Aranagraphics - Flaticon
- probleme.png - Problem icons created by Design View - Flaticon
- projet.png - Construction icons created by Pause08 - Flaticon
- udem.png - https://www.sium.umontreal.ca/impression-couleur.html
- udem_logo.png - https://www.sium.umontreal.ca/impression-couleur.html
- arrow.png - Back arrow icons created by Ilham Fitrotul Hayat - Flaticon
- validate_icon.png - Icons made by meaicon
- close_icon.png - Icons made by Bingge Liu
- new.png - Survey icons created by Flat Icons - Flaticon


