Skip to content

Samhuw8a/Examtracker

Repository files navigation

test MIT License Code style: black Python Version from PEP 621 TOML

Examtracker

A Python exam tracker for the "Lernphase".
It allows you to keep track of all exams you have completed and the scores you achieved.

The application uses:

  • SQLAlchemy + SQLite for data storage
  • Textual as the TUI backend

Installation

python -m pip install examtracker

You might need to add the --break-system-packages flag to the install command


Usage

Once installed, you can start the program with:

examtracker

Configuration

You can change the location of the database file using a configuration file.

By default, the program searches for:

~/.config/examtracker/config.yml

Default config.yml

default configuration
database_path: "~/.config/examtracker/examtracker.db"

Environment Variables

All configuration options can also be set using environment variables.

You can even change the location where the program searches for the configuration file.

Environment variables
EXAMTRACKER_DATABASE_PATH=/tmp/test.db
EXAMTRACKER_CSS_PATH=/tmp/style.css
EXAMTRACKER_CONFIG=/tmp/config.yml

Environment variables override values defined in config.yml.


Database Schema

exams

  • id
  • name
  • max_points
  • scored_points
  • class_id

classes

  • id
  • name
  • semester_id
  • exam_grade

semester

  • id
  • name (unique)

TODO

  • Handle SQL errors
  • Initialize database
  • Configuration file support
  • Abort edit and add screens
  • Cross-platform config discovery
  • Improve CSS
  • enable Editing Exams and Semester
  • Feature where you can add the grade you got in the exams
  • Enable externaly hosted database in config
  • write Tests
  • automagicly push new pypi versions and make release upon github tag push tag push

About

A Python Exam Tracker

Resources

License

Stars

Watchers

Forks

Contributors