This is the app for the Mentors Management system. MMS is a people management app that enables proper coordination of mentors needed to execute projects, ranging from recruitment to off-boarding.
The app has the following minimum requirements:
NodeJSv16Yarn
The main app features and functionalities are as follows:
- Authentication/Authorization
- Recruitment
- Communication and Engagement
- Program Scheduling
- Activities Tracking and Reporting
- Discussion Forum
There are three groups of user categories namely Admin, Mentor Manager(MM), and Mentor. The expected access levels
for this group
users is listed as follows:
Team 1 to 4: Users (Update profile, change password, reset password) Programmes (Create, Read, Update, Delete) Programme Applications (Create, Read, Update, Delete)
Team 5 to 7: Tasks (Create, Read, Update, Delete) Reports (Create, Read, Update, Delete) CERTIFICATE (Create, Read, Update, Delete)
Team 8 to 10: Chat (Create, Read, Update, Delete) DISCUSSION (Create, Read, Update, Delete) NOTIFICATIONS (Create, Read, Update, Delete)
- Login/Logout
- Create program
- Add MM
- Add mentor
- Label/unlabel MM
- Label/unlabel mentors
- See the list of all MM
- See the list of all mentors
- Browse MM details
- Browse mentor’s details
- Search by name, category, region, program, engagement status
- Assign/unassign MM to program
- Assign/unassign mentor to program
- Archive a program
- Delete a program
- Generate program report at interval
- Download program report
- Share program report via email
- Generate MM report
- Delete MM
- Delete mentor
- Receive notification from MM activities
- Generate MM certificate
- Generate mentor certificate
- Approve mentor certificate generated and shared by MM
- Send broadcast message to all MM
- Send broadcast message to all mentors
- Chat 1:1 with any user
- See the list of mentors’ applicants
- Set up criteria for selection
- Generate the list of selected mentors
- Message the list of selected mentors
- Generate the list of unselected mentors
- Message the list of unselected mentors
- Engage on the discussion forum etc.
- Apply to be a mentor
- Receive application status message
- Login/Logout
- Set up my profile
- Access assigned programs
- Access the list of assigned tasks
- Apply to be assigned to a program/tasks
- Engage on the discussion forum
- Browse assigned MM’s details
- Compose updates on your assigned tasks
- Share tasks’ update with your assigned MM
- Receive notification from task’s assignment
- Apply for mentor certificate
- Receive notification to download or not qualify for the certificate
- Chat 1:1 with any user
- Login/Logout
- Set up my profile
- Access assigned programs
- Add mentor to the system
- See the list of all mentors
- Browse mentor’s details
- Search mentors by name, category, region, program, engagement status
- Assign/unassign mentor to program
- Generate mentors’ report
- Share the report
- Delete mentor
- Receive notification from mentor activities
- Generate mentor certificate
- Share the certificate with Admin
- Send approval request for mentor certificate
- Send broadcast message to all MM
- Send broadcast message to all mentors
- Chat 1:1 with any user
- Engage on the discussion forum
To use and contribute to the project, do the following:
- Fork it to your GitHub account.
- Clone the repo with the command git clone to your local machine.
- Open a feature branch from the 'dev' branch.
- Make sure the name is descriptive for your branch but not too long. Lead with what the the branch is doing
eg new feature or bug but follow this pattern
type/branch-descriptionegfeature/add-login-functionality. - Ensure your branch is up to date with latest changes before pushing, (always pull from origin dev before you push).
- Reference the issue you worked on in your PRReference the issue you worked on in your PR.
- Open a pull request against the dev branch and request a review from your Team Lead.
- Install and create a MySQL database
- Create a .env file in the root directory
- Set the environment variables with your local database credentials (see .env.example for reference)
- The design can be find here
- Find the Prototypes here Admin Mentor Manager Mentors
- Work on your Team assigned task eg. Team 1, Team 2 etc.
- NOTE: Stickly adhere to the style guide on the design, buttons, texts etc.
- Your Issues should take this simple pattern for easy identification by your team members: feature or bug name-mmm-team-1
- Find a sample here
$ yarn install# development
$ yarn start
# watch mode
$ yarn dev
# production mode
$ yarn start:prod# unit tests
$ yarn run test
# e2e tests
$ yarn run test:e2e
# test coverage
$ yarn run test:cov