Aditya Gupta 2aac9c3fb4 feat: redesign day picker with expandable calendar, status markers & Playwright E2E testing
- Replace modal calendar with inline expandable calendar widget integrated into the day picker.
- Add status indicator dots (attended/absent/pending) to month calendar grid matching day picker.
- Disable and gray out weekend days in calendar when weekend schedule is turned off.
- Redesign extend bar with integrated handle that aligns with the palette.
- Remove start-to-end timing on Today screen's class time rail, showing only start time.
- Implement Playwright E2E and visual testing suite with multi-screen capture scripts.
- Add cascade DELETE endpoints for subjects and versioned recurring timetable entries.
2026-09-05 09:00:17 +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.5 MiB
Languages
TypeScript 79.8%
JavaScript 19.9%
Dockerfile 0.3%