A full-featured User Management System built using Spring Boot, React, MySQL, and JavaMailSender. The system supports user registration with email OTP verification, login, password reset, role-based access (Admin/User), and advanced features like exporting user data to Excel, sorting, and filtering.
- Frontend: React.js (with Axios, Bootstrap)
- Backend: Spring Boot (Spring Security, JWT)
- Database: MySQL
- Email Service: JavaMailSender (SMTP)
- Export: Apache POI for Excel export
- Token Management: JWT (JSON Web Token)
- ✅ Register with OTP email verification
- ✅ Login with secure JWT token
- 🔁 Forgot Password with email OTP
- 📤 Export user data to Excel
- 🔍 Filter, sort, and search users
- 🔑 Admin/User role segregation
- 👤 User Profile management
- 📊 Dashboard with charts
| Name | Screenshot |
|---|---|
| 🏠 Home | ![]() |
| 🔐 Login | ![]() |
| 📝 Register (Create User) | ![]() |
| 🔑 Forgot Password | ![]() |
| 📧 Enter OTP | ![]() |
| 🔄 Verify OTP | ![]() |
| 📥 Export User | ![]() |
| 🧑💼 Manage Users | ![]() |
| 🆙 Update User | ![]() |
| 🔃 Sort User | ![]() |
| 📄 Profile | ![]() |
| 🔁 Logout | ![]() |
| 📊 Dashboard | ![]() |
- Node.js & npm
- Java 17+
- MySQL
- Maven
cd Backend
mvn clean installUpdate application.properties with your DB credentials and SMTP details.
Run the Spring Boot App:
mvn spring-boot:runcd frontend
npm install
npm startPOST /api/auth/registerPOST /api/auth/loginPOST /api/auth/verify-emailPOST /api/auth/forgot-passwordGET /admin/get-all-usersGET /admin/export-excel
- Spring Boot & Spring Security
- React & Axios
- Apache POI (Excel Export)
- JWT Authentication
- JavaMailSender for SMTP
This project is open-source and free to use under the MIT License.












