Code de MyCentraleAssos

Le code de MyCentraleAssos est ouvert uniquement à l'équipe travaillant sur l'appli. Ce code est disponible sur la forge de l'école : https://forge.centrale-marseille.fr/projects/plateform-assos/repository

MyCentraleAssos utilise la norme de développement du GInfo avec les technologies suivantes :

  • Framework Symfony 4 avec les modules usuels :
    • Twig pour les templates
    • Doctrine pour l'ORM
    • FOSUserBundle pour la gestion des utilisateurs
    • Webpack Encore pour la gestion des assets (CSS & JS)
  • Des modules un peu moins usuels pour certains besoins spécifiques :

La liste complète ainsi que les versions sont disponibles sur le composer.json du projet.

L'application est conçue pour tourner avec un serveur Apache 2 et un serveur MySQL pour la base de données.

Les technologies utilisées pour le développement sont :

  • Composer pour la gestion de dépendances back (PHP)
  • NPM pour la gestion de dépendances front (Modules JS etc…)

De plus diverses libraries sont utilisées en front :

La liste complète ainsi que les versions sont disponibles sur le package.json du projet.

Le schéma relationnel de MyCA peut être résumé par le diagramme UML suivant :

Le schéma est correct à quelques champs près pour quelques entités.

Utilisateurs

Détail

Associations

Détail

Cotisations

Détails

les controllers sont répartis suivant une logique fonctionnelle dans divers dossiers :

  • /src/Controller/Admin/ Les controllers servant à l'administration de la plateforme
    • AdminController.php : Stats administrateurs, quelques fonctions comme l'envoi de mails de relance
  • /src/Controller/API/ Tous les controllers relatifs à l'API.
    • AssosController.php Récupération d'informations sur les associations, les rôles. Les cotisations font l'objet de leur propre controller.
    • CardController.php Recherche sur les UID de cartes
    • CotisationController.php Récupération des données de cotisation d'une association.
    • UserController.php Récupération de données sur l'utilisateur courant. (Infos de base, rôles et cotisations en cours)
    • UsersController.php Récupération de données sur les utilisateurs du site en général. (Liste)
  • /src/Controller/Association/ Gestion de toutes les actions relatives à la gestion associative, annuaire des associations.
    • AssoAdminController.php Gestion des rôles dans une association
    • AssociationController.php Gestion d'une association en général, page de description de celle-ci
    • CotisationController.php Gestion de toutes les actions relatives aux cotisations, tant du coté asso que du coté user (bulletins)
  • /src/Controller/User/ Gestion des actions relatives aux utilisateurs, éditions de profil, annuaire, cartes NFC.
  • /src/Controller/IndexController.php Page d'accueil du site pour les non connectés.
  • projets/mca/code.txt
  • Dernière modification: 11/05/2019 13:32
  • par rgrondin