PROJET-INFO5 2021 Réseaux social d'organisation de sortie

From air
Jump to navigation Jump to search

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