A user management system built using Node.js, Express, MongoDB, and Handlebars (HBS).
This project was created as my first backend application while learning server-side development fundamentals.
Learning-focused project built to understand backend architecture, authentication, and role-based access.
This project helped me understand and practice:
- Backend MVC architecture
- Session-based authentication
- Admin vs User role separation
- MongoDB integration using Mongoose
- Secure password handling with bcrypt
- Node.js
- Express.js
- MongoDB
- Mongoose
- Handlebars (HBS)
- Express-session
- bcrypt
- User registration
- Login & logout
- Password hashing
- Session-based authentication
- Protected routes
- Admin login
- Admin dashboard
- View all users
- Add, edit, and delete users
- Search users
- Session-protected admin routes
- MVC pattern
- Separate controllers for user and admin
- Middleware-based authentication
- Server-side rendered views using HBS
controllers/ model/ routes/ middleware/ views/ public/ server.js
How session-based authentication works
Password hashing using bcrypt
Role-based access control
Structuring backend applications professionally
Use environment variables
Implement JWT-based authentication
Add React frontend
npm install
npm start
http://localhost:3188