Skip to content

An navite android application with ktor powered backend to bring collegs leave managements system online

Notifications You must be signed in to change notification settings

POULASTAAdAS/Leave-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

Leave Management Native Android Application

LMS is a online native android application. It has 3 level of user.Permenent or SACT , Department Head , Principal or Headclark. Permenet or SACT teacher can apply for leave and view leave status and department head can also apply for leave and view his or her leave status also can approve or reject premenent or sact teacehr leave request also can download previous leave history or that department. As for Principal he or she can approve or reject all facaltys leave and update any facalty mem leave balance and add or remove facalty members. Also download a detailed leave report.

Features

  • Lavel based email (easy and fast) Authentication
  • Fast as easy apply of leave
  • Easily accessable leave status
  • View Leave balance with one click
  • Downloadable Leave Report as pdf with one click
  • One click Updatetion of leave balance also auto update on every year
  • Easily Add or remove employee
  • Assign New Department Head or change existing with one click
  • Detailed Profile View
  • Update personal details
  • Mail notification on every step

Technology

Client

  • Kotlin Programing Language
  • Jetpack Compose - Ui Library
  • OkHttp - Http Client to make api Request
  • Paging3 - A Jetpack compose library to load data as needed
  • Download Manager - Efficiantly Download Report as pdf format
  • Room - SqlLight Database for android
  • Dagger Hilt - Dependency Management Tool for Android

    Server

  • Ktor - evented I/O for the Server
  • Exposed - Server side Sql Database
  • koin - Dependency management tool for server
  • gradle.kt - the streaming build system

Installation

  1. Clone the repo:
   git clone https://github.com/POULASTAAdAS/Leave-Management-System.git
  1. Setup enveroinment variables for the server project:

    BASE_URL= email= password= sessionEncryptionKey= sessionSecretKey=

  2. Run the docker-compose.yml file on path this will create databsae lms and nessery tables for more deatils view the sql file 3.1 Change the emails on the sql file before runing docker compose 3.2 See application.conf file for setting up the urls and port

    docker compose up -d

By default the server port is exposed on 8080 and database port on 3311

This is all for server side setup as for client side

  1. Setup the same base url on local.properties file
    BASE_URL=

And you are good to go

Preview

License

Designed and developed by 2023 Poulastaa Das

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.