# btcprice Bitcoin price tracker UI — Python FastAPI web application. Serves the HTML/Tailwind UI. Connects to btcdata for live price data via WebSocket. ## Build & Development Commands - `make run` — Start dev server on port 4000 - `make tailwind` — Watch Tailwind CSS for changes - `make test` — Run tests ## Docker Docker runs alongside local dev on different ports: | Service | Local dev | Docker | |----------|----------------|----------------| | btcprice | localhost:4000 | localhost:4041 | | btcdata | localhost:4100 | localhost:4101 | btcprice's docker-compose includes btcdata via `include: ../btcdata/docker-compose.yml`. ## Architecture - **Framework:** FastAPI - **Server:** Uvicorn - **Templates:** Inline HTML strings + HTMX (WebSocket extension) - **Styling:** Tailwind CSS v4 - **Data backend:** btcdata (separate service at BTCDATA_URL, default http://localhost:4100) - **No database** — all data comes from btcdata ## Source Layout ``` app/ └── main.py # FastAPI app: routes, WebSocket proxy, HTML rendering ```