A self-hosted application to help manage leftovers, meal planning, and food inventory
- Overview
- Requirements
- Project layout
- Setup
- Backend
- Frontend
- Scripts
- Testing
- API docs
- Configuration
- Contributing and security
- License
- Git
- .NET SDK 10
- Bun (includes Node) or Node with npm
- Playwright browsers:
npx playwright installbefore e2e tests
- backend/Cauldron.Api: ASP.NET Core API, SQLite storage
- frontend/cauldron: Vue 3 + Vite + Bun client
- CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, LICENSE, README.md
dotnet restore backend/Cauldron.Api/Cauldron.Api.csproj
dotnet build backend/Cauldron.Api/Cauldron.Api.csproj
dotnet run --project backend/Cauldron.Api/Cauldron.Api.csprojThe API uses SQLite at backend/Cauldron.Api/cauldron.db. Swagger UI is
available when the API is running.
cd frontend/cauldron
bun install
bun dev- Build:
dotnet build backend/Cauldron.Api/Cauldron.Api.csproj - Run:
dotnet run --project backend/Cauldron.Api/Cauldron.Api.csproj
- Dev server:
bun dev - Build:
bun run build - Lint:
bun lint - Unit tests:
bun test:unit - E2E tests:
bun test:e2e(afternpx playwright install)
Run frontend tests from frontend/cauldron. Add dotnet test when backend
tests exist. Keep tests green before opening a PR.
When the backend is running, open Swagger UI at /swagger to explore routes.
Backend settings live in backend/Cauldron.Api/appsettings.json and
appsettings.Development.json. Frontend uses Vite env files if added (for
example .env.local).
See CONTRIBUTING.md for workflow and CODE_OF_CONDUCT.md for behavior.
Report security issues through SECURITY.md.
This project is licensed under the terms in LICENSE.