/quarter

Time-tracking for individuals

Primary LanguageC#GNU Affero General Public License v3.0AGPL-3.0

Quarter is a time-tracker for personal use with the goal to make it as effortless as possible to track your time.

  • Graphical timesheet for easy tracking
  • Simple reports for basic needs
  • 100% Open HTTP API for everything else

What does it look like?

Manage project Edit activity Timesheet Report

Current state

Build

  • Authentication
  • Manage projects
  • Manage activities
  • Register time
  • Summarize current week at start page
  • Weekly report
  • Archive projects and activities
  • HTTP API
  • Export data

Can I get an account?

Maybe. I allow new accounts to be created while there's capacity on my $5 VPS, if the capacity is starting to run low I will disable open registrations (basically I need a server for my own use and you're free to join me as long as I do not have to upgrade the server).

Also, I take no responsibility on the hosted service. I might shut it down (although not likely), I might loose data, etc. Use it at your own risk, if the risk is too high consider hosting it yourself.

Getting started

TL;DR

git clone git@github.com:eliasson/quarter.git
cd quarter
docker-compose -f docker/docker-compose.yaml up
dotnet build
dotnet run --project src/Quarter 

See getting-started.md for more details.

What features does it support?

The primary use-case for Quarter is to offer a convenient way to input hours on a daily basis. It should also be possible to render reports that aggregates per day or week. All other features are second to that.

  • Input time using the unit quarters of an hour
  • Aggregate time per day and week
  • User have full access to all its data via API and data export
  • Run hosted for multiple users

What will it not support:

  • There will be no timer, time is input manually
  • There will be no billing support
  • There will be no teams, projects cannot be shared and timesheets will not be submitted

Why

Quarter was born out of the frustration of using two or three different time reporting tools simultaneously (being a consultant). It was obvious that most of these systems were made to extract hours (reports and invoices), not input hours.

So Quarter was a simple way to keep track of time spent on different projects on a daily basis. Then at the end of the week transcribe those hours into other time tracking tools.

This is one of many rewrites, there have been versions in Clojure, Python and Scala over the years.

The former name used to be QuarterApp, that name and its abbreviation QA is still around in a few places.

Design principles

  • As few dependencies as possible
  • Keep code size small
  • Deploy anywhere (no SAAS / FAAS / Cloud lock-in!)
  • No tracking

But above all - working on Quarter should be fun! After all, it is open source and the people building it are the same people that is using it.

Contributing

Contributions are welcome! If you want to contribute, open an issue or comment on an existing one and we'll take it from there.

For any contribution, the following applies:

  • An issue must be opened and all features needs to be discussed
  • Tests must be added, if relevant
  • Documentation must be added, if relevant
  • In the absence of style guidelines, please stick to the existing style

License

Released under GNU Affero General Public License v3.0, see LICENCE for details.