Work on the Micro-Project : MiniSocs
This page list the labs for the micro-project and the list of tasks.
At the bottom of this page, you will find a list of tasks. Tasks marked with the symbol ‘▢’ are required, while those marked with the symbol ‘◇’ are additions. Completing all required tasks earns you the average grade for the micro-project implementation part (10/20); each additional item adds a few extra points (for example, 0.5pts).
Here follows the list of Labs (follow the links of the number):- 01—Discover the application
- 02—REST for microservice MiniSocs Frontend
- 03—AMQP for linking microservices MiniSocs Frontend and Anomaly Detection
- 04—SSE for microservice MiniSocs Frontend
- 05—ORM Persistence for microservice Anomaly Detection
- 06—P&A for microservices MiniSocs Frontend and Anomaly Detection
- 06—P&Application container for microservice User
-
Milestone 1:
- ▢ REST: Use cases “create a user”, “create a social network”, and “post a message”.
- ◇ REST: The other use cases, which are implemented in the skeleton.
- ▢ REST: A JUnit unit test class that demonstrates a client calling the application's endpoints (use cases) via REST.
-
Milestone 2:
-
Other tasks not milestoned:
- ▢ SSE: Use case “post a message” with the notification of the new messages
- ◇ SSE: The other use cases, which include the notification of moderation requests.
- ▢ SSE: A unit test class that demonstrates a client being notified via SSE.
- ▢ Design pattern Ports&Adapters: in a separate Maven module, the driving port for the adapter that requests MiniSocs API via REST. In the same new Maven module, a unit test class that demonstrates the usage of this driving port.
- ◇ Design pattern Ports&Adapters: in a separate Maven module, the driven port for the adapter for notifying the client via SSE.
- ▢ Client library for the REST + SSE part in a separate Maven module: only the endpoints for the use cases “create a user”, “create a social network”, and “post a message”, and only the notification of new messages.
- ◇ Client library for the REST + SSE part with the other use cases and with the notification of moderation requests.
- ▢ Launching and running the application in a process: a separate Maven module “startup”, along with an integration test involving the application and a client in different processes. The integration test is a shell script that starts the application and execute a JUnit integration class.