Design a Student Management System with distinct roles:
Owner/Admin:
Student:
Authentication:
1. Created Required Entities Admin Course Role Student StudentAddress (One-to-Many relationship with Student)
2. Defined Enums AddressType (Permanent, Correspondence, Current) CourseType EnrollmentStatus Gender
3. Created DTOs (Data Transfer Objects) To ensure proper data encapsulation and validation, I created DTOs for entities like Student, Course, and StudentAddress.
4. Implemented Repositories, Services, and Controllers Developed Repository Layer using JPA for database interactions. Created Service Layer to handle business logic. Developed Controller Layer to expose REST APIs as per the assignment requirements.
5. Implemented Authentication & Authorization Used JWT-based authentication for Admin, where they log in using username and password via Postman. Used Request Parameters to authenticate students using student_code and date of birth.
6. Established Proper Entity Mappings One-to-Many: Student → StudentAddress Many-to-Many: Student ↔ Course (Mapped using a join table for course enrollment)
7. Used MySQL as the Database Configured MySQL for data storage and ensured proper schema design.
8. Performed Testing with Postman Tested API endpoints for Admin and Student operations. Verified authentication, course assignment, and student details retrieval.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?