Skip to content

Muhammadkhiry/Money-Mate-Project

Repository files navigation

Money Mate: Secure Bill Management Mobile App

Flutter Node.js Express SQL Server JWT

Money Mate is a full-stack mobile application that revolutionizes bill management between customers and service companies (telecoms, utilities, banks, etc.).
Built with Flutter for beautiful cross-platform UI and Node.js + Express + SQL Server for a secure, scalable backend.

App Screenshots

Login / Register Company Bills customer Dashboard
Secure JWT-based login Filter, search & pay bills pay bills & view Statistics

Features

All Users

  • Secure login/register with JWT token authentication\
  • View all bills (paid/unpaid filter + search by name)\

Customers

  • One-tap bill payment\
  • Personal stats dashboard (day/week/month/year)\
  • Real-time bill updates

Companies

  • Add bills to customers using email lookup\
  • View issued and collected bills\
  • Revenue statistics by period\
  • Secure role-based access

Project Structure

Money-Mate-Project/
├── api/                          # Backend
│   ├── server.js
│   ├── .env                      # (in .gitignore)
│   ├── package.json
│   └── src/
│       ├── config/database.js
│       ├── middleware/authMiddleware.js
│       └── routes/
│           ├── auth.js
│           ├── bills.js
│           ├── search.js
│           └── stats.js
├── lib/                          # Flutter frontend
│   ├── main.dart
│   ├── screens/
│   ├── services/
│   └── models/
├── database/
│   └── schema.sql                # Table creation 
├── pubspec.yaml
└── README.md

Quick Start

Backend (API)

cd api
npm install

Create .env:

DB_USER=sa
DB_PASS=YourStrongPass123
DB_SERVER=localhost
DB_NAME=Billing
DB_INSTANCE=SQLEXPRESS
JWT_SECRET=your_very_long_random_secret_key_here_123456789
JWT_EXPIRATION=7d
PORT=3000

Run database scripts from database/ in SSMS → creates tables + mock data.

Start server:

npm run dev

API runs at: http://localhost:3000

Flutter App

flutter pub get

Update API URL in lib/services/api_service.dart:

static const String baseUrl = "http://10.0.2.2:3000/api"; // Android emulator
// or: http://YOUR_PC_IP:3000/api for physical device

Run app:

flutter run

Database Design – EERD & Table Mapping

Enhanced Entity-Relationship Diagram (EERD)

EERD Diagram



Maping / Tables

Table Mapping Visualization

Contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors