Une application web de gestion des dépenses personnelles développée avec Django, permettant aux utilisateurs de suivre et gérer leurs dépenses quotidiennes de manière efficace.
- 👤 Système d'authentification complet (inscription, connexion, déconnexion)
- 💰 Ajout et gestion des dépenses
- 📊 Historique des dépenses
- 👤 Gestion de profil utilisateur
- 📱 Interface responsive et moderne
- 🔒 Sécurité des données utilisateur
- Django 5.0 - Framework web Python
- Bootstrap - Framework CSS pour le design responsive
- Crispy Forms - Pour des formulaires Django élégants
- SQLite - Base de données par défaut
- Pillow - Traitement d'images pour les photos de profil
- Python 3.x
- pip (gestionnaire de paquets Python)
- Environnement virtuel (recommandé)
- Clonez le dépôt :
git clone https://github.com/Steventog/Expense-manager.git
cd Gestion_depenses- Créez et activez un environnement virtuel :
python -m venv venv
venv\Scripts\activate # Windows- Installez les dépendances :
pip install -r requirements.txt- Effectuez les migrations :
python manage.py migrate- Créez un super utilisateur (optionnel) :
python manage.py createsuperuser- Lancez le serveur de développement :
python manage.py runserverL'application sera accessible à l'adresse : http://127.0.0.1:8000
Gestion_depenses/
│
├── expense_tracker/ # Configuration principale du projet
├── expenses/ # Application principale
│ ├── templates/ # Templates HTML
│ ├── static/ # Fichiers statiques (CSS, JS, images)
│ ├── models.py # Modèles de données
│ ├── views.py # Logique de l'application
│ └── urls.py # Configuration des URLs
├── media/ # Fichiers uploadés par les utilisateurs
├── static/ # Fichiers statiques globaux
├── manage.py # Script de gestion Django
└── requirements.txt # Dépendances du projet
Les principales configurations se trouvent dans expense_tracker/settings.py. Assurez-vous de :
- Configurer votre base de données
- Définir
SECRET_KEYdans un fichier.env - Configurer les paramètres de messagerie si nécessaire
Pour déployer en production :
- Configurez les paramètres de production dans
settings.py - Collectez les fichiers statiques :
python manage.py collectstatic- Utilisez un serveur WSGI comme Gunicorn
- Configurez un serveur web (nginx/Apache) comme proxy inverse
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Commiter vos changements
- Pousser vers la branche
- Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue dans le dépôt GitHub.