Welcome to LenDen, a secure and dynamic Mobile Financial Service (MFS) web application created with the vision to empower digital financial transactions.
Inspired by industry leaders like bKash and Nagad, LenDen enables users to seamlessly send money, cash-in, cash-out, and manage balances in a secure environment.
This is a full-stack personal project developed to showcase real-world system design, backend security practices, and frontend user experience excellence.
Live Demo: Visit LenDen
✅ Secure User Authentication & Authorization (JWT-based)
✅ 5-digit PIN protected login system
✅ Send Money with transaction fees and minimum transaction rules
✅ Cash-In & Cash-Out via verified agents
✅ Role-Based Access Control (RBAC): User, Agent, Admin
✅ Admin Panel for agent approval, user management, and transaction tracking
✅ Transaction History (last 100 transactions for users and agents)
✅ Agent Commission and Admin Revenue calculation
✅ One Device Login Restriction for enhanced account safety
✅ Encrypted PIN using Bcrypt
✅ Real-time Notifications on transaction actions
| Component | Technology Used |
|---|---|
| Frontend | React.js |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| Authentication | JWT (JSON Web Token) |
| Security | Bcrypt (PIN Hashing) |
| State Management | React Context API |
| Styling | TailwindCSS |
1. Register as a User or Agent.
- User receives 40 Taka bonus on registration.
- Agent receives 100,000 Taka balance after admin approval. 2. Login using mobile number or email + PIN.
- One Device Only: Users and agents can access from a single device at a time. 3. Perform Transactions:
- Send Money (fees applied after 100 Taka)
- Cash-In via agents (no fee)
- Cash-Out via agents (1.5% fee) 4. Admin Panel:
- Approve or reject agents
- Block or unblock users
- Monitor all system transactions and revenue
- Register/Login securely
- Send Money to other users
- Cash-In through agents
- Cash-Out through agents
- View Transaction History
- Check Balance (initially blurred for security)
- Secure Registration/Login (requires admin approval)
- Start with 100,000 Taka balance
- Facilitate Cash-In and Cash-Out transactions
- Earn 1% commission per cash-out
- Request balance recharge from admin
- Single Super Admin role
- Approve agents and manage users
- View transaction details of all users and agents
- Manage system finances and revenue
| Transaction Type | Fee Structure | Earnings |
|---|---|---|
| Send Money | 5 Taka (above 100 Taka) | Admin earns 5 Taka |
| Cash-In | Free | No earnings |
| Cash-Out | 1.5% Fee | 1% for Agent, 0.5% for Admin |
| All Money Operations | 5 Taka | Admin |
- JWT Authentication for secure API communication
- Bcrypt Hashing for user PIN encryption
- One Device Login Enforcement (multi-device login disabled for security)
- Role-based Route Protection for API endpoints
- Unique Transaction ID tracking for all money operations
| Page | Preview |
|---|---|
| Registration Page (User/Agent) | |
| Login Page (PIN-based) | |
| User Dashboard | |
| Send Money Page | |
| Cash-In/Cash-Out Pages | |
| Admin Panel (Agent Approval) | |
| Admin Panel (User Management) | |
| Transaction History |
- 📱 Launch a React Native Mobile App
- ✉️ Integrate Email Notifications for all transaction actions
- 🔒 Two-Factor Authentication (2FA) for login process
- 📊 Admin Dashboard Analytics with graphical reports
- 🌐 Payment Gateway Integration for real-world transactions
- 🔗 Multi-currency support for broader regional use
- 🛡️ Device Session Management System
- Node.js (v14+)
- MongoDB (Local or Atlas)
- npm or yarn
git clone https://github.com/your-repo/Lenden-Mobile-Banking-System.git
cd Lenden-Mobile-Banking-Systemcd backend
npm install
cp .env.example .env # Configure environment variables
npm startcd frontend
npm install
npm startCreate a .env file inside the backend/ folder and add:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
- Mohammed Hasan – Full Stack Developer 🚀
⚡ Feel free to explore, fork, and enhance the project.
Connect with me on LinkedIn or view more on GitHub!
