Challenge Overview
CHALLENGE OBJECTIVES
Welcome back to “Best Practices - Admin Web API Integration Challenge ”. In this challenge, we would like to integrate the UI prototype with the backend code.
Let us know in the forum if you have questions!
PROJECT BACKGROUND
Recently we just finished the UI prototype and backend application for the Admin web application.
The current backend application is composed of 3 roles (Worker, Place Admin and Patient). At the moment only Worker and Patient roles were fully implemented for the current web and mobile applications.
The Admin Web application is a new application being developed and it isn't currently being handled properly by the existing backend. For this new web application, we will need to fully implement the Place Admin role and add the Site Admin role.
This is the link for the original design:
REQUIREMENTS
- Integrate all endpoints to the UI prototype.
- Both Site Admin and Place Admin roles must be implemented. This might need backend adjustments:
- Unify PlaceAdmin and SiteAdmin models into PlaceAdmin only;
- Add to PlaceAdmin model a boolean property called isSiteAdmin;
- Unify /placeadmins/:alias/signin, /siteadmins/signin and /siteadmins/sigout into /placeadmins/signin and /placeadmins/sigout. Re-use existing code for that;
- Source code will be provided in the forum.
- Implement a guard component to restrict access to the pages depending on the role.
- Site admins are the only users that can see the entire Admin Web page;
- Here is the list of pages that are restricted to site admins:
- 2_1_Dashboard until 2_12_Report
- 4_1_Delete_Practice until 4_5_Delete_Practice
- 6_1_Add_New_Practices until 6_6_Add_New_Practices
- Place admins are redirected to their associated Practice page after login;
- All filtering and sorting should work properly.
CLARIFICATIONS
- Mappings from Frontend to Backend:
- Dentist -> worker
- Admin -> place admin
- Practice -> place
- All users (workers, patients, and place admins) are related to a given Practice;
Final Submission Guidelines
- Updated source code
- Updated verification guide