54 lines
1.1 KiB
Markdown
54 lines
1.1 KiB
Markdown
|
|
# Data Entry App
|
||
|
|
|
||
|
|
Initial MVP implementation of the costing platform described in `CLAUDE.MD`.
|
||
|
|
|
||
|
|
## Structure
|
||
|
|
|
||
|
|
```text
|
||
|
|
backend/ FastAPI API, SQLAlchemy models, costing engine, seed data, tests
|
||
|
|
frontend/ SvelteKit UI scaffold for dashboard and core modules
|
||
|
|
```
|
||
|
|
|
||
|
|
## Backend
|
||
|
|
|
||
|
|
Create a virtual environment, install dependencies, then run:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd backend
|
||
|
|
pip install -e .
|
||
|
|
uvicorn app.main:app --reload
|
||
|
|
```
|
||
|
|
|
||
|
|
API docs will be available at `http://localhost:8000/docs`.
|
||
|
|
|
||
|
|
Useful commands:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python -m app.seed
|
||
|
|
pytest
|
||
|
|
```
|
||
|
|
|
||
|
|
The backend defaults to SQLite for the prototype and can be switched with the
|
||
|
|
`DATABASE_URL` environment variable.
|
||
|
|
|
||
|
|
## Frontend
|
||
|
|
|
||
|
|
Install dependencies and start the dev server:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd frontend
|
||
|
|
npm install
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
Set `PUBLIC_API_BASE_URL` if the backend is not running on `http://localhost:8000`.
|
||
|
|
|
||
|
|
## Delivered in this MVP
|
||
|
|
|
||
|
|
- Raw materials with versioned prices
|
||
|
|
- Mixes with ingredient rows and calculated cost per kg
|
||
|
|
- Products with transparent cost breakdowns
|
||
|
|
- Scenario runs with override support
|
||
|
|
- Power BI-style reporting endpoints
|
||
|
|
- SvelteKit dashboard and module pages aligned to the API contract
|