Adrien Gras
Ateliers

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

Sur cette page