Sign inSign up

edmur/timesheets

By edmur

•Updated about 6 years ago

Automated timesheet generation.

Image
0

100K+

edmur/timesheets repository overview

Timesheets

Automated timesheet generation and timestamp tracking.

Docker Cloud Build Status Docker Cloud Automated build License

⁠About

This project provides a simple and clean looking web interface to help you manage and better track your work time.
Also provides an IFTTT compatible API so that your timestamp markings can be fully automated.
It is also fully configurable to suit your needs, that includes the upload of a custom Spreadsheet to be used as template, that will be automatically filled and sent to the configured email addresses by the end of the month.

⁠Usage

Start the docker container with the commands below:

docker volume create timesheets-storage

docker run -d --name timesheets --restart always \
-p 80:80 -v timesheets-storage:/var/www/html/storage \
edmur/timesheets

Now navigate to http://yourhost:port/⁠ and login.

The default user e-mail is [email protected] and password is changethis.

Make sure to configure the settings in "Settings" section and change email and password on "My Account" section.

  • Environment Variables:
(Mandatory)
MAIL_HOST=smtp.mailserver.com
MAIL_PORT=465
[email protected]
MAIL_FROM_NAME='Timesheet Bot'
[email protected]
MAIL_PASSWORD=myemailpassword
MAIL_ENCRYPTION=ssl/tls/empty

(Optional)
IFTTT_EVENT=my_ifttt_webhook_event
IFTTT_KEY=my-ifttt-webhook-key-here
TZ=America/Sao_Paulo

⁠API Documentation

In addition to using the web interface, you can also use the API to control timestamps.

First, go to "My Account" section, and under API, click Show Key on Your API Key.

The API was designed to be triggered by IFTTT Webhook service.

It can guess the Content-Type encoding. Works well with JSON and x-www-form-urlencoded.

⁠Endpoints
⁠POST Timestamp IN

Creates a new Entry Timestamp.

{{URL}}/api/timestamp/in
⁠Body
FieldTypeDescription
api_keyStringYour API Key.
tsStringThe timestamp in IFTTT "moment" format. Smart guess otherwise.
⁠Returns
Status CodeMessageReason
200Timestamp inserted successfully
400Missing %prop% on request bodyMalformed Request, fix the issues and retry.
⁠POST Timestamp OUT

Creates a new Exit Timestamp.

{{URL}}/api/timestamp/in
⁠Body
FieldTypeDescription
api_keyStringYour API Key.
tsStringThe timestamp in IFTTT "moment" format. Smart guess otherwise.
⁠Returns
Status CodeMessageReason
200Timestamp inserted successfully
400Missing %prop% on request bodyMalformed Request, fix the issues and retry.
⁠PUT Timestamp EDIT

Edits an existing Timestamp.

{{URL}}/api/timestamp/id/{id}
⁠Body
FieldTypeDescription
api_keyStringYour API Key.
tsStringThe new value of the timestamp being overriden.
⁠Returns
Status CodeMessageReason
200ok
400Missing %prop% on request bodyMalformed Request, fix the issues and retry.
⁠DELETE Timestamp DELETE

Edits an existing Timestamp.

{{URL}}/api/timestamp/id/{id}
⁠Body
FieldTypeDescription
api_keyStringYour API Key.
⁠Returns
Status CodeMessageReason
200ok
400Missing %prop% on request bodyMalformed Request, fix the issues and retry.

⁠To Do

⁠Melhorias
  • Adicionar observação diária

  • Adicionar possibilidade de gerar nova API Key

Tag summary

Content type

Image

Digest

Size

242.6 MB

Last updated

about 6 years ago

docker pull edmur/timesheets