Aditya Gupta 87b07728b5 feat: unify app navigation and add today attendance overview
- Replace floating pill tab dock with a full-width system-aligned navigation bar.
- Give active tabs cobalt icon chips and clean cobalt labels while keeping inactive tabs muted.
- Add compact live attendance summary above the day picker on Today.
- Add Playwright verification for the new metrics and navigation surface.
2026-09-05 09:56:55 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30
2026-09-04 21:55:34 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30
2026-08-28 17:48:05 +05:30

College Kit

A personal college organiser for timetables, flexible daily classes, and attendance tracking.

Run with Docker

The complete production-style stack consists of an Expo Router web bundle served by Nginx and a Node + SQLite API. Nginx proxies the API at the same origin, so no browser CORS or API URL configuration is needed.

docker compose up --build

Open http://localhost:8080. The API is available through the web container at http://localhost:8080/api/v1/*, and its health check is at http://localhost:8080/health.

Stop the stack without deleting attendance data:

docker compose down

The SQLite database persists in the named college-kit-data Docker volume. To completely reset the seeded application data:

docker compose down -v

Local development

Start the API and Expo development server in separate terminals:

npm run api
npm start

The local web app uses http://localhost:4000/api/v1 by default. To use a physical device, point Expo at your computer's LAN IP:

EXPO_PUBLIC_API_URL=http://192.168.1.20:4000/api/v1 npm start

Backend

The API and its data model are documented in backend/README.md. It provides persistent recurring timetable rules, dated class overrides, attendance statuses, subjects, and attendance summaries.

Description
No description provided
Readme 3.6 MiB
Languages
TypeScript 80.8%
JavaScript 18.9%
Dockerfile 0.3%