docs: Migrate all documentation to Wiki
- Move all MD files to Gitea Wiki - Simplify README with links to Wiki - Remove redundant documentation files - Keep only README, .env.example, and firestore.rules in repo Wiki pages created: - Home (overview) - Quick-Start - Installation - Configuration-Firebase - Dépannage - Tests - Déploiement - Développement - Changelog - API-Reference
This commit is contained in:
231
README.md
231
README.md
@@ -1,191 +1,76 @@
|
|||||||
# 💰 WalletTracker
|
# 💰 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
|
||||||
|
|
||||||
|
[](https://github.com/alempereur/WalletTracker)
|
||||||
|
[](https://reactnative.dev/)
|
||||||
|
[](https://firebase.google.com/)
|
||||||
|
[](https://www.typescriptlang.org/)
|
||||||
|
|
||||||
## 📱 Fonctionnalités
|
## 📱 Fonctionnalités
|
||||||
|
|
||||||
- **Authentification** : Inscription et connexion sécurisées avec Firebase Auth
|
✅ **Authentification sécurisée** avec Firebase
|
||||||
- **Gestion des transactions** : Ajout et suivi des dépenses et revenus par catégorie
|
✅ **Gestion des transactions** (dépenses et revenus)
|
||||||
- **Abonnements récurrents** : Gestion des abonnements avec rappels automatiques
|
✅ **Abonnements récurrents** avec rappels
|
||||||
- **Tableau de bord** : Vue d'ensemble mensuelle du budget avec statistiques
|
✅ **Tableau de bord** avec statistiques mensuelles
|
||||||
- **Analyses visuelles** : Graphiques et statistiques détaillées par catégorie
|
✅ **Analyses visuelles** par catégorie
|
||||||
- **Synchronisation temps réel** : Partage des données entre plusieurs utilisateurs
|
✅ **Synchronisation temps réel**
|
||||||
- **Multi-plateforme** : Fonctionne sur iOS et Android
|
✅ **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
|
## 🛠️ Stack Technique
|
||||||
|
|
||||||
- **Frontend** : React Native avec Expo
|
- **Frontend** : React Native + Expo SDK 54
|
||||||
- **Langage** : TypeScript
|
- **Langage** : TypeScript 5.9
|
||||||
- **Backend** : Firebase (Authentication, Firestore, Storage)
|
- **Backend** : Firebase (Auth, Firestore, Storage)
|
||||||
- **Navigation** : React Navigation (Stack & Bottom Tabs)
|
- **Navigation** : React Navigation 7
|
||||||
- **Stockage local** : AsyncStorage
|
- **UI** : React Native Components + Custom Design System
|
||||||
- **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 <votre-repo>
|
|
||||||
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
|
|
||||||
|
|
||||||
## 🤝 Contribution
|
## 🤝 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
|
## 📄 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**
|
||||||
|
|||||||
Reference in New Issue
Block a user