Git Product home page Git Product logo

timeclicker's Introduction

Simple time tracking application hosted on Google AppEngine

Build Status Sonarcloud

This application fits my needs of a simple 1-button application to track my time spent in the office. It's just that: one button to start/stop tracking and a simple webpage displaying the overall sum of time that I spent in the office.

I'm working on a simple Android app as well, but the tracking will be useable via a regular browser from any device.

What I am working on

  • Better webpage to start/stop
  • Android app
  • Better webpage to display daily/weekly/monthly sums

Using the Dockerfile

You can use the included Dockerfile to compile this application:

docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3-jdk-8-onbuild mvn clean install

To avoid re-downloading all the maven dependencies, I recommend mounting a directory into the docker container:

docker run -it --rm --name my-maven-project -v $(pwd):/usr/src/mymaven -v $(pwd)/repo:/root/.m2/repository -w /usr/src/mymaven maven:3-jdk-8-ouild mvn clean install

The local directory repo will now hold all the downloaded dependencies and it will live through container restarts.

timeclicker's People

Contributors

moritanosuke avatar

Watchers

 avatar  avatar

timeclicker's Issues

Clear all entries

If user wants to start over, make a Clear all function available.

Also useful if user wants to remove all her data.

Add tagging to time entries

If user really wants to track multiple things or if she want to keep track of what she did, it could be useful to add a simple tag to an entry, like "home project".

The list of entries should then display all the tags along the time entries. Also there should be a filter to only show a certain tag. It will be necessary to show a sum on the entry list page and the sums should be updated whenever the list is filtered for a specific tag.

Add a break to entries

It is useful to add a break to an Entry after logging, to indicate time spent not doing the activity you want to track.

You can already stop the tracking and start a new entry later to add a break, but adding a new break property to an entry gives a bit more flexibility in tracking.

CSV download

It might be useful if the user could download the entries in CSV format.

Pagination is not working.

Clicking a link on the paginator triggers a reload, but the data is still the same. Also the paginator is not indicating which page the user is on.

Auto update values on homepage

The values on the homepage are only updated after a full page reload. This should be replaced with AjaxSelfUpdatingTimerBehavior to auto update the values.

Android app!

When your webapp has no native mobile app

The Android app should be a simple push-button thing: Press once, the tracking starts. Press a second time, the tracking stops.

Also: Expose an android intent, so the app can be controled from outside (via Tasker or NFC tags).

About page

Add simple about page with link to source, short description and contact info.

Add timetable view to add entries

To quickly add new entries it would be nice to have a calendar-like interface where the user can select the duration of an entry via click-and-drag.

I don't know how to implement this, and it certainly has a lot of javascript to it. I don't now how something like that would translate to mobile, which I use quite regularly to add entries, or at least start/stop entries.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.