Label: gsoc, tracking Assignee: @ghanshyam2005singh
G1 — Authentication & Security (Weeks 1–2)
Schema / Infra
Endpoints
Pages
G2 — User Profile & Public Directory (Weeks 2–3)
Schema
Endpoints
Pages
G3 — Survey System (Weeks 3–4)
Schema
Tests
Endpoints
Pages
G4 — Platform Pages & Graphing Calculator (Weeks 4–5)
Endpoints
Pages
G5 — Donation & Strip Integration (Weeks 5–6)
Completed
Pages
G6 — Courses / Activities System (Weeks 6–7)
Schema
Endpoints
Pages
G7 — Quiz Engine (Weeks 7–8)
Schema
Endpoints
Pages
G8 — Cron Jobs & Automation (Week 9)
wrangler.toml
Cron handlers
Misc APIs + pages
G9 — ScholarAI (Weeks 10–12, Stretch)
Repo: alphaonelabs/scholar
Endpoints
Pages (in learn repo)
G1 — Authentication & Security (Weeks 1–2)
Schema / Infra
utils.pySet-Cookiein login, read fromCookieheaderlocalStoragetoken usage from existing JSsend_email()helper (Resend HTTP API)Endpoints
POST /api/forgot-passwordPOST /api/register+public/signup.htmlPOST /api/login+public/login.htmlGET/POST /api/activities+public/teach.html+public/activity.htmlGET /api/dashboard+public/dashboard.htmlPages
public/forgot-password.htmlpublic/partials/navbar.html(shared — responsive, auth-aware)public/partials/footer.html(shared)public/login.html— update to cookie flowpublic/signup.html— polish, error statespublic/index.htmlpublic/profile.htmlG2 — User Profile & Public Directory (Weeks 2–3)
Schema
userstable:bio,avatar_url,is_teacher, social handles,referral_code,stripe_account_id,is_profile_publicavatarstableEndpoints
GET /api/profilePATCH /api/profilePOST /api/profile/avatar(R2 upload)DELETE /api/accountGET /api/users/:usernameGET /api/usersPages
public/profile.html— extended (bio, social, avatar, referral, public toggle)public/avatar-customize.htmlpublic/public-profile.htmlpublic/users.htmlG3 — Survey System (Weeks 3–4)
Schema
survey_system_sqltableTests
survey endpoints testEndpoints
GET /api/surveysPOST /api/surveysGET /api/surveys/:idPOST /api/surveys/:id/responsesGET /api/surveys/:id/resultsGET /api/surveys/:id/exportDELETE /api/surveys/:idPages
public/survey-create.htmlpublic/survey-resultspublic/survey.htmlpublic/surveys.htmlG4 — Platform Pages & Graphing Calculator (Weeks 4–5)
Endpoints
api/feedbackmailgun endpointslack endpointPages
public/about.htmlpublic/terms.htmlpublic/feedback.htmlpublic/graphing-calculator.htmlG5 — Donation & Strip Integration (Weeks 5–6)
Completed
donations tableStripe PaymentIntent integrationStripe subscription integrationStripe webhook handlingDonation analyticsDonation statisticsRecent donations feedMailgun thank-you emailsPages
public/donate.htmlG6 — Courses / Activities System (Weeks 6–7)
Schema
activities:price,max_students,slug,image_url,invite_only,is_activesubjectstableEndpoints
PATCH /api/activities/:idDELETE /api/activities/:idPOST /api/activities/:id/toggle-statusGET /api/activities/:id/analyticsGET /api/activities/:id/marketingPOST /api/activities/:id/message-studentsPOST /api/activities/:id/add-studentPOST /api/activities/:id/inviteGET /api/activities/searchGET /api/subjectsPages
public/learn.html(browse + filter)public/course-search.htmlpublic/course-create.html(extended)public/course-edit.htmlpublic/course-analytics.htmlpublic/course-marketing.htmlpublic/subjects.htmlG7 — Quiz Engine (Weeks 7–8)
Schema
quizzes,quiz_questions,quiz_options,user_quizzestablesEndpoints
GET/POST /api/quizzes,GET/PATCH/DELETE /api/quizzes/:idPOST /api/quizzes/:id/questions,PATCH/DELETE /api/quizzes/questions/:idPOST /api/quizzes/:id/takePATCH /api/quizzes/attempts/:id(submit + score)GET /api/quizzes/attempts/:id/resultsPOST /api/quizzes/attempts/:id/grade/:question_idGET /api/quizzes/:id/analyticsGET /api/quizzes/shared/:codePages
public/quiz-list.htmlpublic/quiz-create.htmlpublic/quiz-take.htmlpublic/quiz-results.htmlpublic/quiz-analytics.htmlpublic/peer-challenges.htmlpublic/peer-challenge-detail.htmlG8 — Cron Jobs & Automation (Week 9)
wrangler.toml
[triggers] crons = [...]Cron handlers
send_session_reminders(daily)send_assignment_reminders(daily)send_weekly_updates(weekly)send_verification_reminders(daily)cleanup_abandoned_drafts(weekly)roll_forward_sessions(daily)run_daily— streaks + leaderboard snapshotpopulate_challenges(weekly, Monday)Misc APIs + pages
POST /api/feedback+public/feedback.htmlGET /api/statusGET /api/contributors(KV cached) +public/contributors.htmlpublic/about.html,public/terms.html,public/404.html,public/sitemap.html,public/gsoc.htmlG9 — ScholarAI (Weeks 10–12, Stretch)
Repo:
alphaonelabs/scholarwrangler.toml,schema.sql,src/worker.pyscholar_documents,scholar_sessions,scholar_messagesD1 tablesEndpoints
POST /scholar/upload— PDF upload + chunk + embed + Vectorize upsertGET /scholar/documents,DELETE /scholar/documents/:idPOST /scholar/chat— RAG Q&A via Anthropic APIGET/POST /scholar/sessionsGET /scholar/sessions/:id/messagesPOST /scholar/share/:session_idGET /scholar/shared/:tokenPages (in
learnrepo)public/scholar.htmlpublic/scholar-shared.html