You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- a configurable Python Yantra AI microservice under `ai/`, targeted first by the main chat and Python Room feedback routes
14
-
- a room-only Sarvam-powered voice assistant layered onto the Python Room through Next.js server routes
12
+
- authenticated chat history continuity when Supabase auth is available
13
+
- a Render-backed Yantra chat assistant routed through the Python AI microservice when configured
14
+
- a room-only Sarvam-powered voice assistant layered onto the Python Room
15
+
- a separate Python AI microservice under `ai/`
15
16
16
-
The app is no longer just a static marketing-plus-dashboard shell. Authentication, profile persistence, docs/help content, chat continuity, and the first real Python Room are live. Most learner-state, recommendation, and broader room logic are still seeded or presentation-led.
17
+
The app is no longer just a static marketing shell. The public dashboard, student profile, editor, docs, and live Python room are real. Some learner-state, recommendation, and deeper roadmap logic are still seeded or presentation-led.
-`/auth/confirm` email confirmation and Google OAuth callback
43
-
-`/auth/signout` sign-out route
45
+
-`/onboarding`
46
+
-`/auth/confirm`
47
+
-`/auth/signout`
44
48
45
49
### API routes
46
50
@@ -54,32 +58,37 @@ The app is no longer just a static marketing-plus-dashboard shell. Authenticatio
54
58
-`POST /api/rooms/python/feedback`
55
59
-`POST /api/sarvam/stt`
56
60
-`POST /api/sarvam/tts`
61
+
-`GET /api/editor/projects`
62
+
-`POST /api/editor/projects`
63
+
-`GET /api/editor/projects/[projectId]`
64
+
-`PATCH /api/editor/projects/[projectId]`
65
+
-`PUT /api/editor/projects/[projectId]/files`
66
+
-`POST /api/editor/projects/[projectId]/share`
67
+
-`GET /api/editor/share/[shareSlug]`
57
68
58
69
## What Works Today
59
70
60
71
- Next.js App Router runtime on a Vercel-compatible setup
61
-
- Supabase SSR auth with cookie refresh handled through `proxy.ts`
62
-
- automatic profile seeding in `public.profiles` for first-time signed-in users
63
-
- onboarding shown after new account creation, with returning login going to the dashboard
72
+
- public dashboard access with no required sign-in
64
73
- profile persistence from `/dashboard/student-profile`
65
-
- auth-required dashboard and Python Room redirects for signed-out visitors
66
-
- password reset email flow and reset page
67
-
- Google OAuth sign-in through Supabase
74
+
- local editor projects and shared-project remix flows
75
+
- Supabase-backed auth pages and recovery flows
68
76
- reusable chat widget on the marketing site and dashboard
69
77
- main Yantra chat routed through the Python AI service target resolved by `src/lib/yantra-ai-service.ts`
70
78
- docs-only Support Desk answers powered by Gemini through `/api/docs-support`
71
-
- authenticated chat history restore across sessions
79
+
- authenticated chat history restore across sessions when Supabase auth is available
72
80
- Python Room execution in-browser through Pyodide, with runtime-error line highlighting
73
81
- Python Room feedback through `/api/rooms/python/feedback`, which targets the Python AI service first and can fall back to Gemini
74
82
- room-only push-to-talk voice assistant using Sarvam STT/TTS plus `/api/chat`
75
-
-automated coverage for the room-feedback route, Pyodide error parsing, and the Python service test suite
83
+
-access-request form validation, persistence, and server handling
76
84
77
85
## What Is Still Seeded Or Limited
78
86
79
87
- dashboard skills, progress cards, curriculum nodes, and recommendations are still starter data
80
-
-most room cards outside the Python Room are still presentation-led
88
+
-some room cards and roadmap visuals outside the live Python room remain presentation-led
81
89
- Python Room correctness checking is still exception-only; successful-but-wrong output is not evaluated yet
82
90
- chat moderation, analytics, and tool use are not built yet
91
+
- cross-device sync for public-mode profiles and editor projects is still future work
83
92
- adaptive roadmap logic and deeper learner memory are still future work
84
93
85
94
## Project Structure
@@ -169,7 +178,7 @@ Notes:
169
178
170
179
### Database setup
171
180
172
-
Run the SQL in `supabase/schema.sql` against your Supabase project. It creates:
181
+
Run the SQL in `supabase/schema.sql` against your Supabase project. That creates`public.profiles`, `public.access_requests`, `public.chat_histories`, plus the update triggers and row-level security policies used by access requests and any Supabase-backed legacy profile/chat persistence that is still enabled.
0 commit comments