No description
Find a file
Piotr Oleszczyk 9bf94a979c fix: resolve frontend/backend integration bugs
- Rename skincare route prefix /skin-snapshots → /skincare to match API client
- Add redirect_slashes=False to FastAPI app; change collection routes from "/" to ""
  to eliminate 307 redirects on POST/GET without trailing slash
- Fix redirect() inside try/catch in products/new and routines/new server actions
  (SvelteKit redirect() throws and was being caught as a 500 error)
- Eagerly load inventory and steps relationships via explicit SELECT + model_dump(mode="json"),
  working around SQLModel 0.0.37 not serializing Relationship fields in response_model
- Add field_validator for product_effect_profile to coerce DB-returned dict → ProductEffectProfile,
  eliminating Pydantic serializer warning
- Update all tests to use routes without trailing slash

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 21:53:17 +01:00
backend fix: resolve frontend/backend integration bugs 2026-02-26 21:53:17 +01:00
frontend fix: resolve frontend/backend integration bugs 2026-02-26 21:53:17 +01:00
.gitignore fix: load .env via python-dotenv; SQLite default for local dev 2026-02-26 20:51:13 +01:00
CLAUDE.md Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00
README.md Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00

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)