No description
Extract shared ProductForm.svelte component covering actives (dynamic rows with ingredient function checkboxes), product_effect_profile (range sliders 0–5), context_rules (tristate selects), synergizes_with, incompatible_with (dynamic rows), and contraindications. Replace the Quick edit stub on the product detail page with the full edit form pre-populated from the existing product. Update both server actions to parse all new fields including JSON payloads for complex nested objects. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| backend | ||
| frontend | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
innercontext
Personal health and skincare data hub. Collects structured data (products, routines, lab results, medications, skin snapshots) and exposes it via a REST API and MCP to an LLM agent.
Repository layout
backend/ Python backend — FastAPI REST API + SQLModel models
A frontend will be added in the future.
Backend quick start
Requirements: Python 3.12+, PostgreSQL, uv
cd backend
# Install dependencies
uv sync
# Set database URL (defaults to postgresql+psycopg://localhost/innercontext)
export DATABASE_URL=postgresql+psycopg://user:password@localhost/innercontext
# Start the API server (creates tables on first run)
uv run uvicorn main:app --reload
API docs available at http://localhost:8000/docs.
API overview
| Prefix | Resource |
|---|---|
/products |
Skincare / medication products + inventory |
/inventory |
Individual inventory entries |
/health/medications |
Medication entries and usage history |
/health/lab-results |
Lab test results |
/routines |
AM/PM skincare routines and steps |
/routines/grooming-schedule |
Weekly grooming schedule |
/skin-snapshots |
Weekly skin condition snapshots |
/health-check |
Liveness probe |
Development
cd backend
# Lint
uv run ruff check .
# Format
uv run black .
uv run isort .
Stack
- Runtime: Python 3.12, FastAPI, Uvicorn
- ORM: SQLModel 0.0.37 + SQLAlchemy, Pydantic v2
- Database: PostgreSQL (psycopg3)