Skip to content

Time Tracking

Chetan Khandla edited this page Apr 27, 2020 · 10 revisions

Schema

Note : Date and time will be in UTC timezone.

timesheet

employeeId
approvedById
duration
keyboard
mouse
overall
startedAt
stoppedAt
approvedAt
submittedAt
lockedAt
isBilled
status

time_log

employeeId
timesheetId
projectId
taskId
clientId
startedAt
stoppedAt
logType
description
duration
isBillable
deletedAt

time_slot

employeeId
duration
keyboard
mouse
overall
startedAt
stoppedAt

screenshot

timeSlotId
fullUrl
thumbUrl
recordedAt

activity

title
data
duration
type

TimeSheet

  • Timesheet is Weekly weekly time sheet. It has average of the keyboard, mouse and activity.
  • Timesheet has status like pending, approved, rejected and etc...

TimeLogs

  • Timelogs is logs when start timer and when stop timer. Timelog store priorities like bailable, project, task, client, description and employee

I.e: 2020-05-27 10:00:00 to 2020-05-27 13:00:00, 2020-05-27 14:00:00 to 2020-05-27 18:00:00 ...

TimeSlots

  • Timeslots is 10 min slot for the time taking.

    I.e: 2020-05-27 10:00:00 to 2020-05-27 10:10:00, 2020-05-27 10:10:00 to 2020-05-27 10:20:00, 2020-05-27 10:20:00 to 2020-05-27 10:30:00 ...

  • We have not defined relation between timeslots and timelogs because maybe possible one timeslot has multiple logs. I.e: Assume below is the timelogs. So in this case the timeslot 2020-05-27 10:00:00 - 2020-05-27 10:10:00 has two timelogs.

    2020-05-27 09:00:00 - 2020-05-27 10:04:00 2020-05-27 10:06:00 - 2020-05-27 11:00:00

  • Timeslot has keyboard, mouse, screenshots, and activity.

Screenshots

  • Store path of the screenshot and it has many to one relation with Timeslot.

Activity

  • app and url activity will be store in two different rows.
  • it has many to one relation with Timeslot.
  • Percentage or number of activity store in data,
  • type will be app or url
  • title will be name of website or app.