Skip to content

theautomatist/Time-Manger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Time Manager

The goal is to create a database for documenting the time spent on projects. ➔ Who did what, when, and to what extent for which project?

Key Features:

  • Recording data on which employee was involved in which project and for how long.
  • Assigning specific projects to project categories (e.g., Training Project, Database Project, Research Project, etc.).
  • Associating projects with specific customers.
  • Categorizing individual activities (e.g., Customer Consultation, Software Development, Software Testing, Documentation) with respective hourly rates (e.g., simple → €50/h, medium → €75/h, complex → €100/h, etc.).
  • Assigning each employee to a department.
  • Associating a fixed salary with each employee.

The model should support the following analyses:

  • Total time spent on each project.
  • Total project costs.
  • Percentage contribution of each department to a project.

Solution

It is necessary to document some assumptions to build a satisfying solution.

  1. This model has been designed to fulfill specific requirements rather than being developed for real-world use cases.
  2. Information can only be added, not modified.
  3. There will be no database migration

Entity Relationship Diagram


SVG-Bild

phpMyAdmin View

SVG-Bild

Chen Notation

SVG-Bild

Dataprocessing

An interface allows the user to create new records. The interface supports the user by displaying already existing information. Errors during creation are displayed in the interface.

The project analysis is performed with simple sql commands. Here you can see these commands.

The webinterface is created with flask. The diagrams are created with pltoly. The python database interaction is realized with sqlalchemy. phpMyAdmin is used to see what is going on in the database.

web ui

Demo

Interface

phpMyAdmin (read only)

  • host: mariadb
  • user: spectator
  • no password

About

Flask/SQLAlchemy project that models a project time-tracking database (who did what, when, and for how long) and provides a simple web UI plus SQL-based analysis for totals, costs, department contributions, customers, and activity-based hourly rates (includes ERD diagrams and Docker setup).

Topics

Resources

Stars

Watchers

Forks

Contributors