PROTT  Top-level Files of tip

Files in the top-level directory from the latest check-in

  • .gitignore
  • proto
  • screenshoots
  • svc
  • ui
  • docker-compose-basic.yml
  • how-to-run.md
  • LICENSE
  • PROTT.sql
  • README.md

PROject Time Tracker

freely inspired by React-TimeTracker

with much simplified stack to react+sqlite3

see database structure to understand how it works

there are 3 base roles in app:

  • guest, can only view data, can view public projects
  • user, can fill timesheet, can have team role (eg. developer, analyst, tester,...)
  • admin, can manage users, projects

in addition to these roles, user can get team role (see ROLE table), eg developer, tester,... and these roles are then paired with project tasks. User is assigned to project not to task, so role match is used to display proper tasks in timesheet.

some screens

main application console screen

console

project groups (client) list

rather then client it is group of projects :). Each client card contains info about:

  • num of project in this group,
  • total num of tasks
  • total num of assigned users
  • last update of timesheet on any project

add client

add new client

add client

project list

each project card contains info about:

  • planned start & end date of project
  • total estimated (planed) hours on all project tasks
  • already spent time on tasks

logo

add project

project is somehow timebounded but its endTime is not used, it is just informative value

addl project

task list

each task card contains info about:

  • planned start & end date of task
  • planned estimated task hours

logo

add task to project

project task is timebounded and has estimated workday time that is adjusted from dates to workdays only. Task also contains resource ratio where manager can assign employee allocation, eg. 1 = 1 employed works on task, 1.1 = one and 1/10... this allows to plan resources better and create project burndown chart.

Task also defines team role for which will be available in timesheet, only users assigned to these roles can see such a tasks in timesheet.

add task

add team member

each team member can be assigned to app role (guest, user, admin) and also to team roles (user defined). team roles are used with tasks and timesheet, see tasks.

add employee

assign project to employee

in PROTT project are assigned to team members, not tasks. While it looks weird, I decided to keep this idea from react-timetracker. It makes whole app very lightweight and simple.

logo

fill Timesheet

fill timesheet is made as much comfortable as possible as it is great annoyance for anybody :)

fill week timesheet

edit Timesheet day

this is why each day opens dialog with predefined values, easy to change or enhance

fill week timesheet

users activity on project report

report displays user activity within past 2 months.

  • Blue - all activities
  • green - productive (paid) activities
  • red - non productive activities

user activity report

project activity report

report displays project activities within past 2 months

user activity report