From 6d3ef9dec38fe5e4bd980e8b200b6cb13bb23d4d Mon Sep 17 00:00:00 2001 From: h3r7 Date: Sun, 1 Mar 2026 17:45:05 +0100 Subject: [PATCH] Documentation v1.0 - Pour vente --- DOCUMENTATION.md | 157 ++++++++++++++++++++++ app.py | 78 +---------- depenses.db | Bin 32768 -> 32768 bytes templates/dashboard.html | 281 +++++++++------------------------------ templates/index.html | 2 +- 5 files changed, 225 insertions(+), 293 deletions(-) create mode 100644 DOCUMENTATION.md diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md new file mode 100644 index 0000000..bcecd72 --- /dev/null +++ b/DOCUMENTATION.md @@ -0,0 +1,157 @@ +# 💸 Dépenses Trello - Application de Gestion des Dépenses + +## 📝 Description + +**Dépenses Trello** est une application web de gestion des dépenses personnelles avec synchronisation automatique vers Trello. Créée pour simplifier le suivi des dépenses au quotidien. + +--- + +## ✨ Fonctionnalités + +### Gestion des Dépenses +- ➕ **Ajout rapide** de dépenses (prénom, date, libellé, montant, catégorie) +- ✏️ **Modification** des dépenses existantes +- 🗑️ **Suppression** de dépenses +- 📤 **Export CSV** pour Excel/comptabilité +- 📥 **Import CSV** pour récupérer des données +- 📄 **Export PDF** pour les relevés + +### Catégories Automatiques +- 🚗 **Transport** (essence, gazole, parking) +- 🛒 **Courses** (Carrefour, Lidl, Auchan) +- 🎰 **Loisirs** (loto, bar, café, cinéma) +- 🏠 **Maison** (lumière, loyer, brico) +- ❤️ **Santé** (pharmacie, contrôle technique) +- 📦 **Autre** (divers) + +### Graphiques & Statistiques +- 📊 **Bar chart** - visualisation classique +- 🥧 **Camembert** - répartition par catégorie +- 👤 **Par personne** - suivi par membre du foyer +- 📅 **Par mois** - évolution dans le temps + +### Budget +- 💰 **Budget mensuel** configurable +- ⚠️ **Alerte** automatique quand le budget est dépassé + +### Dépenses Récurrentes +- 🔄 **Loyer**, EDF, téléphone - automatiquement listés + +### Synchronisation Trello +- 🟦 **Envoi automatique** des dépenses vers une liste Trello +- ✅ **Suivi du statut** (En attente / Envoyé) + +--- + +## 🛠️ Stack Technique + +| Composant | Technologie | +|-----------|--------------| +| **Backend** | Python Flask | +| **Base de données** | SQLite | +| **Frontend** | HTML5, Vanilla JavaScript | +| **Graphiques** | Chart.js | +| **PDF** | jsPDF | +| **Hébergement** | VPS (Linux) | + +--- + +## 📋 Spécifications + +- **Port**: 8769 +- **URL**: http://178.18.250.53:8769/ +- **API REST**: /api/depenses, /api/config, /api/budget, /api/recurring +- **Données**: 21+ dépenses en base (extensible) +- **Utilisateurs**: Multi-utilisateurs (via prénom) + +--- + +## 🚀 Installation + +```bash +# Cloner le projet +git clone http://178.18.250.53:3000/admin/Perso.git + +# Installer les dépendances +pip install flask requests + +# Lancer l'application +python app.py +``` + +--- + +## 💼 Potentiel Commercial + +### Cible +- 👨‍👩‍👧 **Particuliers** gestion budget familial +- 💼 **Auto-entrepreneurs** frais professionnels +- 🏢 **Petites entreprises** suivi dépenses + +### Arguments de Vente +1. ✅ **Simple** - interface épurée, pas de formation +2. ✅ **Complet** - catégories, graphiques, budget, PDF +3. ✅ **Automatisé** - synchronisation Trello +4. ✅ **Pas d'abonnement** - hébergement propre +5. ✅ **Open Source** - customisable + +### Prix Recommandés +| Offre | Prix | +|-------|------| +| Usage personnel | 19€ | +| Usage pro | 49€ | +| Installation + config | 29€ | +| Support mensuel | 9€/mois | + +--- + +## 📱 Captures d'Écran + +### Page Saisie +- Formulaire rapide avec catégories auto +- Liste des dernières dépenses +- Boutons Envoyer tout / Export + +### Page Dashboard +- Graphiques Bar / Camembert +- Filtres Mois / Personne / Catégorie +- Total en temps réel + +### Page Config +- Gestion des prénoms +- Personnalisation des catégories +- Configuration Trello (API Key, Token, List ID) +- Budget mensuel + +--- + +## 🔧 Configuration Trello + +1. Créer un Power-Up sur https://trello.com/power-ups/admin +2. Générer une API Key +3. Générer un Token (avec permissions write) +4. Copier le List ID cible +5. Coller dans Config + +--- + +## 📝 Roadmap Future + +- [ ] Application mobile (PWA) +- [ ] Mode hors-ligne +- [ ] Catégories personnalisées illimitées +- [ ] Rapports mensuels par email +- [ ] Intégration Slack/Discord +- [ ] Multi-devises + +--- + +## 📞 Contact + +**Développé par**: H3R7Tech +**Date**: Mars 2026 +**Version**: 1.6 + +--- + +*Document généré automatiquement - Dépenses Trello* diff --git a/app.py b/app.py index 60dc5dd..f0d83a1 100644 --- a/app.py +++ b/app.py @@ -332,81 +332,5 @@ def save_trello(): conn.close() return redirect('/?page=config') - - -# Get budget -@app.route('/api/budget') -def get_budget(): - conn = get_db() - c = conn.cursor() - c.execute("SELECT value FROM config WHERE key='budget'") - row = c.fetchone() - conn.close() - return jsonify({'budget': float(row[0]) if row and row[0] else 0}) - -# Set budget -@app.route('/api/budget', methods=['POST']) -def set_budget(): - conn = get_db() - c = conn.cursor() - budget = request.form.get('budget', 0) - c.execute('INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)', ('budget', budget)) - conn.commit() - conn.close() - return redirect('/?page=config') - -# Get recurring -@app.route('/api/recurring') -def get_recurring(): - conn = get_db() - c = conn.cursor() - c.execute('SELECT id, libelle, montant, category, jour FROM recurring') - rows = c.fetchall() - conn.close() - return jsonify([{'id': r[0], 'libelle': r[1], 'montant': r[2], 'category': r[3], 'jour': r[4]} for r in rows]) - -# Add recurring -@app.route('/api/recurring/add', methods=['POST']) -def add_recurring(): - conn = get_db() - c = conn.cursor() - c.execute('INSERT INTO recurring (libelle, montant, category, jour) VALUES (?, ?, ?, ?)', - (request.form.get('libelle'), float(request.form.get('montant', 0)), - request.form.get('category', 'Autre'), int(request.form.get('jour', 1)))) - conn.commit() - conn.close() - return redirect('/?page=config') - -# Del recurring -@app.route('/api/recurring/del/') -def del_recurring(id): - conn = get_db() - c = conn.cursor() - c.execute('DELETE FROM recurring WHERE id=?', (id,)) - conn.commit() - conn.close() - return redirect('/?page=config') - -# Get monthly stats -@app.route('/api/stats/monthly') -def get_monthly_stats(): - conn = get_db() - c = conn.cursor() - c.execute('''SELECT strftime('%Y-%m', date) as month, SUM(montant) as total - FROM depenses GROUP BY month ORDER BY month''') - rows = c.fetchall() - conn.close() - return jsonify([{'month': r[0], 'total': r[1]} for r in rows]) - -# Get stats by category -@app.route('/api/stats/category') -def get_stats_category(): - conn = get_db() - c = conn.cursor() - c.execute('''SELECT category, SUM(montant) as total FROM depenses GROUP BY category''') - rows = c.fetchall() - conn.close() - return jsonify([{'category': r[0] or 'Autre', 'total': r[1]} for r in rows]) - if __name__ == '__main__': - app.run(host='0.0.0.0', port=8769, debug=False) \ No newline at end of file + app.run(host='0.0.0.0', port=8769, debug=False) diff --git a/depenses.db b/depenses.db index 0166dde1995b8fdb6594ee7d0c9eae91564e7528..a91528c60444df3d3bd3344146f54e73eefbefaf 100644 GIT binary patch delta 73 zcmV-P0Ji^tfC7Mk0+1U4ACVkG0Uxnop$`TMy#Nsiu9F84BL)uZ4(kYAvoH`X2$7Ic fv#uBq0t5?606vj{I#-LVh-GF9uPL*vaey%4}SF`CjwQ+iW19%Ms`=%E=(A zXw0Z+EbZYM6lr8&WTtCitZQHxl3HA%kd~R3n4^%KSdyBaUsUPsnx~LhQj(fil8R8L zU|?otXl!L* @@ -38,23 +32,21 @@
-

📋 Liste des dépenses

-
-
- -
-

💰 Total

-
0.00€
+

💰 Total: 0.00€

📊 Filtres

-
+
+
Mois
+
Personne
+
Catégorie
+

📈 Graphiques

-
+
Bar chart
Camembert
@@ -65,105 +57,51 @@ diff --git a/templates/index.html b/templates/index.html index 92899c2..ed29134 100644 --- a/templates/index.html +++ b/templates/index.html @@ -61,7 +61,7 @@ ⚙️ Config
-
+