Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Cagnotte — Gestionnaire de dépenses partagées

Application web et CLI pour gérer des cagnottes et calculer automatiquement les remboursements entre participants.

Fonctionnalités

  • Créer et gérer plusieurs cagnottes
  • Enregistrer les dépenses par participant
  • Calcul automatique de qui doit quoi à qui
  • Interface web avec authentification (HTTP Basic)
  • API REST documentée avec OpenAPI (Bearer token)
  • Interface en ligne de commande (CLI)

Installation

Prérequis : Python 3.12+ et uv

git clone https://github.com/DuckyHe/Cagnotte.git
cd Cagnotte
uv sync

Utilisation

Interface web

uv run archilog-web

Ouvre http://localhost:5000 dans ton navigateur.
L'authentification HTTP Basic est requise (configurée via les variables d'environnement).

La documentation de l'API REST est disponible sur http://localhost:5000/apidoc.

CLI

uv run archilog --help

Cagnottes

# Créer une cagnotte
uv run archilog cagnotte creer --nom "Vacances été"

# Lister les cagnottes
uv run archilog cagnotte lister

# Supprimer une cagnotte
uv run archilog cagnotte supprimer <cagnotte_id>

Dépenses

# Ajouter une dépense
uv run archilog depense ajouter --cagnotte-id <id> --participant Alice --montant 45.00

# Lister les dépenses d'une cagnotte
uv run archilog depense lister --cagnotte-id <id>

# Supprimer une dépense
uv run archilog depense supprimer <depense_id>

Remboursements

# Voir qui doit quoi à qui
uv run archilog remboursements --cagnotte-id <id>

Exemple de sortie :

Remboursements à effectuer :
  Bob doit 15.00€ à Alice
  Charlie doit 7.50€ à Alice

API REST

Toutes les routes nécessitent un token Bearer (Authorization: Bearer <token>).
Les routes de création/suppression de cagnotte sont réservées au rôle admin.

Méthode Route Description
GET /cagnottes Lister toutes les cagnottes
POST /cagnottes Créer une cagnotte
DELETE /cagnottes/<id> Supprimer une cagnotte
GET /cagnottes/<id>/depenses Lister les dépenses
POST /cagnottes/<id>/depenses Ajouter une dépense
DELETE /depenses/<id> Supprimer une dépense
GET /cagnottes/<id>/remboursements Calculer les remboursements

Stack technique

Outil Rôle
Flask Serveur web
Click Interface CLI
SQLAlchemy ORM / base de données
Pydantic Validation des données API
SpecTree Documentation OpenAPI
Flask-WTF Formulaires web
Flask-HTTPAuth Authentification

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages