alphaonelabs / alphaonelabs/learn
[GSoC 2026] Ghanshyam — Migration Progress Tracker
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 2
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
Label:
gsoc,trackingAssignee: @ghanshyam2005singh
G1 — Authentication & Security (Weeks 1–2)
Schema / Infra
- AES-256-GCM replaces XOR in
utils.py - One-time D1 re-encryption script
- httpOnly cookie auth —
Set-Cookiein login, read fromCookieheader - Remove all
localStoragetoken usage from existing JS -
send_email()helper (Resend HTTP API)
Endpoints
-
POST /api/forgot-password -
POST /api/register+public/signup.html -
POST /api/login+public/login.html -
GET/POST /api/activities+public/teach.html+public/activity.html -
GET /api/dashboard+public/dashboard.html
Pages
-
public/forgot-password.html -
public/partials/navbar.html(shared — responsive, auth-aware) -
public/partials/footer.html(shared) -
public/login.html— update to cookie flow -
public/signup.html— polish, error states -
public/index.html -
public/profile.html
G2 — User Profile & Public Directory (Weeks 2–3)
Schema
- Extend
userstable:bio,avatar_url,is_teacher, social handles,referral_code,stripe_account_id,is_profile_public -
avatarstable
Endpoints
-
GET /api/profile -
PATCH /api/profile -
POST /api/profile/avatar(R2 upload) -
DELETE /api/account -
GET /api/users/:username -
GET /api/users
Pages
-
public/profile.html— extended (bio, social, avatar, referral, public toggle) -
public/avatar-customize.html -
public/public-profile.html -
public/users.html
G3 — Survey System (Weeks 3–4)
Schema
-
survey_system_sqltable
Tests
-
survey endpoints test
Endpoints
-
GET /api/surveys -
POST /api/surveys -
GET /api/surveys/:id -
POST /api/surveys/:id/responses -
GET /api/surveys/:id/results -
GET /api/surveys/:id/export -
DELETE /api/surveys/:id
Pages
-
public/survey-create.html -
public/survey-results -
public/survey.html -
public/surveys.html
G4 — Platform Pages & Graphing Calculator (Weeks 4–5)
Endpoints
-
api/feedback -
mailgun endpoint -
slack endpoint
Pages
-
public/about.html -
public/terms.html -
public/feedback.html -
public/graphing-calculator.html
G5 — Donation & Strip Integration (Weeks 5–6)
Completed
-
donations table -
Stripe PaymentIntent integration -
Stripe subscription integration -
Stripe webhook handling -
Donation analytics -
Donation statistics -
Recent donations feed -
Mailgun thank-you emails
Pages
-
public/donate.html
G6 — Courses / Activities System (Weeks 6–7)
Schema
- Extend
activities:price,max_students,slug,image_url,invite_only,is_active -
subjectstable
Endpoints
-
PATCH /api/activities/:id -
DELETE /api/activities/:id -
POST /api/activities/:id/toggle-status -
GET /api/activities/:id/analytics -
GET /api/activities/:id/marketing -
POST /api/activities/:id/message-students -
POST /api/activities/:id/add-student -
POST /api/activities/:id/invite -
GET /api/activities/search -
GET /api/subjects
Pages
-
public/learn.html(browse + filter) -
public/course-search.html -
public/course-create.html(extended) -
public/course-edit.html -
public/course-analytics.html -
public/course-marketing.html -
public/subjects.html
G7 — Quiz Engine (Weeks 7–8)
Schema
-
quizzes,quiz_questions,quiz_options,user_quizzestables
Endpoints
-
GET/POST /api/quizzes,GET/PATCH/DELETE /api/quizzes/:id -
POST /api/quizzes/:id/questions,PATCH/DELETE /api/quizzes/questions/:id -
POST /api/quizzes/:id/take -
PATCH /api/quizzes/attempts/:id(submit + score) -
GET /api/quizzes/attempts/:id/results -
POST /api/quizzes/attempts/:id/grade/:question_id -
GET /api/quizzes/:id/analytics -
GET /api/quizzes/shared/:code
Pages
-
public/quiz-list.html -
public/quiz-create.html -
public/quiz-take.html -
public/quiz-results.html -
public/quiz-analytics.html -
public/peer-challenges.html -
public/peer-challenge-detail.html
G8 — Cron Jobs & Automation (Week 9)
wrangler.toml
- Add
[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 snapshot -
populate_challenges(weekly, Monday)
Misc APIs + pages
-
POST /api/feedback+public/feedback.html -
GET /api/status -
GET /api/contributors(KV cached) +public/contributors.html -
public/about.html,public/terms.html,public/404.html,public/sitemap.html,public/gsoc.html
G9 — ScholarAI (Weeks 10–12, Stretch)
Repo: alphaonelabs/scholar
- Scaffold repo with
wrangler.toml,schema.sql,src/worker.py - R2 bucket + Vectorize index binding
-
scholar_documents,scholar_sessions,scholar_messagesD1 tables
Endpoints
-
POST /scholar/upload— PDF upload + chunk + embed + Vectorize upsert -
GET /scholar/documents,DELETE /scholar/documents/:id -
POST /scholar/chat— RAG Q&A via Anthropic API -
GET/POST /scholar/sessions -
GET /scholar/sessions/:id/messages -
POST /scholar/share/:session_id -
GET /scholar/shared/:token
Pages (in learn repo)
-
public/scholar.html -
public/scholar-shared.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This issue is a progress tracker rather than a single task, covering unchecked work in G6–G9 across the learn repository and the separate scholar repository. Start by reviewing the specific unchecked section and its named entry points, such as wrangler.toml, the listed API routes, public pages, or scholar/src/worker.py; completion means implementing and validating the selected milestone, but no single test or acceptance target is provided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html, python, sql
- Domain
- ai, backend, cloud, database, frontend, payments
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100