-
User Authentication
- Registration with password hashing
- Login/logout with session management
- Password security using PBKDF2 hashing
-
Todo Operations
- Create todo items with due dates
- (Implied) CRUD operations for task management
- User-specific todo items (each user sees their own tasks)
-
API Endpoints
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/logout- Session terminationPOST /api/todos- Create new todo items
- Backend: Java Servlets
- Data Handling:
- GSON for JSON serialization
- Custom TypeAdapter for LocalDate
- Database:
- MySQL (JDBC)
- DAO pattern for data access
- Security:
- Password hashing
- Session-based authentication
-
Authentication Controller (
AuthController)- Handles user sessions
- Prevents multiple logins
- Validates credentials
-
Todo Controller
- Manages todo operations
- Enforces user ownership
- Handles date serialization
-
Utility Classes
PasswordUtil: Secure password handlingTimeUtils: Date conversions
- Frontend → JSON API → Servlet → DAO → Database
- All responses in JSON format
- REST-like API design
- Proper separation of concerns (controllers, DAOs, utils)
- Secure practices for authentication
- Type-safe date handling with Java 8 Time API