timesheet

command module
v0.0.0-...-402636f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2019 License: MIT Imports: 1 Imported by: 0

README

Timesheet

GitHub release GitHub issues GitHub license PayPal Donate

Web application to report consulting hours on projects using selected rates on a weekly bases. Supports export into csv.

Requirements

  • Linux, Windows or MacOS
  • DB connection to PostgreSQL - configute in timesheet.yaml
  • Initiallize the DB using command timesheet db --clean
  • Import initial data in csv format using command timesheet db --load all
    • (dates should be entered in ISO format YYYY-MM-DD HH:MM:SS)
    • consultants, projects, rates, holidays, initial reported records - optional

Screenshots

Main screen

Download

  • Releases (MS Windows 64bit, Linux 64bit, Mac OS X 64bit)

Usage

Web based timesheet application with DB persistence.

Application reads DB and server configuration from config.toml, loads default data if DB is empty and launch web GUI.

Usage:
  timesheet [command]

Available Commands:
  db          Loads or cleans DB. See timesheet help db
  help        Help about any command
  routes      Prints the list of all available routes
  server      Starts the server on URL and port defined in config.yaml

Flags:
      --config string   config file (default is ./timesheet.yaml)
  -h, --help            help for timesheet
  -v, --version         Prints application versions

Use "timesheet [command] --help" for more information about a command.

Standing on the shoulders of giants

Go, Vue, Vuetify, PostgreSQL

Backend

Frontend

Todo

  • IMPORTANT
    • always show full week, calculate month inputs correctly
    • auto retrieve weekly data from backend when week is changed
  • overview
    • show in days
    • edit overtime and total working time per week, month
    • compare weekly reported time against nominal total time
  • Export plugin to excel and csv

Fixes

  • implement rollback in js store if DB fails
  • Edit records
    • do not save the value id ESC is pressed

Improvements business

  • Ability to lock last week
  • Add validations on entered data
  • Show only available rates per project
  • Paginate and sort server-side - using vuetify data table
  • Consistency checks
  • Add billing evidence
  • Export to csv plugin

Improvements technical

/* eslint-disable-line no-console */

To get started

# clone repository
go get github.com/valasek/timesheet
cd $GOPATH/src/github.com/valasek/timesheet

# install Go dependencies (and make sure ports 3000/8080 are open)
go get -u ./... 
go run timesheet.go

# open a new terminal and change to the client dir
cd client

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run serve

# build for production with minification
npm run build

License

MIT license - see LICENSE for more details

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL