You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Due to the deployment location of the services in the US, access in other regions might face delays. This latency optimization will be resolved in subsequent releases.
54
64
55
65
<palign="right">(<ahref="#top">back to top</a>)</p>
56
66
@@ -102,10 +112,169 @@ Refer to the relevant CI pipeline scripts in `/.github/workflows`.
102
112
<!-- USAGE EXAMPLES -->
103
113
## Usage
104
114
105
-
To be updated nearer to first release.
115
+
### Access Control
116
+
117
+
Access control is currently being segmented into 4 possible states (`Not logged in`, `Staff`, `HR` amd `Manager`). Use the dropdown menu in the top-right corner of the navbar to toggle between the 3 logged in states.
118
+
<imgsrc="assets/access_control_toggle.png"alt="Access Control Toggle" />
119
+
120
+
Selecting one of the three possible states simulates the access control permissions of the particular state. Each of these states is also pegged to a specific user (specified by `id`) and the default can be changed in `/app/src/contexts/UserContext.jsx`, as defined in the `USER_TYPES` const.
121
+
122
+
Alternatively, the states can be changed through the session storage of the web browser followed by a web browser refresh. For example, the `userId` and `user` can be changed as seen below.
By extension, this means that users, with multiple roles, should log in as each of their role in order to access that role's features.
126
+
127
+
> For e.g., a HR user should log in as a `Staff` to view their learning journey planning, but log in as a `HR` to edit the jobs available.
128
+
129
+
This design choice was made to facilitate a clean user interface (not having both "user" and "admin" related permissions in the same location), which will ultimately be supported by a role-separated login page in subsequent releases.
130
+
131
+
### Staff Features
132
+
133
+
Logging in as a Staff allows us to access learning journey planning features.
134
+
135
+
#### Learning Journey
136
+
137
+
By default, the main page (https://spm-g7t5.netlify.app/) leads us to the overview of a Staff's learning journeys.
Within this view, we're able to see the current courses planned for a learning journey, which includes the course status and skills of each of the courses. On the right, we're able to see the target job role of the learning journey, as well as its respective skills.
152
+
153
+
Clicking on `Edit Learning Journey` allows us to add/remove courses to the learning journey.
Alternatively, clicking the cross on existing courses at the bottom removes the course from the learning journey. Do note that there is a minimum of 1 course in each learning journey.
162
+
163
+
Finally, selecting `Update Learning Journey` saves the course changes.
164
+
165
+
#### Skills
166
+
167
+
Navigate to the skills page (https://spm-g7t5.netlify.app/skills) or click on the `Skills` tab in the navbar to view all active skills. Clicking on any of the skills reveals the skill's descriptions and its accompanying courses.
Navigate to the courses page (https://spm-g7t5.netlify.app/courses) or click on the `Courses` tab in the navbar to view all active courses. Clicking on any of the courses reveals the course's descriptions and its accompanying skills.
174
+
175
+
Each course also carries a color-coded tag, which can either be (`Not registered`, `Waitlist`, `Rejected`, `Registered`, `OnGoing`, `Completed`).
Navigate to the job roles page (https://spm-g7t5.netlify.app/jobs) or click on the `Job Roles` tab in the navbar to view all active job roles. Clicking on any of the job roles reveals the job role's descriptions and its accompanying skills.
It is also on this page where new learning journeys are created. The `+ New Learning Journey` button in the navbar will reroute the user to this page so that they can specify the job role that they want to create a new learning journey for. This is then completed by clicking on the `Create Learning Journey` button for the desired job role.
186
+
187
+
##### Creating a Learning Journey
188
+
189
+
In the create learning journey page, the job details are displayed at the top, followed by the respective skills, similar to the update page earlier.
Once at least 1 course is added to the learning journey, the `Create Learning Journey` button becomes active and the user can create the learning journey with the associated courses.
198
+
199
+
### HR Features
200
+
201
+
Logging in as HR allows us to access skill, course and job role management features.
202
+
203
+
#### Skills
204
+
205
+
A similar view to the Staff's version of skills is displayed, with the addition of 3 buttons:
206
+
-`Create New Skill`
207
+
-`Edit`
208
+
-`Deactivate`
209
+
210
+
<imgsrc="assets/hr/skills.png"alt="HR Skills" />
211
+
212
+
##### Create New Skill
213
+
214
+
Selecting the `Create New Skill` option brings up a page to furnish the skill name and description for a new skill. By default, new skills are set to active.
Selecting the `Edit` option on a skill brings up its respective edit skill page. Changes in the fields will then be saved after using the `Update Skill` button.
Selecting the `Deactivate` option on a skill brings up a confirmation window to "soft-delete" a skill (i.e. set the skill to inactive). This would prevent Staff users from viewing the respective skill.
A similar view to the Staff's version of job roles is displayed, with the addition of 3 buttons:
250
+
-`Create New Job`
251
+
-`Edit`
252
+
-`Deactivate`
253
+
254
+
<imgsrc="assets/hr/jobs.png"alt="HR Jobs" />
255
+
256
+
##### Create New Job
257
+
258
+
Selecting the `Create New Job` option brings up a page to furnish the job name and description for a new job. In addition, skills can be assigned in this page. By default, new jobs are set to active.
Selecting the `Edit` option on a job role brings up its respective edit job role page. Changes in the fields will then be saved after using the `Update Job` button.
Selecting the `Deactivate` option on a job role brings up a confirmation window to "soft-delete" a job role (i.e. set the job role to inactive). This would prevent Staff users from viewing the respective job role.
Currently, none of the first release features is unique to Managers, and therefore no notable features is available under this role. Future features such as viewing the skills of their team members will be added in subsequent releases.
0 commit comments