Logo Lanfrica

NTIVUNWA250/smart-life

Domaine:

socioeconomic

Type de record:

software
Créateur:
NTI
Hôte:
SMART LIFE - money and time management for Rwandan students and youth. Node/Express + PostgreSQL API, Next.js web, Flutter mobile. # SMART LIFE **Stop spending, start saving.** SMART LIFE is a mobile- and web-based application that helps Rwandan students and youth manage **money and time** in one place. It tracks income and expenses, enforces savings goals, automatically blocks electronic payments when a user passes their spending limit, limits social-media / screen time, and uses a **peer & parental approval** system to unlock those limits. An analytics dashboard tracks progress on financial and time goals. This repository is the implementation of the SMART LIFE Software Requirements Specification (SRS v1.0, Gilbert NTIVUNWA, ALU). --- ## Stack | Layer | Tech | | ------------------ | ----------------------------------------------------------- | | Backend / API | Node.js + Express + TypeScript | | Database | PostgreSQL (via Prisma ORM) - **no Supabase** (SRS section 2.5) | | Auth | JWT access/refresh tokens, bcrypt password hashing | | Website | Next.js 15 (App Router) + TypeScript + Tailwind | | Mobile (iOS/And) | Flutter (Android v10+ / iOS) | | External providers | MTN MoMo, Airtel Money, Bank, OS screen-time, Google Calendar - behind an **adapter layer** with sandbox/mock implementations | > **Why mock the external providers?** Mobile-money, bank, and OS screen-time APIs > require commercial partnerships, signed agreements, and production credentials that > are not available for a student build. Every external integration sits behind a > provider interface (`backend/src/providers/`) so the **business logic is real and > fully testable**, and the sandbox implementations can be swapped for live SDKs once > credentials exist. See docs/INTEGRATIONS.md. --- ## Repository layout ``` saving-app/ +-- backend/ Node.js + Express + Prisma API (PostgreSQL) +-- web/ Next.js website - user + ad …

Languages