- Node.js
- Express
- MongoDB (Mongoose)
- JWT
- Zod
backend/
├── config.js
├── db.js
├── index.js
├── middleware.js
└── routes/
├── user.js
├── account.js
└── index.js
/api/v1
{
username: String, // email, unique
password: String,
firstName: String,
lastName: String
}
{
userId: ObjectId, // reference to User
balance: Number
}
- POST
/user/signup - POST
/user/signin - PUT
/user/(protected) - GET
/user/bulk?filter=
- GET
/account/balance(protected) - POST
/account/transfer(protected)
- JWT auth middleware
- Attach
userIdfrom token - Create account on signup with random balance
- Use MongoDB transactions for transfer
- Validate inputs using Zod
Build a simple frontend for this system.
Guidelines:
-
Must support:
- Signup / Signin
- View balance
- Search users
- Send money
-
UI/UX is up to you — design it your way
- Working backend
- Functional frontend connected to backend