jacobh2 5534a25ce5
Build Backend / build (push) Successful in 1m55s
Build Frontend / build (push) Failing after 2m48s
Update build
2026-05-31 10:40:50 +02:00
2026-05-31 10:40:50 +02:00
2026-05-31 10:05:30 +02:00
2026-05-31 10:05:30 +02:00
2026-04-24 08:02:13 +02:00
2026-05-28 09:31:20 +02:00
2026-05-31 09:23:50 +02:00
2026-04-24 08:02:13 +02:00
2026-05-18 08:01:24 +02:00
2026-05-17 20:34:52 +02:00
2026-05-18 08:01:24 +02:00
2026-04-24 08:02:13 +02:00
2026-05-17 20:34:52 +02:00
2026-05-28 09:31:20 +02:00
2026-04-24 08:02:13 +02:00
2026-04-24 08:02:13 +02:00
2026-05-31 09:23:50 +02:00

Baby Sleep Tracker

A self-hosted web application for tracking infant sleep sessions, optimized for Raspberry Pi 4 (ARM64).

Features

  • Tracker Tab: Start and stop sleep sessions with a single click. Adjust start/end times easily.
  • Stats Tab: Visualize sleep patterns with daily summaries (day vs. night), continuous time-slot grids, and wakeup/bedtime trend plots.
  • Responsive Design: Built for mobile use via a clean, thumb-friendly UI.
  • Dockerized: Easy deployment using Docker Compose.

Tech Stack

  • Frontend: React 19, Vite 6, TypeScript, Tailwind CSS v4, Recharts, TanStack Query.
  • Backend: Python 3.12+, FastAPI, SQLModel (SQLAlchemy + P/Dantic), SQLite.
  • Deployment: Docker, Docker Compose.

Getting Started

Prerequisites

Note: If building on an x86 machine for ARM64 (Raspberry Pi), ensure you use docker buildx.

Running with Docker Compose

  1. Clone the repository.
  2. Navigate to the project root.
  3. Run the following command:
docker compose up --build

The application will be available at:

Development Setup

Backend

Requires uv and Python 3.14+.

cd backend
uv sync
uv run uvicorn app.main:app --reload

Run tests:

uv run pytest

Frontend

cd frontend
npm install
npm run dev

Run tests:

npm run test

Project Structure

  • backend/: FastAPI application, models, and API routes.
  • frontend/: React application with components and hooks.
  • docker-compose.yml: Orchestration for the full stack.
S
Description
No description provided
Readme 1.8 MiB
Languages
TypeScript 74.2%
Python 24.8%
Dockerfile 0.6%
JavaScript 0.3%
HTML 0.1%