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.
| Login / Register | Company Bills | customer Dashboard |
![]() |
![]() |
|
| Secure JWT-based login | Filter, search & pay bills | pay bills & view Statistics |
- Secure login/register with JWT token authentication\
- View all bills (paid/unpaid filter + search by name)\
- One-tap bill payment\
- Personal stats dashboard (day/week/month/year)\
- Real-time bill updates
- Add bills to customers using email lookup\
- View issued and collected bills\
- Revenue statistics by period\
- Secure role-based access
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
cd api
npm installCreate .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 devAPI runs at: http://localhost:3000
flutter pub getUpdate 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 deviceRun app:
flutter run
Abdallh Ashraf Project Leader & Backend Tester |
Muhammad Khiry Flutter Developer |
Hatem Ayman Backend Developer |
Muhammad Zakaria Flutter Developer |
Muhammed Aly Database Designer |
Built with passion, teamwork, and a lot of coffee



