How nttare0/shool works
Student OS is a student-workspace web app whose main flow is using study tools to create and update workspace data, then reviewing derived progress on the dashboard. App Router pages provide tasks, notes, flashcards, focus sessions, and a whiteboard; a typed client store manages that state, with browser-local persistence for guests and a documented Clerk/Supabase account-workspace path. Analytics feed dashboard chart panels, rendered with the vendored chart components. The graph follows README capabilities and shown source references; some cloud-sync details and unsampled feature internals are documented but not independently verified here.
Main entry points: store.tsx Typed workspace store · app-shell.tsx App shell · dashboard/page.tsx Dashboard · settings/page.tsx Settings
Components 20
App experience
- Landing page
src/app/page.tsx - App shell
src/components/app-shell.tsx - Sign-in page
src/app/login/page.tsx - Settings
src/app/(app)/settings/page.tsx
Study tools
- Tasks
src/app/(app)/tasks/page.tsx - Notes
src/app/(app)/notes/page.tsx - Flashcards
src/app/(app)/flashcards/page.tsx - Focus timer
src/app/(app)/focus/page.tsx - Whiteboard
src/app/(app)/whiteboard/page.tsx
Workspace state
- Typed workspace store
src/lib/store.tsx - Workspace data types
src/lib/types.ts - Seed data
src/lib/seed.ts - Browser storage
Progress insights
- Dashboard
src/app/(app)/dashboard/page.tsx - Study analytics
src/lib/analytics.ts - Dashboard chart panels
src/components/dashboard-charts.tsx - Chart components
src/components/charts
Identity and sync
- Clerk
- Supabase workspace
Other components
- Student
Connections 28
- Student → Landing page: visits
README.md - Student → App shell: uses workspace
README.md - Student → Sign-in page: signs in
README.md - App shell → Tasks: navigates
README.md - App shell → Notes: navigates
README.md - App shell → Flashcards: navigates
README.md - App shell → Focus timer: navigates
README.md - App shell → Whiteboard: navigates
README.md - App shell → Settings: navigates
README.md - Tasks → Typed workspace store: updates
src/app/(app)/tasks/page.tsx - Notes → Typed workspace store: updates
src/app/(app)/notes/page.tsx - Flashcards → Typed workspace store: updates
src/app/(app)/flashcards/page.tsx - Focus timer → Typed workspace store: logs sessions
README.md - Whiteboard → Typed workspace store: updates
src/app/(app)/whiteboard/page.tsx - Typed workspace store → Workspace data types: uses schema
src/lib/store.tsx - Typed workspace store → Seed data: initializes from
src/lib/store.tsx - Typed workspace store → Browser storage: persists locally
README.md - Settings → Typed workspace store: manages workspace
src/app/(app)/settings/page.tsx - Settings → Sign-in page: links sign-in
src/app/(app)/settings/page.tsx - Dashboard → Typed workspace store: reads state
src/app/(app)/dashboard/page.tsx - Dashboard → Study analytics: computes summaries
src/app/(app)/dashboard/page.tsx - Study analytics → Workspace data types: aggregates records
src/lib/analytics.ts - Dashboard → Dashboard chart panels: renders panels
src/app/(app)/dashboard/page.tsx - Landing page → Dashboard chart panels: previews charts
src/app/page.tsx - Dashboard chart panels → Chart components: composes charts
src/components/dashboard-charts.tsx - Typed workspace store → Clerk: authenticates users
src/lib/store.tsx - Typed workspace store → Supabase workspace: syncs workspaces
README.md - Sign-in page → Clerk: sign-in integration
README.md