Difference between revisions of "PROJET-INFO5 2021 Réseaux social d'organisation de sortie"

From air
Jump to navigation Jump to search
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Le projet =
 
= Le projet =
 
Développer une application de proposition de sorties / activités sociales comme
 
Développer une application de proposition de sorties / activités sociales comme
[https://fr.wikipedia.org/wiki/On_va_sortir_! OVS] et https://frimake.com/ entièrement open source.
+
[https://fr.wikipedia.org/wiki/On_va_sortir_! OVS] et https://frimake.com/ entièrement open source et où l'utilisateur pourra :
  +
  +
* Créer son compte et se connecter
  +
* Organiser des sorties
  +
* Rencontrer de nouvelles personnes
  +
* Créer des groupes de personnes déjà rencontrées ou ayant les mêmes centres d'intérêt
  +
* Commenter les différentes sorties
   
 
= L'équipe =
 
= L'équipe =
Line 10: Line 16:
 
* Gabriel MANISSADJIAN
 
* Gabriel MANISSADJIAN
 
Supervisé par : Olivier Richard
 
Supervisé par : Olivier Richard
  +
  +
= Les sprints =
  +
  +
=== Installations ===
  +
  +
* Installation des différentes technologies et mise en place de l'environnement
  +
  +
=== Design ===
  +
  +
* Réalisation de users stories, persona, ihm abstraite et maquette
  +
  +
=== Sprint 1 ===
  +
  +
* Mise en place d'un système de connexion/inscription fonctionnel a 100 % pour permettre a un utilisateur lambda de se créer un compte, ainsi que les fonctionnalités de base de l’application, créer/éditer/rejoindre une sortie. L’historique de sortie n’est pas dans l’esprit de cette première version minimale.
  +
  +
* Inscription + mail de vérification
  +
* Connexion
  +
* Changement de mot de passe
  +
* Édition profil
  +
* Rechercher des sorties
  +
* S’inscrire à une sortie
  +
* Créer une sortie + éditer les infos de la sortie
  +
* Consulter sa liste de sortie
  +
* Consulter des informations plus détaillées sur la sortie que l’on a créé
  +
  +
=== Sprint 2 ===
  +
  +
* Ajouter le patch des groupes avec toutes les fonctionnalités que ça apporte et rajouter un bonus de qualité de vie sur ce qui existait déjà, c.a.d consulter l’historique des sorties
  +
  +
* Créer un groupe
  +
* Rechercher des groupes + demander l’adhésion
  +
* Consulter ses groupes
  +
* Accepter / refuser un membre dans le groupe que l’on a créé
  +
* Accepter / refuser un membre dans la sortie que l’on a créé
  +
* Consulter l’historique des sorties auxquelles on a participé
  +
* Laisser un commentaire sur une sortie
  +
  +
=== Sprint 3 ===
  +
  +
* Ajouter de la qualité de vie utilisateur avec les commentaires (+ potentiellement ce qu’on aura pas pu finir du sprint 2) et créer l’utilisateur administrateur (modération d'utilisateurs et de commentaires)
  +
  +
* Laisser un commentaire sur le profil d’un utilisateurs
  +
* Utilisateur administrateur
  +
* Admin : consulter la liste des utilisateurs mal notés
  +
* Admin : consulter la liste des utilisateurs
  +
* Admin : bannir un utilisateur
  +
* Admin : supprimer un commentaire
   
 
= Journal =
 
= Journal =
Line 27: Line 80:
   
 
* Création du serveur Discord
 
* Création du serveur Discord
 
 
   
 
* Étude des technologies
 
* Étude des technologies
Line 34: Line 85:
 
- Backend
 
- Backend
 
Python 3
 
Python 3
Poetry
 
 
Flask
 
Flask
Sqlachemy :
+
Sqlachemy
 
Sqlite | postgresql
 
Sqlite | postgresql
 
Pytest
 
Pytest
Flake8 and black
+
Flask-Marshmallow
   
 
- Frontend
 
- Frontend
 
Architecture SPA
 
Architecture SPA
Elm
 
 
Vue.js
 
Vue.js
   
Line 66: Line 115:
 
* Design
 
* Design
   
=== Du 12/02/2021 au Du 16/02/2021 ===
+
=== Du 12/02/2021 au 16/02/2021 ===
 
* Réalisation de user stories
 
* Réalisation de user stories
   
Line 112: Line 161:
 
- Problème d'actualisation de pages réglé
 
- Problème d'actualisation de pages réglé
   
=== Semaine du 29/02/2021 ===
+
=== Semaine du 01/03/2021 ===
  +
* Réalisation du poster
 
* Backend
 
* Backend
   
Line 124: Line 174:
 
- Création des espaces commentaire et d'une banque d'image pour les sorties
 
- Création des espaces commentaire et d'une banque d'image pour les sorties
 
- Amélioration de la page d'accueil d'un utilisateur
 
- Amélioration de la page d'accueil d'un utilisateur
  +
  +
=== Semaine du 08/03/2021 ===
  +
  +
* Frontend
  +
  +
- Amélioration des différentes pages
  +
- Création des bouttons d'inscription à une sortie, sauvegarde etc.
   
 
== Sprint 2 ==
 
== Sprint 2 ==
=== 17/02/2021 ===
+
=== 08/03/2021 ===
  +
* Backend
  +
  +
- Création de la class groupe et de la class demande
  +
- Ajout des fonctionnalités : Invitations à un groupe (possibilité d'accepter ou de refuser)
  +
- Affichage des groupes et des informations sur un groupe, suppression et modification
  +
- Accès à aux membres des groupes
  +
- Possibilité d’organiser une sortie par groupe
  +
- Possibilité de rechercher un groupe
  +
  +
* Frontend
  +
  +
- Création d'une page affichant tous les groupes
  +
  +
=== 15/03/2021 ===
  +
* Documentation + préparation de la soutenance finale
  +
* Backend
  +
  +
- Problème d'utilisateur connecté : requêtes non accessibles via le front --> Problème d'autorisation
  +
- Mise en place de tests côté back
  +
- Nettoyage du code
  +
- Dernières vérifications
  +
- Création de fakes data pour la soutenance finale
  +
  +
* Frontend
  +
  +
-
   
 
= Liens =
 
= Liens =
  +
  +
[https://air.imag.fr/index.php/R%C3%A9seaux_social_d%27organisation_de_sortie Présentation du projet]
  +
  +
'''GitHub :''' [https://github.com/2020-2021-PROJET-INFO5-G11 Git]
  +
  +
'''Documentation Flask :''' [https://flask.palletsprojects.com/en/1.1.x/ Flask]
  +
  +
'''Documentation SqlAlchemy:''' [https://docs.sqlalchemy.org/en/14/ SqlAlchemy]
  +
  +
'''Documentation Pytest:''' [https://docs.pytest.org/en/stable/contents.html Pytest]
  +
  +
'''Documentation VueJS :''' [https://fr.vuejs.org/v2/guide/ VueJS]

Latest revision as of 17:28, 17 March 2021

Le projet

Développer une application de proposition de sorties / activités sociales comme OVS et https://frimake.com/ entièrement open source et où l'utilisateur pourra :

  • Créer son compte et se connecter
  • Organiser des sorties
  • Rencontrer de nouvelles personnes
  • Créer des groupes de personnes déjà rencontrées ou ayant les mêmes centres d'intérêt
  • Commenter les différentes sorties

L'équipe

  • Rim EL JRAIDI
  • Maxime VERNET
  • Idriss SAJIDE
  • Gabriel MANISSADJIAN

Supervisé par : Olivier Richard

Les sprints

Installations

  • Installation des différentes technologies et mise en place de l'environnement

Design

  • Réalisation de users stories, persona, ihm abstraite et maquette

Sprint 1

  • Mise en place d'un système de connexion/inscription fonctionnel a 100 % pour permettre a un utilisateur lambda de se créer un compte, ainsi que les fonctionnalités de base de l’application, créer/éditer/rejoindre une sortie. L’historique de sortie n’est pas dans l’esprit de cette première version minimale.
  * Inscription + mail de vérification
  * Connexion
  * Changement de mot de passe
  * Édition profil
  * Rechercher des sorties
  * S’inscrire à une sortie
  * Créer une sortie + éditer les infos de la sortie
  * Consulter sa liste de sortie
  * Consulter des informations plus détaillées sur la sortie que l’on a créé

Sprint 2

  • Ajouter le patch des groupes avec toutes les fonctionnalités que ça apporte et rajouter un bonus de qualité de vie sur ce qui existait déjà, c.a.d consulter l’historique des sorties
  * Créer un groupe
  * Rechercher des groupes + demander l’adhésion
  * Consulter ses groupes
  * Accepter / refuser un membre dans le groupe que l’on a créé
  * Accepter / refuser un membre dans la sortie que l’on a créé
  * Consulter l’historique des sorties auxquelles on a participé
  * Laisser un commentaire sur une sortie

Sprint 3

  • Ajouter de la qualité de vie utilisateur avec les commentaires (+ potentiellement ce qu’on aura pas pu finir du sprint 2) et créer l’utilisateur administrateur (modération d'utilisateurs et de commentaires)
  * Laisser un commentaire sur le profil d’un utilisateurs
  * Utilisateur administrateur
  * Admin : consulter la liste des utilisateurs mal notés
  * Admin : consulter la liste des utilisateurs
  * Admin : bannir un utilisateur
  * Admin : supprimer un commentaire

Journal

Pré-étude et design

05/02/2021

  • Attribution des rôles
   Rim : Product Owner + Backend + Integration tests
   Maxime : Scrum Master + Frontend
   Idriss : Frontend
   Gabriel : Backend
  • Création du git
- Création des différents repo : App, Docs and Sandbox
- Création du Logbook
  • Création du serveur Discord
  • Étude des technologies
  - Backend
       Python 3
       Flask
       Sqlachemy
       Sqlite | postgresql
       Pytest
       Flask-Marshmallow
  - Frontend
       Architecture SPA
       Vue.js

10/02/2021

  • Rendez-vous client
   Rendez-vous client pour discuter de ce qui est demandé et attendu comme produit final.
  • Daily meeting pour déterminer les différentes tasks du sprint 0 : Conception et design
   User stories
   Choix des entités
   Fonctionnalités
   IHM Abstraite
   Maquette de l'application

11/02/2021

  • Création de la base de données avec Flask (1ère version)
   1ère version de notre base de données contenant la table de users
  • Design

Du 12/02/2021 au 16/02/2021

  • Réalisation de user stories
   Création de 5 users stories couvrant un maximum de fonctionnalités.
  • Création du diagramme JDL
   Création d'un diagramme JDL afin d'avoir une idée des différentes entités nécessaires.
  • Réalisation de l'IHM abstraite
   Réalisation de l'IHM abstraite de notre application.
  • Réalisation de la maquette
   Réalisation d'une maquette de notre application.

16/02/2021

  • Création du logo et choix d'un nom provisoire pour l'application

Sprint 1

Semaine du 15/02/2021

  • Backend
 - Modification de la structure du code et mise en place du nouvelle base de données + API
 - Création de la class Sortie et requêtes associées (Création sortie, récupération de toutes les sorties, modification, suppression)
  • Frontend
 - Création des pages d'accueil, sorties, infos sortie, d'inscription et de connexion
 - Affichage d'une liste de sorties dans la page d'accueil
 - Création de footer, header et navbar

Semaine du 22/02/2021

  • Backend
 - Création de la class User et requêtes associées (Création user, récupération de tous les users, modification, suppression)
 - Authentification du user et gestion des fonctionnalités liées au user connecté
 - Ajout des fonctionnalités : rechercher une sortie (pour searchbar) et filtrer par catégorie 
  • Frontend
 - Création des pages de création de sortie, modification de sortie
 - Intégration d'une searchbar, affichage des sorties et création d'un boutton pour filtrer par catégorie
 - Problème d'actualisation de pages réglé

Semaine du 01/03/2021

  • Réalisation du poster
  • Backend
 - Modification de la class user pour avoir accès à l'historique des sorties et aux sorties à venir
 - Ajout des fonctionnalités : s'inscrire à une sortie, switch l'état d'une sortie (à venir, finie)
 - Premier essai de mail service
  • Frontend
 - Création des pages profil d'utilisateur, de modification de profil
 - Création des espaces commentaire et d'une banque d'image pour les sorties
 - Amélioration de la page d'accueil d'un utilisateur

Semaine du 08/03/2021

  • Frontend
 - Amélioration des différentes pages
 - Création des bouttons d'inscription à une sortie, sauvegarde etc.

Sprint 2

08/03/2021

  • Backend
 - Création de la class groupe et de la class demande
 - Ajout des fonctionnalités : Invitations à un groupe (possibilité d'accepter ou de refuser)
 - Affichage des groupes et des informations sur un groupe, suppression et modification
 - Accès à aux membres des groupes
 - Possibilité d’organiser une sortie par groupe
 - Possibilité de rechercher un groupe
  • Frontend
 - Création d'une page affichant tous les groupes

15/03/2021

  • Documentation + préparation de la soutenance finale
  • Backend
 - Problème d'utilisateur connecté : requêtes non accessibles via le front --> Problème d'autorisation
 - Mise en place de tests côté back
 - Nettoyage du code
 - Dernières vérifications
 - Création de fakes data pour la soutenance finale
  • Frontend
 -

Liens

Présentation du projet

GitHub : Git

Documentation Flask : Flask

Documentation SqlAlchemy: SqlAlchemy

Documentation Pytest: Pytest

Documentation VueJS : VueJS