Track your study time!

Overview

What's the time-tracker?

The time-tracker is a nifty little tool to track the time you spent on your courses.

Why does the time-tracker exist?

This project was created as part of a live stream, to give students an insight into working with Git and more.

How do I use the time-tracker?

First you have to create a shadow jar with the imported gradle plugin via tasks > shadow > shadowJar.

After that you direct your terminal to the directory of the shadow jar (it's in time-tracker/build/libs by default) and use the time-tracker with the following commands.

To add an entry to your tracked events, use

java -jar SHADOW_JAR_FILE_NAME.jar -a <YYYY-MM-DD>,<minutes>,<project>,"<description>"

To sum all the time spent with those events and print it to the console, use

java -jar SHADOW_JAR_FILE_NAME.jar -s

To sum up the time spent on a particular event and print it to the console, use

java -jar SHADOW_JAR_FILE_NAME.jar --sumof <project>

To get help for all available functions, use

java -jar SHADOW_JAR_FILE_NAME.jar -h

To print all entries to the console as a table, use

java -jar SHADOW_JAR_FILE_NAME.jar -t

How do I contribute?

First, please make sure to follow the Code of Conduct if you want to contribute.

Check for open issues, select one you want to solve, fork the project, fix the issue and send a pull request!

You can also create your own issues and tell us what needs to be fixed or added.

License

This project uses the MIT License.

Comments
  • Template für Issues und Pull Request hinzufügen

    Template für Issues und Pull Request hinzufügen

    Damit alles einheitlich ist und die Wahrscheinlichkeit für rückfragen minimiert wird (Issues) und alles was geändert wurde beschrieben wird (pull requests).

    opened by dragonempire96 4
  • Add automatisches Tracking der Zeit

    Add automatisches Tracking der Zeit

    Description

    Ich habe die Funktion für ein automatisches Tracken der Zeit hinzugefügt

    Related Issue

    Issue #37

    Checklist:

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    opened by dragonempire96 3
  • Validiere das Datum des Inputs bei --add

    Validiere das Datum des Inputs bei --add

    Description

    Ich überprüfe mit einer Regex ob das eingegebene Datum auch 1. ein Datum ist und 2. das gültige Format besitzt. Mit einer anderen Regex wird überprüft, ob auch nur Zahlen als Argument bei --add übergeben werden. Bei falscher Eingabe wird dies "Ungültige Eingabe" in die Konsole geschrieben und der ERROR Status zurückgegeben, sodass kein Event mit falschen Daten erstellt wird.

    Related Issue

    Wie beschrieben in #35 .

    Screenshots (if appropriate):

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    opened by sakla106 3
  • --add akzeptiert auch falschen Input

    --add akzeptiert auch falschen Input

    Describe the bug Man kann bei --add jeden String als Datum wählen und er wird so im Event abgespeichert. Außerdem wird ein nicht-Zahlen String als Argument nicht abgefangen.

    To Reproduce Steps to reproduce the behavior: java -jar tt.jar --add hallo,90,Test,"Test" für das Datum java -jar tt.jar --add today,drei,Test,"Test" für das Argument

    Expected behavior Ich habe eigentlich erwartet, dass bei ungültigem Datum (und ungültigem Datumsformat) und bei einem String, der keine gültige Zahl ist, ein ERROR Status zurückgegeben wird.

    Screenshots Dieser Screenshot zeigt die Ausgabe der Tabelle mit ungültigen Daten. bug

    opened by sakla106 3
  • Update README.md

    Update README.md

    Wo wir ja jetzt eine tabellarische Anzeige eingefügt haben, sollten wir das dann nicht auch in der ReadMe reinschreiben, dass das jetzt möglich ist? Und in die readme noch reinschreiben, dass es einen "-help" Befehl gibt, so der Vollständigkeit halber?

    opened by SaritasTea 3
  • --track-start und --track-done für

    --track-start und --track-done für "automatisches" Tracking

    Vielleicht wäre ja ein Befehl --track-start , der sich durch einen Befehl --track-done abschließen lässt und dann automatisch einen Eintrag hinzufügt, mit dem Datum des Beginns und den Minuten, die zwischen start und done vergangen sind, ganz cool.

    Bei Bedarf noch ein --track-pause und --track-unpause, womit man das Tracken auch pausieren kann. Aber das ist eher weniger wichtig denke ich :D

    Das sähe dann in etwa so aus:

    [2022-06-10 10:00] java -jar tt.jar --track-start Propra1 [2022-06-10 10:40] java -jar tt.jar --track-done "Neues Issue für time-tracker erstellt"

    Diese Befehle sollten dann ein neues Event speichern, so als ob man diesen Befehl eingegeben hätte:

    java -jar tt.jar --add 2022-06-10,40,Propra1,"Neues Issue für time-tracker erstellt"

    enhancement 
    opened by sakla106 2
  • Filter by date

    Filter by date

    We can filter by project in the Sum function as well as in the Table function, wouldn't it be interesting to filter by date to see what was done on a certain day?

    opened by dragonempire96 1
  • Add badges to README

    Add badges to README

    Description

    This PR add 4 badges (Provided by Shields.io) at the top of the README to display the following information:

    • Workflow Status (Did the gradle checks pass or fail?)
    • No. of Issues
    • Commit activity per week
    • License

    These badges allow an easy overview of the project status. They help to see if the project is actively maintained and whether it's working in it's current state.

    Related Issue

    N/A

    Screenshots:

    Screenshot

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    opened by lnx00 0
  • updated README.md

    updated README.md

    Description

    Added the new functions in the README.md

    Related Issue

    Relatet to issue #21

    Motivation and Context

    Updated the README.md

    How Has This Been Tested?

    Screenshots (if appropriate):

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by dragonempire96 0
  • --add today als Alternative zu --add YYYY-MM-DD

    --add today als Alternative zu --add YYYY-MM-DD

    Man kann nun --add today benutzen, um ein Event am 25.05.2022 hinzuzufügen, anstatt --add 2022-05-25 schreiben zu müssen. Beinhaltet auch eine Build Configuration zum Ausprobieren.

    Vorheriger Pull Request hatte Konflikte wegen des zuvor akzeptierten PRs :D

    Außerdem hab ich die Tests umbenannt, weil die Reihenfolge bei der Benennung nicht ganz gepasst hat

    opened by sakla106 0
  • Redundanten Code reduzieren

    Redundanten Code reduzieren

    https://github.com/hhu-propra1/time-tracker/blob/main/src/main/java/de/propra/timetracker/TablePrinter.java#L9-L11

    Diese drei Zeilen und die Zeilen da drunter sind die selben. Also bitte einmal extrahieren und nur einmal definieren :-)

    good first issue help wanted 
    opened by n2o 0
  • Add Punchcard/Heatmap output

    Add Punchcard/Heatmap output

    "old" GitHub had a punchcard diagram to show you the most active hours of the day.

    This is great to gain insight about one's daily productivity rhythm.

    image

    opened by MrEbbinghaus 1
