Recipe management web application and thesis project workspace.
This repository contains:
- a running full-stack web application (frontend + backend + proxy + PostgreSQL),
- API specification and generated client/server artifacts,
- project documentation (DocFX, use cases, wireframes)
- thesis LaTeX sources.
Runtime services (via Docker Compose):
- proxy: Nginx reverse proxy on port
9393 - frontend: Vue 3 + Vite app served via Nginx
- backend: ASP.NET Core Web API (
net10.0) - recipe_database: PostgreSQL 17
- adminer: optional database UI in dev profile on port
8082
Routing through proxy:
http://localhost:9393/-> frontendhttp://localhost:9393/api/-> backend
Optional HTTPS:
- TLS terminates at the proxy only.
- Frontend and backend traffic inside Docker stays on HTTP.
- Set
PROXY_TLS_ENABLED=truein.envand place cert files in./certs/.
- Frontend: Vue 3, Vite, TypeScript, Pinia, Tailwind CSS, Vitest
- Backend: ASP.NET Core 10, Entity Framework Core, Npgsql, Swagger
- API tooling: OpenAPI Generator CLI
- DevOps: Docker Compose / Buildx, GitVersion
- Docs: DocFX, Bruno collections, LaTeX thesis sources
Use Docker for the fastest setup:
./dev.ps1This starts the app stack with development overrides.
Useful URLs:
- App:
http://localhost:9393 - API (via proxy):
http://localhost:9393/api - Swagger (through proxy):
http://localhost:9393/api/swagger - Adminer:
http://localhost:8082
./dev.ps1./prod.ps1- Put your certificate and key into
./certs/. - Set these values in
.env:
PROXY_TLS_ENABLED=true
PROXY_TLS_CERTIFICATE_FILE=tls.crt
PROXY_TLS_CERTIFICATE_KEY_FILE=tls.key- Start the stack as usual with
./start.ps1,./dev.ps1, or./prod.ps1.
Once enabled, use https://localhost:9393 or https://<APP_HOST>:<APP_PORT>.
./build.ps1./publish.ps1./scripts/generate_api.ps1./scripts/update_api.ps1./scripts/generate_versions.ps1src/backend: backend solution and API projectssrc/frontend: frontend app and generated API client workspacesrc/proxy: reverse proxy (Nginx)docs/api: OpenAPI spec and generator configsdocs/usecases: use case documentationdocs/wireframes: UI wireframesdocs/thesis-latex: thesis sources and build script
- Backend startup runs EF Core migration at app boot.
scripts/generate_api.ps1installs OpenAPI Generator CLI globally with pnpm.build.ps1currently prints Docker buildx bake output, it does not execute the image build.