This repository contains a Rust workspace for building an exam scheduling system backed by Z3, along with a sveltekit frontend.
crates/app: Tauri app for the frontendcrates/backend: database access, data prep, and wiring to the solver.crates/entity: SeaORM entities generated from the SQLite schema.crates/hack: cargo-hakari managed hack crate to speed up build timescrates/solver: Z3-backed scheduler and constraints.packages/frontend: Sveltekit frontendpackages/eslint-config: ESLint config for the frontendpackages/tauri-api: Autogenerated tauRPC bindings for the frontend (and provides types for ui)packages/ui: Shared UI components and typesgh-release or vendored feature flagsgh-release and the default featureset requires the end-user to have Z3 installed as well. vendored will statically link z3From the repository root:
pnpm moon run :build-releasepnpm moon run :testpnpm moon run :lintpnpm moon run :formatCoverage helpers are documented in docs/coverage.md.
This is a currently WIP, Mostly personal project, and some bits are messy and AI generated with little review other than "yeah that code is fine and it works". I am slowly reviewing of all AI-marked areas :p. I do not approve of vibe coding (i.e. LLM generated code without proper review), but LLMs are a useful tool to get stuff done a bit faster.
AI was used in this repository. All AI-generated contributions that have not been modified/fully reviewed by
persons are marked with an explicit notice (for example /// AI-generated. in Rust doc comments, or /** AI-generated */ in JSDoc).
AI-generated contributions are allowed, but they will be reviewed strictly and must be marked as such.