Challenge Overview
The Role-Based Curriculum App (RBC App) is a tool created to automate the processes of role-based curriculum checklist management. The Role-Based Curriculum App is utilized to track the overall proficiency and capabilities of associates to perform role-based tasks.
We’ve recently completed the wireframe challenge for this application. You can see the wireframe challenge spec here to understand the application better. The backend REST services for this app will be built in Java and we've created a skeleton project structure in our backend repo. As part of this challenge, we want to build the Swagger documentation for these proposed REST services.
Some key concepts are explained below
Users
Application supports 3 types of users - trainees, mentors and admin users. Only trainee and mentor roles are in scope, admin role is NOT in scope.
- Please see the wireframe spec for full list of operations for each type of user
Swagger Guidelines
- The file should be named swagger.yaml
- The spec should written in Swagger 2.0 with YAML format.
- The requests and responses should properly list all fields.
- For responses, you should cover all the cases, not just 200 status code, like 404
- Descriptions should be properly written for APIs, request input and responses etc
- please following the standard swagger 2.0 format, please raise any question if you are uncertain.
- You can use editor.swagger.io for validation
Provided Artefacts
- Wireframes
- Data model & Backend Skeleton Code (please see forums for how to access)
In this challenge, you need to do the following:
- Analyze the provided wireframes and define a full set of APIs to cover all the requirements indicated by this prototype, please document the API using Swagger. Each API must be well documented with all request and response params. Make sure to handle various error conditions
- Provide a mapping document for which screens in wireframes maps to which API
- Feel free to include any other document(s) that you think will help coders better understand how to implement the API
Scorecard & Review Criteria
We’ll follow a subjective scorecard (1-10) for this challenge. The submissions will be evaluated on the basis of
-
Completeness of Swagger file with respect to wireframes
-
Adherence to best practices for designing REST API
-
Accuracy of screen to API mapping
Final Submission Guidelines
-
Swagger file
-
Screen to API Mapping Document
-
Feel free to include any other document(s) that you think will help coders better understand how to implement the API