This is the app for the Mentors Management system admin. MMS is a people management app that enables proper coordination of mentors needed to execute projects, ranging from recruitment to off-boarding. The project will be built using 100% Kotlin and using the Model-View-ViewModel (MVVM) architecture. You can read more about the guidelines of the recommended architecture here
The app has the following minimum requirements:
minSdk
21targetSdk
andcompileSdk
32- Android studio Chipmunk | 2021.2.1 | Patch 1 or higher is recommended
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 the group
users is listed as follows:
- 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
For this project, stick to the recommended Jetpack Components as much as possible. The idea is to give knowledge of these tools and your certification will be on them. You can read about them here
- Dagger Hilt
- Retrofit
- ViewModel
- LiveData
- Coroutines
- ViewBinding
- Navigation Components
- etc.
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 mechine.
- Open a feature branch from the 'develop' 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-description
egfeature/add-login-functionality
. - Ensure your branch is up to date with latest changes before pushing.
- Reference the issue you worked on in your PRReference the issue you worked on in your PR.
- Open a pull request against the develop branch and request a review from your Team Lead.
- The design can be find here
- Find the Prototype here
- 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.
- Flag issues found in the app. The admin will look into it and give guide on how to creat the issue.