Skip to content

A Python application for managing and tracking employees' working hours in a company. Features include login phase, logging work hours, generating timesheets, and reporting.

License

Notifications You must be signed in to change notification settings

Elbarbons/OCA-EmployeeTimeTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OCA-EmployeeTimeTracker

OCA-EmployeeTimeTracker is a Python application designed to manage and track employees' working hours in a company. It allows you to log work hours, generate timesheets, and create reports to ensure efficient time management and payroll processing. It was created for free for an Italian company composed of 50 employees to speed up payroll processing and better manage working hours allocated to projects based on the projects' budget. The application is written in Python using the library ttkinter and utilizes an SQL database to store and retrieve all the data.

Features

  • Login page

Login page.

  • Worker page: where workers can log work hours and consult, sort, filter, and delete previously inserted work hours.

Worker page.

  • Manager page: managers can access to a menu in which they can navigate to three different screens:
    • One where they can define new clients and jobs
    • One where they can consult workers' work hours grouped by client, job, and type of job (useful to check the amount of working hours spent on different projects)
    • One where they can consult workers' work hours grouped by worker name, job, and type of job (useful for creating paychecks at the end of the month)

Manager page.

  • Admin page: admins can insert, delete, and edit users.

  • Logs writing: the application automatically logs all the errors in a .log file.

Installation

To install and run the application, follow these steps:

  1. Clone the repository:
git clone https://github.com/Elbarbons/OCA-EmployeeTimeTracker.git
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Create the database and the tables needed for the application to work. These are the required tables:
  • oca.users :

    • Username [VARCHAR(100)] PK - Not Nullable
    • Password [VARCHAR(100)] Not Nullable
    • Ruolo [VARCHAR(100)] Not Nullable
    • Nome [VARCHAR(100)] Not Nullable
    • Cognome [VARCHAR(100)] Not Nullable
    • CostoOrario [INT], firstLogin[INT]
  • oca.commesse:

    • Nome [VARCHAR(100)] PK - Not Nullable
    • Tipo [VARCHAR(100)] PK - Not Nullable
    • Cliente [VARCHAR(100)], Descrizione [VARCHAR(200)]
    • Budget [INT]
  • oca.storico_commesse :

    • CognomeLavoratore [VARCHAR(100)] PK - Not Nullable
    • Data [Date] PK - Not Nullable
    • Ore [INT] PK - Not Nullable
    • Commessa [VARCHAR(100)] PK - Not Nullable
    • TipoCommesa [VARCHAR(100)] PK - Not Nullable
    • Cliente [VARCHAR(100)] PK - Not Nullable
  1. To connect to your database, set the HOST, USER, PASSWORD, and DB variables in the DBOperations.py file.

  2. Run the application:

python main.py

Contributing

Contributions are welcome!

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A Python application for managing and tracking employees' working hours in a company. Features include login phase, logging work hours, generating timesheets, and reporting.

Topics

Resources

License

Stars

Watchers

Forks

Languages