Logo Lanfrica

Dayende-ib/Kawari-finance-app

Domain:

socioeconomic

Record type:

software
Creator:
Day
Host:
Kawari est un assistant financier intelligent conçu pour les petites entreprises du Burkina Faso. Il centralise les ventes, dépenses, factures et fournit un tableau de bord clair avec analyses IA pour aider les entrepreneurs à mieux gérer leur trésorerie. # Kawari Finance App - Refactored Une application de gestion financière simplifiée avec architecture moderne : **Express.js + MongoDB + React + TypeScript**. ## 🎯 Changements de la Refonte ### Backend - ✅ **Base de données** : Remplacé Prisma par **Mongoose + MongoDB** (pas de compilation native) - ✅ **API REST simplifiée** : endpoints légers sans logique complexe - ✅ **Auth** : JWT + Refresh tokens, hash passwords (bcryptjs) - ✅ **Modèles** : User, Customer, Transaction, Invoice, Notification, RefreshToken ### Frontend - ✅ **Client HTTP** : Remplacé Axios + intercepteurs complexes par **fetch simple** (`apiInterceptor.ts`) - ✅ **Gestion d'état** : TanStack Query pour sync réactive - ✅ **Stockage token** : localStorage (clé: `token`) ## 📋 Prérequis - **Node.js** : v20+ (ou v24.12.0) - **npm** : v10+ - **MongoDB** : local (localhost:27017) ou Atlas - **Git** ### Installation locale MongoDB (Windows) 1. Téléchargez MongoDB Community : mongodb.com 2. Installez avec path par défaut 3. Démarrez le service : ```powershell net start MongoDB # ou via Services Windows ``` Vérifiez : `mongosh --nodb` → connecte-vous à `mongodb://localhost:27017` ## 🚀 Démarrage Rapide ### Terminal 1 : Backend ```powershell cd backend npm install npm run seed:mongo # Peuple MongoDB avec données test npm run dev # Démarre sur localhost ``` **Comptes de test (après seed) :** - Email: `admin@kawari.com` / Password: `Password123!` - Email: `jean@kawari.com` / Password: `Password123!` - Email: `marie@kawari.com` / Password: `Password123!` ### Terminal 2 : Frontend ```powershell cd frontend npm install npm run dev # Démarre sur localhost ``` Ouvrez : localhost → Login avec admin@kawari.com / Password123! ## 🔌 Endpoints API ### Auth (Public) ```bash # Register POST /api/auth/register Content-Type: application/json {"name":"John","email":"john@example.com","password":"Password123!"} # Login …

Licenses