nijuyonkadesu / Celestidesk

streamlines permission request / grant mechanism and, notifies employees whether their request has been approved or not through mail / sms
GNU Affero General Public License v3.0
0 stars 0 forks source link
coroutines data-store datetime error-handling full-text-search loading-indicator material3 mvvm-architecture navgraphs repository-pattern retrofit2 room-database sealed-class secrets-management

Celestidesk

Basic idea is: you create a request as a employee. It gets escalated to the teamlead. It is further escalated to the manager. If approved, the employee sees it in his approved list. Else in rejected list. Uses this beautiful backend by @niyasrad

Multiple person can function under a specific role, and they can collectively approve or deny requests. An option for emergency request is given. Because, unavoidable situations do occur.

There are 4 Roles: EMPLOYEE, TEAM_LEAD, MANAGER and EMERGENCY

Request Screen

employee creating a request

Approval & Transaction Screen

making a decision on the request history of decisions

Motivation

To eliminate the need for writing a letter, and getting it signed by faculties for the permission to leave the hostel. Yea, it's a one heck of work, and to maintain those paper records are another headache for the faculties. Now, with one click, the request can be granted, and it's all well recorded and mailed to authorities every month. Students can now show the approved requests to the appropriate person before leaving the campus. And yea, you can't cheat, I will stricken out the expired requests šŸ¤­ so it is obvious.

Stack

Download APK

Go to the Releases to download the latest APK Soon there will be a official playstore release

Contribution

Feel free to create issues, and send a pull request. A healthy discussion is what will make the community stronger.

  1. Clone and setup the backend repository in local
  2. Clone this repository and open in android studio
  3. Fill the following details in local.properties file ('base_url' of the backend is the most important). Mail is not used within celestidesk app, will be removed soon
    mail_id="xx@xx.xxx"
    mail_pwd="xxxx"
    mail_to="xx@xx.xxx"
    base_url="https://somewhere.ontheworld.com/"
  4. Compile and run
  5. Don't forget to use Application Inspector option for debugging network