A fully-featured note-taking and to-do management backend system built using Spring Boot. This project is designed to simulate real-world software development practices and gives complete hands-on experience with modern backend technologies, security, and deployment tools.
Backend
- Spring Boot (RESTful APIs)
- Spring Security (JWT + OAuth2)
- JPA & Hibernate
- AOP (Aspect-Oriented Programming)
- Caching (Ehcache/Redis)
- Spring Scheduler
- Actuator (for monitoring)
- Swagger/OpenAPI (API Documentation)
- JUnit & Mockito (Unit Testing)
- SonarQube (Code Quality)
- JMeter (Load Testing)
- Docker (Containerization)
- GitHub (Version Control)
Database
- MySQL
- User Registration with email verification
- JWT-based secure Login
- OAuth2 Login (e.g., Google)
- Role-Based Access (Admin, User)
- Create, Edit, Delete Notes
- Organize notes into categories
- Upload and view/download attachments (PDF, Images, etc.)
- Paginated listing of notes
- Search notes by title, content, or category
- Mark/unmark notes as Favorite
- View list of favorite notes
- Copy existing notes
- Export single or all notes to PDF/Excel
- Add/Edit/Delete tasks
- Set priority (Low, Medium, High)
- Update task status (To-Do, In Progress, Completed)
- Set reminders (email/push-ready)