Skip to content

streamlines permission request / grant mechanism and, notifies employees whether their request has been approved or not through mail / sms

License

Notifications You must be signed in to change notification settings

nijuyonkadesu/Celestidesk

Repository files navigation

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

  • Retrofit - network client
  • ROOM's FTS - Full Text Searching
  • Dagger Hilt - Dependency Injection
  • flow & coroutines
  • M3 - Bottom bar, chips, input fields, etc
  • Repository Pattern - Architecture
  • MVVM - Architecture
  • Gradle Version Catalog

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/"
  1. Compile and run
  2. Don't forget to use Application Inspector option for debugging network