Skip to content
This repository was archived by the owner on Nov 26, 2024. It is now read-only.

Conception

rossmat edited this page Dec 18, 2014 · 22 revisions

Conception

1. Cahier des charges

Le but du projet EventCal est de proposer un calendrier publique d'événements annoncés par des sociétés. Le calendrier liste les événements futurs, regroupés par mois. Les événements sont publiés dans des catégories, qui permet une identification rapide par code couleur (par exemple, fête de village).

Les visiteurs du site ont accès au calendrier des événements, à la liste des sociétés inscrites ainsi qu'aux détails de chaque société (par exemple, description ou site web de la société).

Les sociétés qui souhaitent publier leurs événements doivent préalablement s'inscrire. Les inscriptions sont validées par un administrateur, pour éviter les abus.

2. Fonctionnalités

Le projet est développé avec le Framework PHP Laravel. Le Framework Javascript jQuery est utilisé pour les parties dynamiques, avec différents plugins si nécessaire. La partie design est réalisée avec le Framework CSS Bootstrap.

Visiteur

  • Regarder le calendrier des évènements

  • Voir la liste des sociétés, ainsi que le détail de chaque société

  • Inscription en tant que société

Membre

  • Autentification

  • Gérer ses évènements

  • Publier un évènement dans une catégorie

  • Mettre à jour un évènement

  • Suprimer un évènement

  • Gérer son compte

  • Voir son profil

  • Modifier ses informations

Administrateur

  • Gérer les comptes des utilisateurs

  • Activer un compte

  • Editer un compte

  • Supprimer un compte

  • Gérer les évènements des utilisateurs

  • Créer un événement pour une société

  • Modifier un événement

  • Supprimer un événement

  • Gérer les catégories des évènements

  • Créer/éditer une catégorie

  • Supprimer une catégorie si elle n'est pas "utilisée" pour un événement

3. Use Case

4. Maquettes

  • Maquette du calendrier

  • Maquette de la page des liste des entreprises

  • Maquette de la modification des comptes d'utilisateurs

  • Maquette de la page d'administration

5. Modèle BDD

Modèle de la base de données, version implémentée: Les tables users et societies, bien que liée à un même compte, sont séparées car ce sont 2 entités métiers différentes. Deux niveaux d'utilisateurs coexistent: utilisateur et administrateur (flag is admin). Un utilisateur qui s'inscrit au site possède obligatoirement une société, mais un administrateur généré par le site n'en aura pas. Un utilisateur peut être inactif, par exemple avant la validation d'une inscription.

Une société doit spécifier différentes informations à son propos, par exemple son nom et sa localité. Lorsqu'elle organise un événement, elle spécifie le nom, la description, la date, l'heure et le lieu de l'événement. Un événement a lieu à une date/heure déterminée. Pour finir, un événement est rattaché à une catégorie particulière.

Modèle de la base de données, version non implémentée, gérant plusieurs dates d'événements Dans ce modèle, un événement pourrait avoir lieu à plusieurs dates différentes, par exemple 3 jours de suite (3 dates), ou 2 jours à une semaine d'intervalle. Ce modèle n'a pas été implémenté mais est envisageable dans une version future.

6. URLs, routes et contrôleurs

Les routes identifiées pour l'application sont:

Route Sous-route Description Type
/ et /index redirige vers /event Route
/event gestion du calendrier et événements Route et contrôleur
/ et /index affiche le calendrier
/id voir les détails d'un événement
/create créer un événement
/id/edit modifier un événement
/id/destroy supprimer un événement
/societies listing des sociétés Route et contrôleur
/ et /index affiche la liste des sociétés
/id affiche les détails d'une société
/about à propos du site & contact de l'administration du site Route et contrôleur
/register créer un compte Route et contrôleur
/connect et /disconnect authentification Route et contrôleur
/profile mise à jour des informations de l'utilisateur connecté Route et contrôleur
/admin administration Route et contrôleurs
/users gestion des comptes
/categories gestion des catégories

7. Responsabilités

Les tâche ont été distribuées de manière à pouvoir chacun avancer simultanément.

Tâche Collaborateurs
Migrations et seed: créations des tables et données Andy, Mathieu, Stéphane
Session et utilisateur: connexion/déconnexion/mot de passe perdu Mathieu
Inscription Stéphane
Envoi d'emails d'activation / de désactivation (utilisateur) Stéphane
Listes des sociétés, détails des sociétés et leurs événements Andy
Calendrier et événements Andy, Mathieu
Administration utilisateurs Mathieu
Administration catégories Stéphane
Intégration du design bootstrap et scripts externes Mathieu

Clone this wiki locally