Logo Lanfrica

CodieMisiani/budgetbuddy-fintech

Domaine:

socioeconomic

Type de record:

software
Créateur:
Cod
Hôte:
💰Ai-powered SMS-based budgeting app for Africa's mobile-first fintech revolution # BudgetBuddy BudgetBuddy is an AI-powered personal finance MVP that helps you track your income and expenses in real-time, categorize transactions, and visualize your spending habits... ## 🛠 Tech Stack - **Frontend:** Next.js + Tailwind CSS - **Backend:** Express.js + MongoDB - **Real-time:** Socket.IO - **Testing:** Jest (backend) - **CI/CD:** GitHub Actions - **Deployment:** Vercel (frontend), Render/Railway (backend) --- ## 🏷️ Branches & Features - `main`: Stable, production-ready codebase. - `feature/validation`: Joi validation for transactions. - `test/backend-api`: Automated Jest/Supertest API tests. - `feature/admin-ui`: Admin dashboard for user management. - `feature/live-typing`: Real-time typing indicator with Socket.IO. - `feature/premium`: Monetization scaffold, `/pricing` page, premium flag. ## ✅ MVP Features - User can input income and expenses - Real-time updates of transactions - Automatic categorization of transactions (basic rules/AI) --- ## 🗃️ Backend Models ### Transaction Model (`/server/models/transaction.js`) The Transaction model represents a single financial transaction (income or expense) in the system. | Field | Type | Required | Description | |-------------|--------|----------|--------------------------------------------| | amount | Number | Yes | Transaction amount (positive/negative) | | date | Date | Yes | Date of the transaction | | description | String | Yes | Description or note for the transaction | | vendor | String | No | Vendor/merchant name (optional) | | category | String | No | Category (auto-assigned, default: 'Uncategorized') | | createdAt | Date | No | Timestamp when the transaction was created | See the model definition in `/server/models/transaction.js` for details. --- ## 🧩 Backend Controllers ### Transaction Controller (`/server/controllers/transactionController.js`) Ha …