Skip to content

dstl-lab/cookout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Team Cookout Quiz App

A web application for running interactive team quiz sessions with real-time scoring.

Features

  • Three Teams: Chatsight, AI Tutor, and Coursegraph
  • Team Members: Each team has 4 members
  • Interactive Scoring: Click on a team member to add points
  • Flexible Points: Award full points (1.0) or partial credit (e.g., 0.1, 0.5)
  • Real-time Updates: Scores update immediately after awarding points
  • Score Reset: Reset all scores to initial values

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • CSS3

Backend

  • Python
  • FastAPI
  • SQLite

Setup Instructions

Prerequisites

  • Node.js (v16 or higher)
  • Python 3.8 or higher
  • pip

Quick Start (Recommended)

Open two terminal windows:

Terminal 1 - Backend:

./start-backend.sh

Terminal 2 - Frontend:

./start-frontend.sh

The backend will start on http://localhost:8000 and the frontend on http://localhost:5173

Manual Setup

Backend Setup

  1. Navigate to the backend directory:
cd backend
  1. Create a virtual environment (recommended):
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the backend server:
python main.py

The backend will start on http://localhost:8000

Frontend Setup

  1. Navigate to the frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev

The frontend will start on http://localhost:5173

Usage

  1. Start both the backend and frontend servers
  2. Open your browser to http://localhost:5173
  3. Click on a team member's name to select them
  4. A dialog will appear with:
    • Default points: 1.0
    • Input field to adjust points (e.g., 0.1 for partial credit)
    • ✓ (checkmark) button to confirm and add points
    • ✕ (X) button to cancel
  5. Click the checkmark to add points to the team
  6. Use the "Reset Scores" button to reset all teams to initial scores

Initial Team Scores

  • Chatsight: 11.5
    • Minchan, Michelle, Lauren, Achintya
  • AI Tutor: 12.6
    • Sathvika, Preethi, Ayush, Ella
  • Coursegraph: 15.1
    • Andrew, Thaarak, Susana, Steven

API Endpoints

  • GET /api/teams - Get all teams with members and scores
  • POST /api/add-points - Add points to a team
    • Body: { "member_id": number, "points": number }
  • POST /api/reset-scores - Reset all scores to initial values

Development

Backend

The SQLite database (cookout.db) is automatically created on first run with initial data.

Frontend

The app uses a modern gradient design with smooth animations and responsive layout.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published