Challenge Overview
Welcome to the Attendee - Java Backend REST API Part 2 challenge!
In the previous challenge we created a microservice using REST API using Java Spring with CosmosDB as database and implemented all endpoints as well as the corresponding models from the provided Swagger definition with the following tags:
-
User
-
Security
-
Event
-
EventType
-
EventCategory
-
Session
-
SessionAttendee
-
Lookup
-
UserPreferences
-
UserEventAssignment
In this challenge, we need you to implement the second microservice that will cover all endpoints as well as the corresponding models from the provided Swagger definition with the following tags:
-
Engagement
-
EventAttendee
-
UserEventFeedback
-
EventWall
-
EventFAQ
-
Poll
-
Survey
-
Quiz
-
Message
-
UserNote
-
Notification
-
Email
The microservice will be deployed to the Azure App Service.
Scalability
To improve the scalability and load balancing of the app the backend needs to be separated into 2 microservices: the one covering events, sessions, users; and another one covering engagements, messages, wall posts. The load for the second one is potentially higher because of the nature of such interactions as messaging, posting, etc.
Technology overview
-
Java 8
-
REST API
You will find the following assets attached to the challenge forum (available on registration):
-
Detailed application design specification
-
Swagger API definition
-
Code from the previous challenge
You should follow the best practices established in the provided source code.
Feel free to ask on the challenge forum in case of any doubt/question.
Final Submission Guidelines
-
Source code in a zip file.
-
Detailed deployment document for both local and Azure deployment.
-
[optional] A video showing how to setup and run your submission.