Skip to content

adeetya-u/liveclass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiveClass Platform

Demo

Watch on MediaSpace

Interactive classroom participation platform with forums, questions, teams, and participation tracking.

Table of Contents


Quick Start

Running Locally

  1. Frontend:

    cd frontend
    npm run build
  2. Backend:

    cd backend
    npm run dev
  3. Access at http://localhost:8080

Platform Overview

Professor Interface

Professor Main Page

Course dashboard with student participation metrics

Professor View

Live session control panel

Professor View - Answered

Real-time response visualization and analytics

Professors can create courses, manage sessions, view real-time student responses, and access comprehensive analytics. The dashboard provides a complete overview of student participation and engagement metrics.


Student Interface

Student Main Page

Student dashboard with enrolled courses and active sessions

Student View

Live session interface

Student View - Question

Interactive question answering interface

Student Performance - Overall

Overall performance metrics across all courses

Student Performance - Individual

Detailed session-by-session performance breakdown

Students join live sessions, answer questions in real-time, view their performance metrics, and track participation across all enrolled courses.


TA Interface

TA Main Page

TA dashboard with course overview

TA View - Question

Live session monitoring

TA View - Answered

Response analytics and student engagement tracking

TAs have access to monitor live sessions, view student responses, and assist with course management while maintaining a view-only interface.


Projector Display

Projector View

Full-screen presentation mode

Projector View - Question

Question display for classroom presentations

Projector View - Answered

Real-time response visualization

Full-screen projector mode displays questions and real-time response visualizations for classroom presentations, updating automatically as students submit answers.


Core Features

Forum

Forum - Piazza-style discussion boards with threaded replies, likes, and tags

Question Bank

Question Bank - Create and manage reusable questions (multiple choice, multiple select, likert scale, short response)

Question Bank - Making a Question

Question Creation - Question creation interface with time limits and point values

Teams

Teams - Team formation and management with automatic assignment options

Post-Class Analytics

Post-Class Analytics - Comprehensive analytics dashboard with participation rates, accuracy metrics, and session summaries

Architecture

  • Backend: Node.js/Express with TypeScript
  • Frontend: React with TypeScript
  • Database: MySQL

Setup

Prerequisites

  • Node.js 20+
  • MySQL 8.4+ (local instance)

Database Setup

  1. Create the database:
mysql -u root -p -e "CREATE DATABASE course_platform;"
  1. Run the schema:
mysql -u root -p course_platform < backend/schema.sql

Backend Setup

  1. Navigate to backend directory:
cd backend
  1. Install dependencies:
npm install
  1. Configure environment variables in backend/src/config/database.ts or set them in your environment.

  2. Run for development:

npm run dev

Frontend Setup

  1. Navigate to frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Build for production:
npm run build

Features

  • User Management: Students, TAs, and Professors with role-based access
  • Courses: Course creation and enrollment management
  • Forums: Piazza-style discussion boards with threaded replies
  • Questions: Menti-style questions (multiple choice, multiple select, likert scale, short response)
  • Teams: Team formation and management
  • Analytics: Participation tracking and advanced queries
  • Real-time Updates: Socket.io for live updates

API Endpoints

  • GET /api - API info
  • GET /health - Health check
  • POST /api/auth/google - OAuth login
  • GET /api/auth/me - Get current user
  • GET /api/courses - List courses
  • GET /api/forums/course/:courseId - List forums
  • GET /api/questions/course/:courseId - List questions
  • GET /api/teams/course/:courseId - List teams
  • GET /api/analytics/course/:courseId/participation - Course analytics

See individual route files for complete API documentation.

Database Schema

See backend/schema.sql for complete database schema with all 8 tables plus question_responses.

Contributors

  • Adeetya Upadhyay
  • Rona Oum
  • Devansh Majithia
  • Jonathan Chen

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages