Skip to content

Feature Request: Role-Based User Dashboard with Authentication & Backend Integration #13

@ayushHardeniya

Description

@ayushHardeniya

📌 Summary:

We need to implement a User Dashboard System for the ZenYukti platform, with proper authentication, backend, and database support. This dashboard will serve three types of users with different flows and purposes: Members, Contributors, and Mentors.

🎯 Key Features & Flow:

1. Authentication System

User Sign-Up / Login (email + password or OAuth)

Integrated with a secure backend and database (e.g., Firebase, Supabase, or Node/Express with MongoDB/PostgreSQL)

Post-login, user is prompted to choose one of the 3 roles.

2. User Role Selection (During Signup)

Upon successful registration, users must choose:

👤 Member || 🛠️ Contributor || 🎓 Mentor

3. Dashboard View Based on Role

Each role will be routed to a different dashboard UI & backend flow.

🧭 Role-wise Flow (High-Level):

👤 Member:
See basic stats (community activity, announcements, events)

Optionally track personal engagement

🛠️ Contributor:
Show a list of GitHub repos under the GitHub org., the user has contributed to

Show their pull requests, issues, and contribution badges

GitHub account linking may be required

🎓 Mentor:
Additional registration step to add:

Domain(s) of expertise

Experience summary/bio

Optional availability info

Store mentor data in a database for future matching

📦 Backend Considerations:
Role-based access control (RBAC) for managing features and views

Database models for each user type

API routes for retrieving and updating dashboard data

🔜 Next Step:
✅ Set up a basic authentication system

After that, start modular integration of role-based flows.

"✅ Tech Stack RECOMMENDATION:

  1. Frontend (React / Next.js)
    React.js (for SPA dashboard) or Next.js (if you want SSR and better routing)

Free, open-source, and widely supported

  1. Authentication
    🔐 Firebase Authentication (Free tier includes email/password, Google, GitHub, etc.)
    Free for up to 10K monthly active users
    Supports role-based auth via custom claims
    Or you can use Clerk or Auth0’s free plan (Clerk has 5K MAUs)

  2. Database
    🗃️ Firebase Firestore (NoSQL – free tier works well initially)
    50K document reads/day, 20K writes/day
    Or use Supabase (PostgreSQL + Auth + API) — free tier is generous
    Or use MongoDB Atlas Free Cluster

  3. Backend
    ☁️ Cloud Functions (Firebase) — for handling secure logic
    Or use Express.js with Vercel or Railway or Render (All have generous free tiers)

  4. GitHub Integration (for Contributors)
    Use GitHub API (free) to fetch:
    User contributions

Public repos of ZenYukti

PRs, Issues, etc.

  1. Deployment (All Free)
    Frontend: Vercel / Netlify / GitHub Pages

Backend/API: Vercel Serverless Functions / Render / Railway

Database/Auth: Firebase / Supabase (both full-stack)

🔐 No Paid APIs, Still Feature-Rich
You're covered for:

Auth ✅
Database ✅
Serverless Backend ✅
GitHub Integration ✅
Dashboard Hosting ✅

⚠️ Things to Keep in Mind:
Use free services within their quotas.

Avoid heavy backend logic or large datasets on free plans.

For GitHub API, unauthenticated requests have low rate limits — you might need GitHub personal access tokens (still free)."

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions