No description
Find a file
2025-12-23 11:08:31 +01:00
demo Add demo data 2025-09-23 21:01:28 +02:00
docs/adr
src/fabritrack Update event source utils 2025-12-23 11:08:31 +01:00
tests Correct typing 2025-11-18 11:27:28 +01:00
.editorconfig
.gitignore
.python-version Add .python-version 2025-09-23 20:50:40 +02:00
fabritrack Rename main script 2025-09-23 19:04:08 +02:00
Justfile Upgrade dependencies 2025-11-03 22:20:58 +01:00
LICENSE
mkdocs.yaml Correct mkdocs.yaml 2025-09-23 20:37:20 +02:00
pyproject.toml Add test on module import 2025-11-14 09:55:07 +01:00
readme.md Update readme.md 2025-09-24 10:10:22 +02:00
todo.md Add todo 2025-09-25 23:57:02 +02:00
uv.lock Add test on module import 2025-11-14 09:55:07 +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