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
GET /api/blog, POST /api/blog, GET /api/blog/:slug, PATCH /api/blog/:slug, DELETE /api/blog/:slug
POST /api/blog/:slug/comments
GET /api/success-stories, POST /api/success-stories, GET /api/success-stories/:slug, PATCH /api/success-stories/:slug, DELETE /api/success-stories/:slug
✅ Already Complete
POST /api/register+public/signup.htmlPOST /api/login+public/login.htmlGET/POST /api/activities+public/teach.html+public/activity.htmlGET /api/dashboard+public/dashboard.htmlPOST /api/sessionsGET /api/tags,POST /api/activity-tagsGET /api/admin/table-counts+public/admin.htmlPOST /api/init,POST /api/seedpublic/index.htmlpublic/profile.html(basic)G1 — Authentication & Security (Weeks 1–2)
Schema / Infra
utils.pyexpclaim) in JWTSet-Cookiein login, read fromCookieheaderlocalStoragetoken usage from existing JSsend_email()helper (Resend HTTP API)Endpoints
POST /api/forgot-passwordPOST /api/reset-passwordPOST /api/change-passwordPages
public/forgot-password.htmlpublic/reset-password.htmlpublic/change-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 statesG2 — 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 — Courses / Activities System (Weeks 3–4)
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.htmlG4 — Sessions & Enrollment System (Weeks 4–5)
Schema
sessions:meeting_link,max_students,price,is_rolled_overenrollments:payment_intent_id,payment_status,notescourse_progresstableEndpoints
GET /api/sessions/:idPATCH /api/sessions/:idDELETE /api/sessions/:idPOST /api/sessions/:id/duplicatePOST /api/sessions/:id/completeGET /api/sessions/:id/attendancePOST /api/sessions/:id/attendancePOST /api/sessions/:id/rolloverDELETE /api/enrollments/:idPATCH /api/enrollments/:id/progressPATCH /api/enrollments/:id/notesGET /api/enrollments/:id/progressPages
public/session-edit.htmlpublic/student-management.htmlpublic/activity.html(attendance, duplicate, rollover)G5 — Blog & Success Stories (Weeks 5–6)
Schema
blog_posts,blog_comments,success_storiestablesEndpoints
GET /api/blog,POST /api/blog,GET /api/blog/:slug,PATCH /api/blog/:slug,DELETE /api/blog/:slugPOST /api/blog/:slug/commentsGET /api/success-stories,POST /api/success-stories,GET /api/success-stories/:slug,PATCH /api/success-stories/:slug,DELETE /api/success-stories/:slugPages
public/blog-list.htmlpublic/blog-create.htmlpublic/blog-detail.htmlpublic/success-stories.htmlpublic/success-story-detail.htmlG6 — Quiz Engine (Weeks 6–7)
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.htmlG7 — Payments & Store (Weeks 8–9)
Schema
payments,cart,cart_items,goods,storefront,orders,order_items,discounts,membership_plans,user_memberships,donationstablesEndpoints
POST /api/payments/intent/:activity_idPOST /api/payments/cart-intentPOST /api/payments/stripe-webhookPOST /api/payments/cart/checkout/freeGET /api/cart, add/remove itemsPOST /api/stripe/connect/onboarding, webhookPOST /api/discounts/applyGET/POST/PATCH/DELETE /api/goods,/api/goods/:idGET /api/storefronts/:slug,POST /api/storefrontsGET /api/orders/:id,PATCH /api/orders/items/:id/statusPages
public/cart.htmlpublic/checkout.htmlpublic/donate.htmlpublic/membership-checkout.htmlpublic/membership-settings.htmlpublic/store-list.htmlpublic/store-detail.htmlpublic/goods-detail.htmlpublic/order-detail.htmlG8 — Cron Jobs & Automation (Week 10)
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 11–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.htmlProgress Summary