2
Installation
Arthur Lempereur edited this page 2025-10-23 18:23:11 +02:00

📦 Installation et démarrage rapide

Guide complet pour installer et lancer WalletTracker.

🚀 Démarrage rapide (5 minutes)

Vous voulez tester rapidement ? Suivez ces étapes :

1. Prérequis minimum

  • Node.js v16+ installé
  • Expo Go sur votre téléphone (iOS | Android)

2. Installation express

# Cloner et installer
git clone git@git.fnix.fr:alempereur/WalletTracker.git
cd WalletTracker
npm install

# Configurer Firebase (copiez vos identifiants)
cp .env.example .env
# Éditez .env avec vos identifiants Firebase

# Lancer l'app
npm start

3. Scanner et tester

  1. Scannez le QR code avec Expo Go
  2. Créez un compte de test
  3. Ajoutez votre première transaction !

Pour la configuration Firebase détaillée : consultez Configuration-Firebase


📚 Installation complète

Prérequis détaillés

Étapes d'installation

1. Cloner le projet

git clone git@git.fnix.fr:alempereur/WalletTracker.git
cd WalletTracker

2. Installer les dépendances

npm install

Cette commande installera toutes les dépendances nécessaires listées dans package.json.

3. Configurer Firebase

Consultez le guide Configuration-Firebase pour les détails complets.

En résumé :

  1. Créez un projet Firebase
  2. Copiez les identifiants dans src/config/firebase.ts
  3. Activez Authentication (Email/Password)
  4. Créez une base Firestore
  5. Configurez les règles de sécurité

4. Vérifier l'installation

# Vérifier que tout est installé
npm run check

# Vérifier TypeScript
npx tsc --noEmit

5. Lancer l'application

npm start

Un QR code s'affichera dans le terminal.

6. Tester sur votre appareil

Sur téléphone :

  1. Ouvrez Expo Go
  2. Scannez le QR code
  3. L'app se charge automatiquement

Sur émulateur :

# iOS (Mac uniquement)
npm run ios

# Android
npm run android

# Web
npm run web

Structure du projet

WalletTracker/
├── App.tsx                 # Point d'entrée
├── src/
│   ├── components/         # Composants réutilisables
│   │   ├── Button.tsx
│   │   ├── InputText.tsx
│   │   ├── TransactionCard.tsx
│   │   └── SubscriptionCard.tsx
│   │
│   ├── config/             # Configuration
│   │   └── firebase.ts     # ⚠️ À configurer
│   │
│   ├── hooks/              # Custom hooks
│   │   └── useAuth.ts
│   │
│   ├── navigation/         # Navigation
│   │   └── AppNavigator.tsx
│   │
│   ├── screens/            # Écrans
│   │   ├── LoginScreen.tsx
│   │   ├── SignupScreen.tsx
│   │   ├── DashboardScreen.tsx
│   │   ├── TransactionScreen.tsx
│   │   ├── SubscriptionScreen.tsx
│   │   └── AnalysisScreen.tsx
│   │
│   ├── services/           # Services Firebase
│   │   ├── authService.ts
│   │   ├── transactionService.ts
│   │   ├── subscriptionService.ts
│   │   └── categoryService.ts
│   │
│   ├── types/              # Types TypeScript
│   │   └── index.ts
│   │
│   └── utils/              # Utilitaires
│       ├── constants.ts
│       ├── helpers.ts
│       └── sampleData.ts
│
├── package.json            # Dépendances
├── tsconfig.json           # Config TypeScript
├── app.json                # Config Expo
└── firestore.rules         # Règles Firestore

Problèmes courants

Erreur "Unable to resolve module"

# Nettoyer et réinstaller
rm -rf node_modules
npm install
npm start -- --clear

Erreur de réseau

Utilisez le mode tunnel :

npm start -- --tunnel

L'app ne charge pas

  1. Vérifiez que le serveur Metro tourne
  2. Assurez-vous d'être sur le même Wi-Fi
  3. Consultez Dépannage pour plus de solutions

Configuration avancée

Variables d'environnement

Créez un fichier .env à la racine :

FIREBASE_API_KEY=your_api_key
FIREBASE_AUTH_DOMAIN=your_auth_domain
# etc...

Mode développement vs production

# Développement (avec hot reload)
npm start

# Production (optimisé)
npm start -- --no-dev --minify

📚 Prochaines étapes

Maintenant que l'installation est terminée :

  1. Configuration-Firebase - Configurer Firebase en détail
  2. Tests - Tester toutes les fonctionnalités
  3. Développement - Comprendre l'architecture du code
  4. Déploiement - Publier sur les stores

🆘 Besoin d'aide ?


Installation terminée ! L'app devrait maintenant fonctionner. 🎉