# Milestone 2 - Backend Infrastructure ## User Management System - [ ] Create User entity (JPA) - [ ] Create Role entity (JPA) - [ ] Implement `UserRepository` - [ ] Implement `UserService` - [ ] Create `UserController` with REST endpoints - [ ] Add user registration endpoint - [ ] Add user login endpoint - [ ] Implement password hashing (BCrypt) ## Security Implementation - [ ] Configure Spring Security - [ ] Implement [JWT](https://en.wikipedia.org/wiki/JSON_Web_Token) token generation - [ ] Implement JWT token validation - [ ] Add authentication filter - [ ] Configure role-based access (`Student`, `Instructor`, `Admin`) - [ ] Add security tests ## Test Framework - [ ] Set up [JUnit 5](https://docs.junit.org/5.0/user-guide/#overview) - [ ] Configure `MockMvc` for integration tests - [ ] Write unit tests for Services - [ ] Write integration tests for controllers - [ ] Achieve minimum 70% code coverage ## Development Environment - [ ] Configure `mkcert` for HTTPS localhost - [ ] Set up SSL certificates - [ ] Configure Swagger/OpenAPI documentation - [ ] Add seeds data for the development database ## Documentation - [ ] Add setup instructions to `README.md` - [ ] Document the API endpoints - [ ] Add architecture diagrams - [ ] Create a `CONTRIBUTING.md` file - [ ] Document the local deployment process
Milestone 2 - Backend Infrastructure
User Management System
UserRepositoryUserServiceUserControllerwith REST endpointsSecurity Implementation
Student,Instructor,Admin)Test Framework
MockMvcfor integration testsDevelopment Environment
mkcertfor HTTPS localhostDocumentation
README.mdCONTRIBUTING.mdfile