learning_ai_clock/web
saravanakumardb1 38bb2629e9 feat(web): Phase 2 — stats, categories, recurring, export/import, calendar .ics
- Statistics + streaks engine (lib/stats.ts) with daily/weekly/monthly breakdowns, on-time rate, focus time, streak tracking (23 tests)
- Categories/tags system (lib/categories.ts) with 6 built-in categories, custom tags, default urgency+cascade per category (29 tests)
- Recurring timer engine (lib/recurrence.ts) with daily/weekday/weekend/weekly/biweekly/monthly/custom rules, skip/pause, DST edge cases (37 tests)
- Timer export/import as JSON (lib/export.ts)
- Calendar .ics import (lib/calendar-import.ts) with RFC 5545 parsing, conflict detection, priority-to-urgency mapping (26 tests)
- StatsView component with Recharts (bar, line, pie charts)
- StreakCard component with milestone badges
- History page (/history) with stats, history search/filter, import/export
- Category picker in CreateTimerModal with auto urgency+cascade defaults
- Category filter chips on Dashboard + History link in header
- Installed recharts dependency
- Updated roadmap.md Phase 2 Week 4-5 with completion status
- 302 tests passing (up from 82 in Phase 1)
2026-02-27 21:59:09 -08:00
..
public feat(deploy): Phase 1 polish — analytics, install prompt, a11y, PWA icons 2026-02-27 21:57:43 -08:00
scripts feat(deploy): Phase 1 polish — analytics, install prompt, a11y, PWA icons 2026-02-27 21:57:43 -08:00
src feat(web): Phase 2 — stats, categories, recurring, export/import, calendar .ics 2026-02-27 21:59:09 -08:00
.gitignore feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00
eslint.config.mjs feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00
netlify.toml feat(deploy): Phase 1 polish — analytics, install prompt, a11y, PWA icons 2026-02-27 21:57:43 -08:00
next.config.ts feat: add Serwist service worker for offline PWA support 2026-02-27 21:18:43 -08:00
package-lock.json feat(web): Phase 2 — stats, categories, recurring, export/import, calendar .ics 2026-02-27 21:59:09 -08:00
package.json feat(deploy): Phase 1 polish — analytics, install prompt, a11y, PWA icons 2026-02-27 21:57:43 -08:00
postcss.config.mjs feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00
README.md feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00
tsconfig.json feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00
vitest.config.ts feat: add timer engine, cascade system, urgency system with 40 passing tests 2026-02-27 20:50:36 -08:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.