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.
- Employee - the actual employee of the company.
- FLM - First Line Manager - team / department leader who is responsible for coordinating Employee vacations.
- HR is a manager who is directly responsible for the accouunting of Employee vacations.
Adding new roles is not yet planned.
- Paid vacation
- Unpaid vacation
- Sick leave
It has no fixed limit in the system. The system records the number of actually used days of unpaid 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
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.
Authorization and authentication in the system is based on the use of a corporate Google account.
go build -o vms main.go- create target folder <Vacation Management System>
- copy the executable to <Vacation Management System>
create subfolders:
- <Vacation Management System>/ini
- <Vacation Management System>/storage
- <Vacation Management System>/ui
- copy the contents of the ui folder from the repository to the <Vacation Management System>/ui
- 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.
- auth section - Google's OAuth configuration
- session section - session configuration for gorilla/sessions
cd <Vacation Management System>/storagesqlite3 vs. sqlite < <path_to_rep>/storage/init/01.create.tables.sql- 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) - Run executable
- Log in to the system under the created user(HR)
- Configure:
- Create accounts for company employees
- Add an extra days-off