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

= Le projet = 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 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 =

Supervisé par : Olivier Richard
 * Rim EL JRAIDI
 * Maxime VERNET
 * Idriss SAJIDE
 * Gabriel MANISSADJIAN

= 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 =

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

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)

- 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
 * Frontend

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

- 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é
 * Frontend

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

- 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
 * Frontend

Semaine du 08/03/2021
- Amélioration des différentes pages - Création des bouttons d'inscription à une sortie, sauvegarde etc.
 * Frontend

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