Challenge Overview
Challenge Objectives
-
Integrate the remaining screens with the backend API.
-
Fix some of the existing issues.
Project Background
A Large IoT and Power Management Company would like to consolidate all of their employee technical competency into a single tool which can be used to track at multiple levels. The goal is to have an application that allows CoE leaders to define roles with their competency requirements, and actions or trainings which prove each competency level. Managers and Directors will be able to track profiles with roll-ups of competency in specific sections of the workforce.
Technology Stack
Frontend
-
React.js
-
Electron
Backend
-
Node.js
-
Microsoft SQL
Code access
You will find the links to the repos and a self-registration link on the challenge forum (available on registration).
Individual requirements
Fixes
-
When you login into the app, the app should “remember” the state and it shouldn’t log you out when you refresh any page.
-
Fix issue #3 on the backend repo (link in the challenge forum).
API Integration
-
Initially, when there are no competencies, only the “More” list item should be displayed on the sidebar.
- Add an “Add New” link on the “More” page to allow creating a new competency.
- Clicking that link should show the form (in the sidebar) to create a new competency.
- Pinned competencies should be saved in cookies (client side). -
From the competency page, load and show all sub-competencies (initially collapsed).
- Add an “Add New” link to allow adding a new sub competency.
- Selecting a sub-competency will expand it and should load and show all levels.
- Clicking “Add new level” should allow the user to create a new level.
- Selecting a Level should show all activities for that level.
- Clicking “Add new” should allow the user to create a new activity.
- Clicking “Edit” should allow the user to edit a new activity. -
Implement/integrate the Competency Management page.
- Import CSV should be implemented.
- Selecting a level will load all employees that belong to that level.
- Clicking "Set completed" should mark all activities from the selected level as completed for the selected employee.
- Selecting multiple employees should show a button below the employees list that says "Set completed for the selected employees" and clicking that button should do the same as the above but for all selected employees.
Deployment guide and validation document
Update the existing README.md with any required configurations needed to run the app against the API.
Important Notes
-
You may have to update the backend code as well. For the backend, you also have to use the develop branch.
-
All create/update operations happen within forms on the sidebar. You may have to create or modify the sidebar components (forms) to create/update information.
-
You will have to deploy the backend locally.
-
The backend repo contains both a Swagger definition and a POSTMAN collection that you can use to see how the API works.
Feel free to ask any questions on the challenge forum.
What To Submit
Submit a git patch for the latest commit in the develop branch.
Make sure to mention the exact commit you used otherwise the reviewers may not be able to test your submission.