diff --git a/README.md b/README.md index f7ace0f..e3bd0a2 100644 --- a/README.md +++ b/README.md @@ -1,191 +1,76 @@ # 💰 WalletTracker -Application mobile de gestion de budget dĂ©veloppĂ©e avec React Native et Firebase. +> Application mobile de gestion de budget dĂ©veloppĂ©e avec React Native et Firebase + +[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/alempereur/WalletTracker) +[![React Native](https://img.shields.io/badge/React%20Native-0.81-61dafb.svg)](https://reactnative.dev/) +[![Firebase](https://img.shields.io/badge/Firebase-12.4-orange.svg)](https://firebase.google.com/) +[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/) ## đŸ“± FonctionnalitĂ©s -- **Authentification** : Inscription et connexion sĂ©curisĂ©es avec Firebase Auth -- **Gestion des transactions** : Ajout et suivi des dĂ©penses et revenus par catĂ©gorie -- **Abonnements rĂ©currents** : Gestion des abonnements avec rappels automatiques -- **Tableau de bord** : Vue d'ensemble mensuelle du budget avec statistiques -- **Analyses visuelles** : Graphiques et statistiques dĂ©taillĂ©es par catĂ©gorie -- **Synchronisation temps rĂ©el** : Partage des donnĂ©es entre plusieurs utilisateurs -- **Multi-plateforme** : Fonctionne sur iOS et Android +✅ **Authentification sĂ©curisĂ©e** avec Firebase +✅ **Gestion des transactions** (dĂ©penses et revenus) +✅ **Abonnements rĂ©currents** avec rappels +✅ **Tableau de bord** avec statistiques mensuelles +✅ **Analyses visuelles** par catĂ©gorie +✅ **Synchronisation temps rĂ©el** +✅ **Multi-plateforme** (iOS & Android) + +## 🚀 DĂ©marrage rapide + +```bash +# 1. Cloner le projet +git clone https://gitea.com/alempereur/WalletTracker.git +cd WalletTracker + +# 2. Installer les dĂ©pendances +npm install + +# 3. Configurer Firebase +# Copiez vos identifiants dans src/config/firebase.ts + +# 4. Lancer l'application +npm start +``` + +**📚 Pour la documentation complĂšte, consultez le [Wiki](../../wiki)** + +## 📖 Documentation + +Toute la documentation est disponible dans le Wiki : + +- **[🏠 Home](../../wiki/Home)** - Vue d'ensemble du projet +- **[⚡ Quick Start](../../wiki/Quick-Start)** - DĂ©marrage en 5 minutes +- **[đŸ”„ Configuration Firebase](../../wiki/Configuration-Firebase)** - Setup Firebase complet +- **[🔧 DĂ©pannage](../../wiki/DĂ©pannage)** - Solutions aux problĂšmes courants +- **[đŸ§Ș Tests](../../wiki/Tests)** - Guide de test complet +- **[🚀 DĂ©ploiement](../../wiki/DĂ©ploiement)** - Publication sur les stores +- **[đŸ’» DĂ©veloppement](../../wiki/DĂ©veloppement)** - Architecture et contribution +- **[📝 Changelog](../../wiki/Changelog)** - Historique des versions ## đŸ› ïž Stack Technique -- **Frontend** : React Native avec Expo -- **Langage** : TypeScript -- **Backend** : Firebase (Authentication, Firestore, Storage) -- **Navigation** : React Navigation (Stack & Bottom Tabs) -- **Stockage local** : AsyncStorage -- **Graphiques** : react-native-chart-kit -- **Gestion d'Ă©tat** : React Hooks - -## 📩 Installation - -### PrĂ©requis - -- Node.js (v16 ou supĂ©rieur) -- npm ou yarn -- Expo CLI -- Compte Firebase - -### Étapes d'installation - -1. **Cloner le projet** - ```bash - git clone - cd WalletTracker - ``` - -2. **Installer les dĂ©pendances** - ```bash - npm install - ``` - -3. **Configurer Firebase** - - a. CrĂ©ez un projet sur [Firebase Console](https://console.firebase.google.com/) - - b. Activez les services suivants : - - Authentication (Email/Password) - - Firestore Database - - Storage - - c. Copiez vos identifiants Firebase dans `src/config/firebase.ts` : - ```typescript - const firebaseConfig = { - apiKey: "VOTRE_API_KEY", - authDomain: "VOTRE_AUTH_DOMAIN", - projectId: "VOTRE_PROJECT_ID", - storageBucket: "VOTRE_STORAGE_BUCKET", - messagingSenderId: "VOTRE_MESSAGING_SENDER_ID", - appId: "VOTRE_APP_ID" - }; - ``` - -4. **Configurer les rĂšgles Firestore** - - Copiez les rĂšgles du fichier `firestore.rules` dans la console Firebase - -5. **Lancer l'application** - ```bash - npm start - ``` - - Puis scannez le QR code avec l'application Expo Go sur votre tĂ©lĂ©phone - -## đŸ“± Utilisation - -### DĂ©marrage rapide - -1. **CrĂ©er un compte** : Utilisez l'Ă©cran d'inscription avec votre email et mot de passe -2. **Ajouter une transaction** : Cliquez sur le bouton "+" pour ajouter une dĂ©pense ou un revenu -3. **GĂ©rer les abonnements** : AccĂ©dez Ă  l'onglet "Abonnements" pour suivre vos dĂ©penses rĂ©currentes -4. **Consulter les analyses** : Visualisez vos dĂ©penses par catĂ©gorie dans l'onglet "Analyses" - -### CatĂ©gories par dĂ©faut - -**DĂ©penses** : -- Courses 🛒 -- Logement 🏠 -- Transport 🚗 -- Loisirs 🎼 -- Restaurant đŸœïž -- SantĂ© 💊 -- VĂȘtements 👕 -- Éducation 📚 -- Abonnements đŸ“± -- Autre 📩 - -**Revenus** : -- Salaire 💰 -- Freelance đŸ’Œ -- Investissement 📈 -- Cadeau 🎁 -- Autre đŸ’” - -## đŸ—‚ïž Structure du projet - -``` -WalletTracker/ -├── src/ -│ ├── components/ # Composants rĂ©utilisables -│ │ ├── Button.tsx -│ │ ├── InputText.tsx -│ │ ├── TransactionCard.tsx -│ │ └── SubscriptionCard.tsx -│ ├── config/ # Configuration Firebase -│ │ └── firebase.ts -│ ├── hooks/ # Hooks personnalisĂ©s -│ │ └── useAuth.ts -│ ├── navigation/ # Configuration de la navigation -│ │ └── AppNavigator.tsx -│ ├── screens/ # Écrans de l'application -│ │ ├── LoginScreen.tsx -│ │ ├── SignupScreen.tsx -│ │ ├── DashboardScreen.tsx -│ │ ├── TransactionScreen.tsx -│ │ ├── SubscriptionScreen.tsx -│ │ └── AnalysisScreen.tsx -│ ├── services/ # Services Firebase -│ │ ├── authService.ts -│ │ ├── transactionService.ts -│ │ ├── subscriptionService.ts -│ │ └── categoryService.ts -│ ├── types/ # DĂ©finitions TypeScript -│ │ └── index.ts -│ └── utils/ # Utilitaires -├── App.tsx # Point d'entrĂ©e -├── package.json -└── README.md -``` - -## 🔐 SĂ©curitĂ© - -- Les mots de passe sont gĂ©rĂ©s par Firebase Authentication -- Les rĂšgles Firestore protĂšgent les donnĂ©es de chaque utilisateur -- Les donnĂ©es sont synchronisĂ©es uniquement pour les utilisateurs autorisĂ©s -- Stockage sĂ©curisĂ© des tokens avec AsyncStorage - -## 🚀 DĂ©ploiement - -### Build pour production - -**iOS** : -```bash -eas build --platform ios -``` - -**Android** : -```bash -eas build --platform android -``` - -## 📝 FonctionnalitĂ©s futures - -- [ ] Notifications push pour les rappels d'abonnements -- [ ] Partage multi-utilisateurs avancĂ© -- [ ] Export des donnĂ©es en CSV/PDF -- [ ] Objectifs budgĂ©taires mensuels -- [ ] Mode sombre -- [ ] Support multilingue -- [ ] Reconnaissance de tickets avec OCR -- [ ] Widgets pour l'Ă©cran d'accueil +- **Frontend** : React Native + Expo SDK 54 +- **Langage** : TypeScript 5.9 +- **Backend** : Firebase (Auth, Firestore, Storage) +- **Navigation** : React Navigation 7 +- **UI** : React Native Components + Custom Design System ## đŸ€ Contribution -Les contributions sont les bienvenues ! N'hĂ©sitez pas Ă  ouvrir une issue ou une pull request. +Les contributions sont les bienvenues ! Consultez le [guide de contribution](../../wiki/DĂ©veloppement) dans le Wiki. ## 📄 Licence -Ce projet est sous licence MIT. +MIT © 2025 WalletTracker -## đŸ‘šâ€đŸ’» Auteur +## 🆘 Support -DĂ©veloppĂ© avec ❀ pour une meilleure gestion de budget. +- **ProblĂšmes** : [Issues](../../issues) +- **Questions** : [Wiki - DĂ©pannage](../../wiki/DĂ©pannage) +- **Documentation** : [Wiki](../../wiki) -## 📞 Support +--- -Pour toute question ou problĂšme, veuillez ouvrir une issue sur GitHub. +**DĂ©veloppĂ© avec ❀ pour une meilleure gestion de budget**