Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose of the solution.

The Vacation management system is designed to ensure transparency in the accrual and management of vacations for employees of small IT companies. Takes into account the realities of Ukrainian IT.

Brief description of the business process

There are three roles in the system:

  1. Employee - the actual employee of the company.
  2. FLM - First Line Manager - team / department leader who is responsible for coordinating Employee vacations.
  3. HR is a manager who is directly responsible for the accouunting of Employee vacations.

Adding new roles is not yet planned.

There are three types of vacations in the system:

  1. Paid vacation
  2. Unpaid vacation
  3. Sick leave

Unpaid vacation

It has no fixed limit in the system. The system records the number of actually used days of unpaid vacation.

Paid vacation

The system has a single limit for all Employees - 14 days from January 01 to December 31. It is also possible to charge an additional number of days for each Employee. Paid vacation is accrued on 14/12 = 1.17 days for each month worked. The balance can be carried over to the next year

Sick leave

The system has a single limit for all Employees - 5 days from January 01 to December 31. The entire limit is available starting January 1st. Does not carry over to the next year.

Brief description of technical details

Authorization and authentication in the system is based on the use of a corporate Google account.

Installation

  1. go build -o vms main.go
  2. create target folder <Vacation Management System>
  3. copy the executable to <Vacation Management System> create subfolders:
    1. <Vacation Management System>/ini
    2. <Vacation Management System>/storage
    3. <Vacation Management System>/ui
  4. copy the contents of the ui folder from the repository to the <Vacation Management System>/ui
  5. In the <Vacation Management System>/ini folder, place the vs.ini file created on the basis of example.ini, pre-filling it with configuration information.
    1. auth section - Google's OAuth configuration
    2. session section - session configuration for gorilla/sessions
  6. cd <Vacation Management System>/storage
  7. sqlite3 vs. sqlite < <path_to_rep>/storage/init/01.create.tables.sql
  8. Insert at least 1 user with type HR
    INSERT INTO users(email, title, startDate, userType, flm) VALUES('<email>', '<User_title>','2021-12-31','HR', 0)
  9. Run executable
  10. Log in to the system under the created user(HR)
  11. Configure:
    1. Create accounts for company employees
    2. Add an extra days-off

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages