A secure, production-ready full-stack notes management application built using Spring Boot and React, focused on security, auditing, and role-based access control.
The system implements JWT + OAuth2 authentication, Two-Factor Authentication (2FA), email-based password recovery, and a comprehensive audit logging mechanism.
Watch the demo videos here:
-
Project Demo (YouTube)
▶️ Spring Boot + React Full-Stack Application Demo -
Project Demo (LinkedIn)
▶️ Spring Boot + React Full-Stack Application Demo
🔗 Hosted Application
https://springbootnotesvault.netlify.app/
User
- Email:
demo@gmail.com - Password:
demo123
Admin
- Email:
admin@gmail.com - Password:
admin123
- JWT-based authentication for secure API access
- OAuth2 support for modern login flows
- Two-Factor Authentication (2FA)
- Role-Based Access Control (RBAC) – Admin & User
- Secure password hashing with industry-standard algorithms
- Password reset via email
- Secure OTP / token-based verification
- Safe password recovery workflow
- Tracks critical user actions:
- Login events
- Profile updates
- Deletions
- Admin activities
- Admin-only access to audit logs
- Filtering and monitoring for accountability
- Update username, password, and profile details
- Re-authentication for sensitive changes
- Email verification for account updates
- Optional 2FA management
- Create, read, update, and delete notes
- Notes linked to authenticated users
- JWT-protected REST endpoints
- Clean and responsive React UI
- User management
- Role updates
- Audit log monitoring
- Activity tracking
- Admin-only protected routes
- Clean REST API design using Spring Boot
- React frontend with protected routes
- Modular architecture (Controller → Service → Repository)
- Centralized exception handling & validation
- Scalable design, microservice-ready
| Homepage | Login | Register |
|---|---|---|
![]() |
![]() |
![]() |
| User Dashboard |
|---|
![]() |
| Profile & 2FA |
|---|
![]() |
| Forgot Password |
|---|
![]() |
| User Management | Audit Logs |
|---|---|
![]() |
![]() |
| Docker Repository |
|---|
![]() |
Backend
- Java 21
- Spring Boot
- Spring Security
- JWT & OAuth2
- PostgreSQL
- JPA / Hibernate
- Java Mail
Frontend
- React, Tailwind
- Protected Routes
- REST API Integration
Infrastructure
- Docker
- Cloud Hosting
- CI/CD-ready setup








