ALC Mentors Management System (MMS) Mentor
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
Prerequisites
The app has the following minimum requirements:
minSdk
21
targetSdk
and compileSdk
32
- Android studio Chipmunk | 2021.2.1 | Patch 1 or higher is recommended
App Features
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:
Mentor
- 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
Development tools of choice
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
Libraries:
- Dagger Hilt
- Retrofit
- ViewModel
- LiveData
- Coroutines
- ViewBinding
- Navigation Components
- etc.
How to use this repo
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
eg feature/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.
Design
- The design can be find 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.
Creating issue for your Teams
- Your Issues should take this simple pattern for easy identification by your team members: feature or bug name-mmm-team-9
- Find a sample here