This project demonstrates the use of Java Persistence API (JPA) for model objects, session beans for business logic, RESTful services for backend resource representation, JEE security roles for access control, and JUnit for testing.
- Java EE: For building robust and scalable enterprise applications.
- REST API: For creating RESTful web services to interact with the backend.
- JSON: For data interchange between the client and the server.
- MySQL: As the database management system.
- EntityManager: For managing JPA entities.
- JUnit: For testing the application's functionality and correctness.
- Eclipse: As the integrated development environment (IDE).
- JPA: Used for mapping Java objects to database tables.
- Session Beans: Encapsulate business logic and provide a way to interact with JPA entities.
- REST: Expose backend resources as RESTful services.
- JEE Security Roles: Control access to various operations based on user roles.
- JUnit: Implement a series of test cases to verify the system's operation and correctness.
-
Resource Creation for All Tables:
- Each resource should support CRUD operations (Create, Read, Update, Delete).
- Resources are needed for the following entities:
- ClubMembership
- Course
- PeerTutorRegistration
- MembershipCard
- PeerTutor
- Student
- StudentClub
-
Postman Collection:
- Use the Postman collection to test REST endpoints.
-
Entity Annotations:
- Update entities with appropriate Jackson annotations for JSON serialization/deserialization.
- Use
@JsonIgnore
to exclude fields from JSON processing. - Use
@JsonSerialize
for custom serialization. - Create named queries with joins for accessing lazy-fetched objects.
-
JUnit Tests:
- Implement 60+ JUnit tests.
- Use the Client API to test CRUD operations and role-based access controls.
- Generate a Maven surefire report to summarize test results.