Skip to content

Commit 163c653

Browse files
Merge pull request #118 from is212g7t5/jon/G7T5-178
[G7T5-178] Update main README with feature descriptions
2 parents f387392 + 899e055 commit 163c653

23 files changed

+172
-3
lines changed

README.md

Lines changed: 172 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@
2929
<a href="#getting-started">Getting Started</a>
3030
</li>
3131
<li><a href="#continuous-integration">Continuous Integration</a></li>
32-
<li><a href="#usage">Usage</a></li>
32+
<li>
33+
<a href="#usage">Usage</a>
34+
<ul>
35+
<li><a href="#access-control">Access Control</a></li>
36+
<li><a href="#staff-features">Staff Features</a></li>
37+
<li><a href="#hr-features">HR Features</a></li>
38+
<li><a href="#manager-features">Manager Features</a></li>
39+
</ul>
40+
</li>
3341
<li><a href="#license">License</a></li>
3442
</ol>
3543
</details>
@@ -50,7 +58,9 @@ This Learning Journey Planning System aims to allow All-In-One staff to set thei
5058
Find the project live at:
5159

5260
- [Web Application](https://spm-g7t5.netlify.app/)
53-
- [Backend Documentation](http://spm-g7t5-api.herokuapp.com/docs)
61+
- [Backend Documentation](http://spm-g7t5-api-prod.herokuapp.com/docs)
62+
63+
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.
5464

5565
<p align="right">(<a href="#top">back to top</a>)</p>
5666

@@ -102,10 +112,169 @@ Refer to the relevant CI pipeline scripts in `/.github/workflows`.
102112
<!-- USAGE EXAMPLES -->
103113
## Usage
104114

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+
<img src="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.
123+
<img src="assets/session_storage.png" alt="Session Storage" />
124+
125+
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.
138+
139+
<img src="assets/staff/learning_journey.png" alt="Staff Learning Journey" />
140+
141+
Clicking into the menu button unique to each learning journey allows us to view more details or delete a learning journey.
142+
143+
<img src="assets/staff/learning_journey_menu.png" alt="Staff Learning Journey Menu" />
144+
145+
##### Learning Journey Details
146+
147+
Clicking on `view` leads us to the specific details of a particular learning journey.
148+
149+
<img src="assets/staff/learning_journey_detail.png" alt="Staff Learning Journey Detail" />
150+
151+
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.
154+
155+
<img src="assets/staff/edit_learning_journey.png" alt="Staff Edit Learning Journey" />
156+
157+
Selecting a skill brings up a menu of its respective courses, which can then be added to the current learning journey.
158+
159+
<img src="assets/staff/learning_journey_skill_course.png" alt="Staff Learning Journey Skill Course" />
160+
161+
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.
168+
169+
<img src="assets/staff/skills.png" alt="Staff Skills" />
170+
171+
#### Courses
172+
173+
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`).
176+
177+
<img src="assets/staff/courses.png" alt="Staff Courses" />
178+
179+
#### Job Roles
180+
181+
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.
182+
183+
<img src="assets/staff/jobs.png" alt="Staff Jobs" />
184+
185+
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.
190+
191+
<img src="assets/staff/create_learning_journey.png" alt="Staff Create Learning Journey" />
192+
193+
Selecting on a required skill brings up a list of courses, which can then be added to the learning journey.
194+
195+
<img src="assets/staff/create_learning_journey_skill_course.png" alt="Staff Create Learning Journey Skill Course" />
196+
197+
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+
<img src="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.
215+
216+
<img src="assets/hr/create_skill.png" alt="HR Create Skill" />
217+
218+
#### Edit
219+
220+
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.
221+
222+
<img src="assets/hr/edit_skill.png" alt="HR Edit Skill" />
223+
224+
#### Deactivate
225+
226+
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.
227+
228+
<img src="assets/hr/deactivate_skill.png" alt="HR Deactivate Skill" />
106229

107230
<p align="right">(<a href="#top">back to top</a>)</p>
108231

232+
### Courses
233+
234+
A similar view to the Staff's version of skills is displayed, with the addition of 1 button:
235+
- `Edit`
236+
237+
Also, course statuses are displayed via color coded tags (`Active`, `Pending` and `Retired`) instead of the course registration status.
238+
239+
<img src="assets/hr/courses.png" alt="HR Courses" />
240+
241+
#### Edit
242+
243+
Selecting the `Edit` option on a course brings up its respective edit course page. Skills can be assigned/removed using the dropdown box and crosses.
244+
245+
<img src="assets/hr/edit_course.png" alt="HR Edit Course" />
246+
247+
### Job Roles
248+
249+
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+
<img src="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.
259+
260+
<img src="assets/hr/create_job.png" alt="HR Create Job" />
261+
262+
#### Edit
263+
264+
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.
265+
266+
<img src="assets/hr/edit_job.png" alt="HR Edit Job" />
267+
268+
#### Deactivate
269+
270+
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.
271+
272+
<img src="assets/hr/deactivate_job.png" alt="HR Deactivate Job" />
273+
274+
### Manager Features
275+
276+
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.
277+
109278
<!-- LICENSE -->
110279
## License
111280

assets/access_control_toggle.png

9.31 KB
Loading

assets/hr/courses.png

94.7 KB
Loading

assets/hr/create_job.png

53.3 KB
Loading

assets/hr/create_skill.png

51.3 KB
Loading

assets/hr/deactivate_job.png

20.7 KB
Loading

assets/hr/deactivate_skill.png

26.8 KB
Loading

assets/hr/edit_course.png

69.5 KB
Loading

assets/hr/edit_job.png

79.2 KB
Loading

assets/hr/edit_skill.png

69.3 KB
Loading

assets/hr/jobs.png

113 KB
Loading

assets/hr/skills.png

101 KB
Loading

assets/session_storage.png

34.5 KB
Loading

assets/staff/courses.png

124 KB
Loading
135 KB
Loading
Loading
183 KB
Loading

assets/staff/jobs.png

104 KB
Loading

assets/staff/learning_journey.png

83.1 KB
Loading
70.3 KB
Loading
60.8 KB
Loading
Loading

assets/staff/skills.png

99.3 KB
Loading

0 commit comments

Comments
 (0)