Owner
null
A small and easy-to-use one-time password generator library for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP).

OTP-Java A small and easy-to-use one-time password generator for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP). Table of Contents Features Ins

Bastiaan Jansen 106 Dec 30, 2022
A small and easy-to-use one-time password generator library for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP).

OTP-Java A small and easy-to-use one-time password generator for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP). Table of Contents Features Ins

Bastiaan Jansen 106 Dec 30, 2022
Easily regenerate worlds at a specific time & date you want (SpigotMC plugin)

Restore/reset worlds at specific times without kicking players from the server! No need to go through the hassle of resetting your worlds manually anymore. Plenty of features are already included in the free version!

Kihsomray 11 Sep 23, 2022
Multi-platform transparent client-side encryption of your files in the cloud

Supporting Cryptomator Cryptomator is provided free of charge as an open-source project despite the high development effort and is therefore dependent

Cryptomator 8.7k Jan 5, 2023
State-of-the-art cryptography to protect your world seed against seed cracking tools

SecureSeed State-of-the-art cryptography to protect your world seed against seed cracking tools. This mod is written for the Fabric Mod Loader. If you

Joseph Burton 55 Dec 28, 2022
An Editor for CSGO:botprofile.db, allows you to create&improve your own bot easily.

botprofileEditor An Editor for CSGO:botprofile.db, allows you to create&improve your own bot easily. 最新信息 项目重构,舍弃了原来复杂的结构 项目打算全力制作web版,使用SpringBoot作为开

null 10 Oct 9, 2022
A simple HWID authentication system for your minecraft mod.

HWID-Authentication-System A simple HWID authentication system for your minecraft mod. This is a simple mod which can prevent unwanted users from runn

null 43 Dec 10, 2022
A simple HWID authentication system for your minecraft mod.

HWID-Authentication-System A simple HWID authentication system for your minecraft mod. This is a simple mod which can prevent unwanted users from runn

null 43 Dec 10, 2022
Make a customized list of exercises, create and save workouts, and be led through your routine. This application is currently under development.

HIIT Workout Builder ABOUT This application allows you to create and be led through customized high-intensity interval training (HIIT) sessions. The a

null 1 Nov 28, 2022
Toloka has a powerful open API, it allows you to integrate an on-demand workforce directly into your processes, and to build scalable and fully automated human-in-the-loop ML pipelines.

Toloka Java SDK Documentation Website | API Documentation | Platform Designed by engineers for engineers, Toloka lets you integrate an on-demand workf

Toloka 10 Apr 27, 2022
Library to easily configure API Key authentication in (parts of) your Spring Boot Application

42 API Key Authentication A library to easily configure API Key authentication in (parts of) your Spring Boot Application. Features Easily configure A

null 2 Dec 8, 2021
A program that presses a key when you move your mouse to another monitor.

FollowMouse A program that presses a key when you move your mouse to another monitor. (useful for automatically changing scenes while livestreaming) F

Brime Live 7 Jul 31, 2022
A desktop java GUI application to encrypt your plain text

A desktop java GUI application to encrypt your plain text

Nikhil Narayanan 4 Sep 10, 2022
PCRE RegEx matching Log4Shell CVE-2021-44228 IOC in your logs

Log4Shell-Rex The following RegEx was written in an attempt to match indicators of a Log4Shell (CVE-2021-44228 and CVE-2021-45046) exploitation. If yo

back2root 286 Nov 9, 2022
KeepMyPassword for Desktop - keep your passwords locally and secure.

KeepMyPassword is an open-source project under MIT license. Its aim is to provide a REAL secure place to store all your sensitive data. Everything is stored locally on your device. No one apart from YOU will ever have access to your passwords. Code is available to see whenever you need it.

Adrian Goral 35 Dec 15, 2022
Jornada Big Tech: I will have 3 months to study and prepare myself for the Big Tech interviews. Repository containing all my study material.

Jornada Big Tech (Big Tech Journey) Jornada Big Tech: I will have 3 months to study and prepare myself for the Big Tech interviews. Repository contain

Camila Maia 87 Dec 8, 2022
Tracky : Track your goals

Tracky : Track your goals ⚙️ Technology Used ?? Real Life Problem If you are preparing to achive any goal or target then , one of the importance porti

Amit Maity 15 Sep 28, 2022
A Minecraft mod to track the position of every player connected to your server.

WAT (Where are they?) WAT is a mod to track the position of every player connected to a server and then log those positions into a text file. Those lo

Alexander IP 5 Aug 8, 2022