- FastAPI backend: /health, /api/upload (CSV parse + score), /api/export (work queue CSV) - CSV normalizer: tolerates 10+ header aliases per field, 8 date formats, all 5 devices, all major payers - Python coverage_calculator wired as the authoritative scoring engine - Frontend: backend-first upload with local fallback, export CSV wired, J. Sullivan placeholder removed - Dockerfile + railway.toml for Railway deploy - vercel.json for static frontend deploy - Railway MCP installed for future sessions Backend live: https://signal-api-production-91c2.up.railway.app Frontend live: https://signal-ui-xi.vercel.app Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15 lines
368 B
Docker
15 lines
368 B
Docker
FROM python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY python-backend/ ./python-backend/
|
|
|
|
ENV PORT=8000
|
|
|
|
EXPOSE 8000
|
|
|
|
# Run from within python-backend so 'api' and 'core' are importable as top-level packages
|
|
CMD ["sh", "-c", "cd /app/python-backend && uvicorn api.main:app --host 0.0.0.0 --port ${PORT}"]
|