Skip to content

Tasks for Quest #137

@SanPranav

Description

@SanPranav

Mini-Quest Backend Tasks: Certifications, Analytics & AI Integration

Team: Encrypters (Backend)
Focus: Data Management, API Integration, Analytics, and Certificate Automation
Linked Modules: Creators (Frontend), Applicators (Data Viz), Curators (Admin)


Overview

The Backend team is responsible for implementing the data systems, APIs, and logic layers supporting certifications, analytics dashboards, and AI-assisted insights.
This includes endpoints for student progress, certificate generation, analytics summaries, and admin reporting tools.


Task Breakdown

1. Certifications System

Goal: Allow users to earn and view digital certificates based on completed modules or quests.

Tasks:

  • Create certifications database schema (user_id, quest_id, completion_date, certificate_url)
  • Build API endpoint: POST /api/certifications to generate a certificate
  • Integrate with PDF generator (e.g., ReportLab or HTML → PDF)
  • Implement GET /api/certifications/:user_id to fetch user’s certificates
  • Coordinate with Frontend to display certificates in a carousel view
  • Export certificates to LinkedIn Certification section (simulate or API link placeholder)

2. Graphs & Analytics (User Dashboard)

Goal: Provide personal analytics for each user on their activity and progress.

Tasks:

  • Design database tables for:

    • activity_log (time spent per module)
    • question_responses (accuracy tracking)
    • module_progress (percentage completion)
  • API routes:

    • GET /api/analytics/user/:id → returns summary data
    • GET /api/analytics/user/:id/pdf → generates a PDF executive summary
  • Generate charts data for:

    • Time spent
    • Questions answered correctly
    • Overall module progress
  • Integrate analytics output with Data Visualization team (Applicators)


3. AI Gemini Chatbot Integration

Goal: Embed a context-aware AI chatbot to help users summarize results, generate LinkedIn-ready descriptions, and reflect on progress.

Tasks:

  • Define context endpoints for user data (to pass into Gemini API)
  • Create backend route: POST /api/chat/ai-summary
  • Secure API key storage (environment variables)
  • Implement safeguards for ethical AI use and verification logging
  • Return AI-generated summaries that can be used for LinkedIn “About” or “Skills” sections

4. Admin Analytics Dashboard (Content Admin)

Goal: Give instructors/curators a unified dashboard for class-level analytics, progress tracking, and feedback aggregation.

Tasks:

  • Aggregate data from all users:

    • Average time spent
    • Question accuracy
    • Module completion rate
  • GET /api/admin/analytics/overview

  • GET /api/admin/progress/all

  • GET /api/admin/feedback → pulls from all module comment sections

  • Build filters (by class, by module, by user)

  • Support export to CSV or PDF

  • Collaborate with Curators (Analytics/Admin team) for visualization and UI hooks


5. System Infrastructure

Tasks:

  • Set up Flask or Spring Boot project structure
  • Define .env file for database and API keys
  • Implement RESTful API design with CORS for Frontend access
  • Use SQLite or PostgreSQL (based on hosting)
  • Include documentation in README.md for all API routes

Deliverables

  • Functional Flask/Spring Boot backend
  • REST API documentation (/docs or Markdown in repo)
  • Live deployed API link (via Render, Replit, or GitHub Actions)
  • Analytics and Certification integration verified with Frontend team
  • Final “Executive Summary PDF” downloadable by user

Collaboration Notes

  • Work closely with Frontend (Creators) to ensure UI integration for certificates and analytics.

  • Coordinate with Curators (Admin) for data visualization and progress tracking.

  • Follow Agile workflow:

    • Use GitHub Projects for task status.
    • Commit messages with tags: [certs], [analytics], [AI], [admin].

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions