Work

Clone Tricount

Design
Dev
App
SAE

Un app web

Pearls of silky soft white cotton, bubble up under vibrant lighting

Cette application web réinvente l’idée de Tricount : elle facilite la gestion collective des dépenses entre amis, familles ou colocataires lors d’événements.
Elle est développée en PHP avec une base de données MySQL et une interface responsive basée sur Bulma.

L’objectif ?
Simplifier la création d’événements, l’ajout de membres, la saisie des dépenses partagées et le calcul des remboursements.
Le tout dans une optique d’apprentissage des bonnes pratiques : sécurité, qualité logicielle, normalisation de base de données, virtualisation avec Docker.


🚩 Fonctionnalités principales déjà en place
  • Gestion des comptes utilisateurs : inscription, connexion, mise à jour, suppression.
  • Événements : création, édition, suppression (CRUD), gestion fine des membres invités ou éjectés.
  • Dépenses partagées : saisie d’un montant, désignation d’un payeur et des participants, répartition automatique.
  • Visualisation d’événements via un code secret partagé, même sans connexion.
Gestion des droits
  • Propriétaire : gestion complète (membres, édition, suppression).
  • Membres : gestion de leur participation et des dépenses.
  • Sécurité : accès partagé en lecture seule, mot de passe oublié, contraintes sur les champs des formulaires.

🟡 Travaux en cours & Améliorations prévues
  • Refonte du calcul des dettes : algorithme optimisé pour réduire le nombre de transactions nécessaires (remboursements croisés intelligemment).
  • Dynamisation de l’interface (JavaScript, AJAX) : actions instantanées sans rechargement de page (ajout/retrait de membres, modification des dépenses…).
  • API REST (JWT) : pour connecter le frontend dynamique et activer l’auto-complétion, la validation en temps réel (login, e-mail, membres à inviter…).
Refonte technique

diagrammeV1

  • Architecture en couches (services, modèles, routes, vues Twig…).
  • Normalisation complète du schéma de base de données.
  • Couverture de test unitaire sur la logique métier (PHPUnit).
  • Isolation parfaite via containers Docker (application + base de données).
  • Utilisation d’une API externe pour la conversion des montants lors d’une dépense dans une devise étrangère.

📈 Technologies & outils
  • Backend : PHP, architecture MVC, tests avec PHPUnit
  • Frontend : Bulma, HTML, CSS, JS, Ionicons
  • Base de données : MySQL/MariaDB, modélisation normalisée
  • Docker : virtualisation de l’environnement de développement et déploiement reproductible
  • API REST, JWT (prochainement : AJAX interactif)

📝 Statut du projet

L’application est fonctionnelle dans ses bases mais en pleine évolution vers :

  • plus d’ergonomie,
  • meilleure sécurité,
  • code et base de données refactorisés pour la qualité et la maintenabilité,
  • automatisation et déploiement facilité via Docker.

🎨 Extrait d’interface (provisoire)

inscription