Introduction au projet
Présentation du projet fil rouge du module Symfony : une application de gestion de portefeuilles partagés, ses fonctionnalités et sa modélisation de données.
Cette fiche sert d'introduction et de référence pour le projet Symfony que nous allons réaliser tout au long du module. Vous y trouverez la description du projet, les fonctionnalités attendues et la modélisation des données.
Astuce
Vous devriez la garder consultable rapidement : la plupart des ateliers y feront référence.
À savoir
La mise en place de l'environnement (Docker, PHPStorm, base de données) est décrite dans la fiche Mise en place de l'environnement. Préparez votre environnement avant d'attaquer les ateliers.
Le projet
Description
Le but de ce projet est de reproduire une version minimaliste d'une application de gestion de portefeuille partagé comme Tricount.
À savoir
Tricount est une application mobile et web conçue pour simplifier la gestion des dépenses partagées entre plusieurs personnes, que ce soit lors d'un voyage, d'une colocation, d'un dîner entre amis ou de toute autre activité collective.
Son principe est très simple : chaque participant enregistre ses dépenses dans l'application, en précisant qui a payé, pour qui, et le montant exact. Tricount calcule ensuite automatiquement les dettes et les créances de chacun, afin que tout le monde puisse voir en un clin d'œil qui doit combien à qui.
L'objectif est d'éviter les calculs fastidieux et les malentendus, en centralisant toutes les informations et en proposant un solde clair et actualisé en temps réel.
Nous allons donc créer une application qui reprend ces fonctionnalités de base.
Fonctionnalités
Voici les fonctionnalités que nous allons implémenter dans cette application :
- Gestion des utilisateurs (inscription, connexion, déconnexion)
- Création, modification et suppression de portefeuilles partagés
- Ajout et suppression de participants à un portefeuille
- Ajout et suppression de dépenses dans un portefeuille
- Calcul des soldes entre les participants
- Affichage des portefeuilles et des dépenses avec pagination
D'autres fonctionnalités plus avancées pourront être ajoutées si le temps le permet.
Modélisation des données
Voici la modélisation des données que nous allons utiliser pour ce projet :
Des ressources utiles sur Symfony
- Documentation officielle de Symfony : une ressource précieuse pour comprendre les concepts, les composants et les bonnes pratiques.
- SymfonyCasts : des tutoriels vidéo pour apprendre Symfony de manière interactive.
- Symfony — The Fast Track : un guide pratique pour apprendre Symfony rapidement.
- Stack Overflow : une communauté active où poser des questions et trouver des réponses sur Symfony.