Currently, openCSE has no user account or profile system. Features like Bookmarks and Quiz exist in the navbar, but without a profile, these are either stored locally or not persisted at all. Users have no way to:
- Track their learning progress across subjects
- Save and sync their bookmarks across devices
- View their quiz history and scores
- Personalize their experience on the platform
This is a significant gap for a platform aimed at CSE learners who return repeatedly to study different subjects over time.
Feature Description
Add a User Profile System that allows users to sign up, log in, and maintain a personal profile on openCSE — enabling persistent bookmarks, quiz tracking, progress monitoring, and a personalized dashboard.
Proposed Solution
1. 🔐 Authentication
- Add Sign Up / Log In options to the navbar (replacing or alongside the current items)
- Support:
- Email & password registration
- OAuth login via Google (most accessible for students)
- Secure session management with JWT or cookie-based auth
2. 👤 Profile Page (/profile)
Each user should have a profile page containing:
- Display Name and Avatar (upload or choose from defaults)
- Branch / Semester — optional fields to personalize subject recommendations
- Joined Date
- Edit Profile option
3. 📚 Learning Progress Tracker
- Show which subjects the user has visited or marked as studied
- Progress bar per subject (e.g. "3 of 8 topics read")
- A "Continue Learning" section on the profile showing recently visited subjects
4. 🔖 Synced Bookmarks
- Currently the Bookmarks navbar item likely uses
localStorage — tie it to the user's account so bookmarks persist across devices and sessions
- Display all saved bookmarks on the profile page with quick-access links
5. 🧠 Quiz History
- Store quiz attempts, scores, and dates per user
- Show a Quiz Performance summary on the profile: total attempts, average score, best score
- Allow users to retry quizzes and track improvement over time
6. 🎨 Design Consistency
- Match openCSE's existing aesthetic — dark brown navbar, parchment/kraft paper background tones, bold serif-style typography
- Profile page should feel warm and academic, consistent with the platform's open-textbook identity
Why This Matters
- Makes Bookmarks and Quiz features truly useful by persisting data beyond a single session
- Encourages long-term engagement — students are more likely to return if they can track progress
- Gives contributors and sponsors a clearer picture of the platform's active user base
- A profile system is a foundational feature expected on any serious learning platform
- Aligns with platforms like Khan Academy, GeeksForGeeks, and freeCodeCamp which all offer user profiles with progress tracking
Acceptance Criteria
I would like to add this enhancement
Could you please assign this issue to me
ThankYou
Currently, openCSE has no user account or profile system. Features like Bookmarks and Quiz exist in the navbar, but without a profile, these are either stored locally or not persisted at all. Users have no way to:
This is a significant gap for a platform aimed at CSE learners who return repeatedly to study different subjects over time.
Feature Description
Add a User Profile System that allows users to sign up, log in, and maintain a personal profile on openCSE — enabling persistent bookmarks, quiz tracking, progress monitoring, and a personalized dashboard.
Proposed Solution
1. 🔐 Authentication
2. 👤 Profile Page (
/profile)Each user should have a profile page containing:
3. 📚 Learning Progress Tracker
4. 🔖 Synced Bookmarks
localStorage— tie it to the user's account so bookmarks persist across devices and sessions5. 🧠 Quiz History
6. 🎨 Design Consistency
Why This Matters
Acceptance Criteria
/profilepage is accessible after login showing name, avatar, and statsI would like to add this enhancement
Could you please assign this issue to me
ThankYou