An interactive classroom tool designed to help teachers efficiently manage student participation during lessons. This application helps track who answers questions, who volunteers, and creates a fair selection process for classroom activities.
This application assists teachers in several ways:
- Fair Student Selection: Randomly picks students to answer questions, ensuring everyone gets a chance based on their participation history
- Attendance Tracking: Easily mark which students are present in class each day
- Performance Tracking: Monitor how often students answer correctly, how many times they volunteer, and their overall participation
- Multiple Class Management: Create different class groups (like Period 1, Period 2, etc.) and manage each separately
- Volunteer System: Allow students to volunteer for questions they want to answer
- Skip Management: Set limits on how many times a student can skip answering before being selected
- Leaderboard View: See which students have participated the most and performed well
- Two Display Modes: Use in teacher mode for full controls or student mode for a large projector display
This tool is designed for teachers and instructors who want to:
- Ensure fair participation from all students
- Reduce classroom bias in selecting who answers questions
- Track student engagement and performance
- Easily manage multiple classes or groups
- Open the
src/index.htmlfile in any web browser - The application will start immediately
- Create a class by entering class name and student names (one per line)
- Start selecting students and tracking participation
- Docker installed on your computer
- Docker Hub account (free)
# Pull the latest version from Docker Hub
docker pull jhuebert/participation-tracker:latest
# Run the application
docker run -p 80:80 jhuebert/participation-tracker:latest# Start the application
docker-compose up
# Stop the application
docker-compose downThis application is designed to work behind Cloudflare's reverse proxy for secure, fast access.
-
Deploy the Docker Image
- Push to the main branch of this GitHub repository
- The workflow automatically builds and tags the latest version
- Images are pushed to Docker Hub with semantic versioning
-
Configure Cloudflare
- Set up a Cloudflare Worker or Pages deployment
- Point to your Docker Hub image
- Configure SSL and proxy settings
-
Access Your Application
- Your application will be accessible via Cloudflare's secure domain
- No additional configuration needed
The application uses semantic versioning (e.g., 1.0.0, 1.1.0, 1.1.4) to track releases:
- 1.x.x: Major versions with significant new features
- 1.x.x: Minor versions with new functionality but no breaking changes
- 1.x.x: Patch versions with bug fixes and improvements
Each version is automatically tagged with:
- Full version (e.g.,
1.0.0) - Major.minor version (e.g.,
1.0) - Major version only (e.g.,
1)
This lets you pin to specific versions or update to the latest patch version.
When a new version is released:
- For Local Use: Download the new
VERSIONfile and rebuild - For Docker: Pull the new version tag from Docker Hub
docker pull jhuebert/participation-tracker:1.0.0
- For Cloudflare: The deployment will automatically use the latest version
The application includes several settings you can adjust:
- Default: Enabled
- What it does: Students who participate less frequently are more likely to be selected
- Why you might disable it: If you want completely random selection regardless of participation history
- Default: 3 skips per session
- What it does: Limits how many times a student can skip answering before they must answer
- Adjustment: Change the skip limit in the settings menu
- Reset Session Skips: Clears the skip counter for all students in the current session
- Reset Leaderboard: Clears all performance statistics for a specific class
The application stores all your data locally in your browser. To backup or restore your data:
- Export Data: Go to "Manage Classes" → "Export Data" to save all your class information
- Import Data: Go to "Manage Classes" → "Import Data" to restore from a saved file
- Backup: Save your exported data file regularly
- Open in Two Tabs: Use one tab in "Teacher View" for full controls and another in "Student View" for the projector display
- Mark Attendance Daily: Start each day by marking which students are present
- Track Participation: Regularly check the leaderboard to see student engagement
- Use Skip Limits: Prevent the same students from answering every question
- Export Regularly: Save your data regularly to prevent loss
If you want to build and deploy your own version:
- Update the
VERSIONfile with your desired version (e.g.,1.1.0) - Build the Docker image locally:
docker build -t jhuebert/participation-tracker:1.1.0 . - Push to Docker Hub:
docker login docker push jhuebert/participation-tracker:1.1.0
This repository includes GitHub Actions that automatically build and deploy when you push to the main branch:
- Configure Docker Hub credentials in GitHub repository settings (secrets:
DOCKER_USERNAME,DOCKER_TOKEN) - Update the
VERSIONfile - Commit and push to main branch
- The workflow automatically builds and tags the image
If you find bugs or have suggestions for improvements, feel free to:
- Open an issue in the GitHub repository
- Submit feature requests
- Share your classroom use cases
This project is open source and available under the MIT License. Feel free to use, modify, and distribute as needed for your classroom needs.