Kokus is a recipe management and meal planning web app. As a personal project, it serves as a playground for exploring methodologies and technologies.
This project is intentionally a little over-engineered – but in a fun way. It showcases a modern, modular setup that integrates many moving parts into a cohesive whole:
- Modular Monolith – domain-oriented structure with a non-cyclic module graph.
- Hexagonal architecture per module – strict classpath separation per layer.
- Auto-generated system diagrams – C4 system context and container diagrams update automatically.
- Reproducible environment – fully modular, Nix-based development setup and CI pipeline.
- Automated code quality checks – ktlint, detekt, sqlfluff and more, enforced with treefmt in CI and via pre-commit hooks.
- Modern Gradle build – parallel, cacheable, modular with convention plugins, version catalogs and more.
- Production-like integration tests – full NixOS based VM tests to run module integration in realistic environments.
- Nix integration – project exposed as both a native Nix package and a NixOS module via flakes.
This project requires Nix with flakes support for the development, build and deployment process.
# Manually start development environment ...
nix develop
# ... or let direnv do it for you
direnv allowThis prints a list of all available commands.