No description
  • Python 98.7%
  • Gherkin 0.7%
  • Just 0.6%
Find a file
2026-03-06 11:03:52 +01:00
.robots [S0015] Story completed 2026-03-06 10:04:35 +01:00
.vscode
demo
docs Update ADR 2026-03-06 11:01:12 +01:00
src/fabritrack [S0016] Story completed 2026-03-06 10:57:37 +01:00
tests Correct hypothesis strategies 2026-03-06 11:03:52 +01:00
.editorconfig
.gitignore [S0015] Story completed 2026-03-06 10:04:35 +01:00
.python-version
fabritrack
Justfile Configure hypothesis output directory 2026-03-06 10:35:49 +01:00
LICENSE
pyproject.toml [S0015] Story completed 2026-03-06 10:04:35 +01:00
readme.md
uv.lock [S0015] Story completed 2026-03-06 10:04:35 +01:00

FabriTrack

FabriTrack is a small software application for managing food production. It uses an activity log as input and produces inventory, traceability, and other reports.

This application follows an event-sourced architecture. It consumes an event log stored under the data/ directory. Events are stored as YAML files, which represent the source of truth for the system. The CLI commands read these YAML events to rebuild state and generate reports (inventory, traceability, costs, etc.).

Usage

There is a demo data directory under demo/. You can use it to try the application.

Show global help and the list of available commands:

uv run ./fabritrack --help

To show the inventory:

uv run ./fabritrack --lb demo inventory list

Development

fabritrack is written in Python 3.13. This project uses :

  • uv for dependency management.
  • Ruff for linting.
  • Ty for typechecking.
  • Mypy for typechecking.
  • pytest for testing.
  • mkdocs for documentation.
  • Make for build automation.
  • Hypothesis for property-based testing.
  • coverage for test coverage.
uv sync

Make targets:

  • Run tests: uv run make test
  • Run typechecker: uv run make typecheck
  • Run linter: uv run make lint
  • Run formatter: uv run make reformat
  • Run tests coverage: uv run make coverage
  • Generate API documentation: uv run make docs