Skip to content
This repository has been archived by the owner on Sep 12, 2021. It is now read-only.
/ sparta Public archive

The private way to keep track of exercises and sport activities. Utilizes AES-256 encryption and Argon2 key derivation.

License

Notifications You must be signed in to change notification settings

Jacalz/sparta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Sparta – Sport and Rehearsal Tracking Application

Sparta

Sparta is a Sport and Rehearsal Tracking Application. It lets the user write down and save all sport activities safely and privately on the computer. No tracking and absolutely zero collection of any user data. Activities are simply saved on the computer without outside interference. Sparta uses top of line AES-256 encryption, state of the art key derivation using Argon2 and end-to-end encrypted sharing over the network using wormhole-william to keep all your data hidden from any spying eyes.

Sparta is built using the following Go packages:

Requirements

Sparta compiles into a statically linked binary with no runtime dependencies.

Downloads

Please visit the release page for downloading the latest release. Versions for Linux, MacOS and Windows are available, with an Android version possibly coming in the future.

Systems that have Go and the required prequsites for Fyne installed can alternatively install using go get:

go get github.com/Jacalz/sparta

Contributing

Contributions are strongly appreciated. Everything from creating bug reports to contributing code will help the project a lot, so please feel free to help in any way, shape or form that you feel comfortable doing. We as a community can strive towards making this project even better. If you want to contribute code, the folder structure below will hopefully help you know where to start looking.

TODO

  • Create a custom widget for displaying exercises in a more pleasant way.
  • Add the option to delete individual exercises.
  • Add import of gpx files from smart training watches and other training equipment.
  • Possibly an Android version and maybe an iOS version if it is requested.

Folder Structure

  • internal/assets/ : Logos, artwork and assets bundled in the source code.
  • internal/crypto/ : Cryptographic functions and wrappers to simplify password hashing and encryption/decryption.
    • internal/crypto/argon2/ : Wrapper around golang.org/x/crypto/argon2 for simplified use inside internal/crypto.
    • internal/crypto/validate/ : Handles functions for validating usernames and passwords.
  • internal/file/ : Common code for file and data handling inside the application.
    • internal/file/parse : Contains adapted wrappers and functions for parsing numbers and urls from strings.
  • internal/gui : Graphical interface code for controlling look and function in the application window using fyne.io/fyne.
    • internal/gui/widgets : Custom widget adaptations to extend and simplify functionality on top of standard widgets.
  • internal/sync : Implementation of end-to-end encrypted file sharing over a local network using github.com/psanford/wormhole-william.

License

  • Sparta is licensed under GNU AFFERO GENERAL PUBLIC LICENSE Version 3 and created by Jacalz.
  • All assets are produced by Jacalz and licensed under the Creative Commons By-NC-SA 4.0 license.

About

The private way to keep track of exercises and sport activities. Utilizes AES-256 encryption and Argon2 key derivation.

Topics

Resources

License

Stars

Watchers

Forks