{"id":13469756,"url":"https://github.com/valasek/timesheet","last_synced_at":"2025-04-04T08:04:54.549Z","repository":{"id":39480529,"uuid":"163708611","full_name":"valasek/timesheet","owner":"valasek","description":"Self-hosted application to manage project reporting.","archived":false,"fork":false,"pushed_at":"2025-01-20T10:29:12.000Z","size":72199,"stargazers_count":164,"open_issues_count":30,"forks_count":53,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-28T07:03:20.463Z","etag":null,"topics":["consultant","gin-gonic","golang","hours-reporting","quasar","quasar-framework","reporting","reporting-tool","self-hosted","timesheet","timesheets","vue"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valasek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"valasek","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2019-01-01T02:22:24.000Z","updated_at":"2025-02-21T19:57:21.000Z","dependencies_parsed_at":"2025-02-28T13:14:02.554Z","dependency_job_id":"1aa5980a-9379-4e68-9c30-e7f2fe144e3b","html_url":"https://github.com/valasek/timesheet","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valasek%2Ftimesheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valasek%2Ftimesheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valasek%2Ftimesheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valasek%2Ftimesheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valasek","download_url":"https://codeload.github.com/valasek/timesheet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247138368,"owners_count":20890028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["consultant","gin-gonic","golang","hours-reporting","quasar","quasar-framework","reporting","reporting-tool","self-hosted","timesheet","timesheets","vue"],"created_at":"2024-07-31T15:01:54.714Z","updated_at":"2025-04-04T08:04:54.531Z","avatar_url":"https://github.com/valasek.png","language":"Vue","funding_links":["https://github.com/sponsors/valasek","https://www.patreon.com/valasek","https://paypal.me/StanislavValasek"],"categories":["Awesome Quasar [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)","Vue","vue"],"sub_categories":["Tutorials"],"readme":"[![GitHub release](https://img.shields.io/github/release-pre/valasek/timesheet.svg)](https://github.com/valasek/timesheet/releases)\n[![GitHub issues](https://img.shields.io/github/issues/valasek/timesheet.svg)](https://github.com/valasek/timesheet/issues)\n[![Code Climate](https://codeclimate.com/github/valasek/timesheet/badges/gpa.svg)](https://codeclimate.com/github/valasek/timesheet)\n[![Go Report Card](https://goreportcard.com/badge/github.com/valasek/timesheet)](https://goreportcard.com/report/github.com/valasek/timesheet)\n[![Build Status](https://travis-ci.org/valasek/timesheet.svg?branch=master)](https://travis-ci.org/valasek/timesheet)\n\n# Simple Timesheet\n\nNOTE: At the moment project is not actively maintained - which might change if there will be a need for it.\n\nUser-friendly, fast, and reliable web application for weekly / monthly reporting. Report consulting hours on selected projects with further segmentation via rates.\n\n![Screencast](screenshots/screencast.gif?raw=true \"Screencast\")\n\n# Supporting Simple Timesheet\n\nSimple Timesheet is project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider:\n\n- [Become a backer or sponsor on Patreon](https://www.patreon.com/valasek)\n- [One-time donation via PayPal](https://paypal.me/StanislavValasek)\n\n# Documentation\n\nRead full [documentation](./server/documentation/documentation.md).\n\n# Rationale\n\nReporting and billing process includes three separated steps with well-defined data which flows in between:\n* **Time reporting** - all consultants\n  * covered by this app - data are safe, eliminates manual errors, shows important data for consultants, data entry is as easy as possible\n* **Billing preparation** (confirming/editing reported hours for billing) - project manager or administrative person\n  * covered partially by this app. If you bill 1:1 with your reporting then it has all you need\n  * data are available in the DB which can be exported by this app read or exported by any DB tool\n* **Exporting reported and billed hours** in the internal accounting system for the invoicing to the clients and consultants - salaries\n  * not covered by this app\n  * data are available in the DB which can be exported by this app read or exported by any DB tool\n\n# Contributing\n\nI would love your help! Before submitting a PR, please read over the [Contributing](CONTRIBUTING.md) guide.\n\nTo help you to get started you can read how to [run the Timesheet from the source](https://github.com/valasek/timesheet/wiki/Run-the-Timesheet-from-the-source).\n\n\nHere's a couple of areas that need some love:\n\n* **Import/Export plugins** - do you like functionality but want to integrate with your company billing SW? Create an issue and if you can submit PR.\n* **Javascripts** - I'm no JS wizz, I'm sure the Javascript code in ui/src could be improved/simplified/tested. * **Documentation** - Typo? Does something not make sense? Could it be worded better? Please help!\n* **Test Coverage** - Would love to get coverage over 80%, fontend and backend.\n\n# Standing on the shoulders of giants\n\n[Go](https://golang.org/), [Gin web framework](https://github.com/gin-gonic), [Vue](https://vuejs.org/), [Quasar](https://quasar.dev/), [PostgreSQL](https://www.postgresql.org/) and [MySQL](https://www.mysql.com/)\n\n## Go Backend\n\n- [Gin web framework](https://github.com/gin-gonic)\n- [Gorm](https://github.com/jinzhu/gorm) (with [PostgreSQL](https://www.postgresql.org/) or [MySQL](https://www.mysql.com/) persistence)\n- [Logrus](https://github.com/sirupsen/logrus), [Cobra](https://github.com/spf13/cobra), [Viper](https://github.com/spf13/viper), [Now](https://github.com/jinzhu/now), [lumberjackrus](https://github.com/orandin/lumberjackrus), [Cron](https://github.com/robfig/cron)\n\n## JavaScript Frontend\n\n- [Vue.js](https://vuejs.org/) spa client with webpack\n- [Quasar](https://quasar.dev/)\n- [Axios](https://github.com/axios/axios), [date-fns](https://date-fns.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalasek%2Ftimesheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalasek%2Ftimesheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalasek%2Ftimesheet/lists"}