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

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.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30062430