Skip to content
IU-Capstone-Project-2025Public

About

An interactive learning platform that allows users to create and play real-time quizzes. Hosts can easily design engaging quizzes, while participants join from any device and compete for the top spot on the leaderboard.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Repository files navigation

TRY-IT

Interactive Learning Through Real-Time Gamification

last-commit repo-top-language repo-language-count

Built with:

Redis RabbitMQ PostgreSQL Grafana Prometheus Loki Alertmanager Go React Docker Python FastAPI SQLAlchemy Cypress Pytest


Table of Contents


Overview

TRY-IT is an interactive learning platform that allows users to create and participate in real-time quizzes. Designed for teachers, trainers, and event hosts, it brings engagement and gamification to learning and assessments.


Features

  • 🎨 Dynamic Quiz Engine: Create and host quizzes with real-time synchronization
  • 📱 Cross-Platform Access: Join sessions from any device via browser
  • 🧠 Gamification: Points system with live feedback (timers in development)
  • 📊 Advanced Analytics: Track participant performance and quiz statistics
  • 🏆 Competitive Leaderboards: Real-time ranking during sessions
  • 🔔 Telegram Alerts: Instant notifications for critical system events
  • 📈 Business Metrics: Track user registrations and quiz lifecycle events

Live Deployment

A production instance is already available at https://tryit.selnastol.ru. You may use this hosted version or deploy your own instance for customization/development.


Getting Started

Development

git clone https://github.com/IU-Capstone-Project-2025/Vanguard.git
cd Vanguard
cp .env.dev.example .env

# Without monitoring:
docker compose --env-file .env -f docker-compose.yaml -f docker-compose.dev.yaml up -d frontend

# With monitoring (Grafana/Prometheus):
docker compose --env-file .env -f docker-compose.yaml -f docker-compose.dev.yaml up -d --build

Access:

Production

cp .env.prod.example .env
chmod +x setup.sh
./setup.sh  # SSL setup
docker compose --env-file .env -f docker-compose.yaml -f docker-compose.prod.yaml up -d --build

Kubernetes

Prerequisites:

  • Helm 3.8+
  • k8s cluster with nginx ingress controller, cert manager, and load balancer
  • kubectl configured with cluster access
  • Clone repository
cd charts/tryit
cp ../../.env.prod.example .env
export $(grep -v '^#' .env | xargs)
export DB_URL=$(eval echo "$DB_URL")
export TEST_DB_URL=$(eval echo "$TEST_DB_URL")
envsubst < values.yaml > values.processed.yaml
helm upgrade --install tryit . \
 -f values.processed.yaml \
 -n tryit \
 --create-namespace

Testing

Test Coverage:

  • Python: 80% integration tests (pytest)
  • Go: Unit tests for critical components + integration/e2e tests
  • Frontend: Cypress post-build and session flow tests

All run tests through CI pipeline.


Monitoring Stack

Observability Suite:

  • 📊 Grafana: Unified dashboards for metrics/logs
  • 🔍 Prometheus: Metrics collection with custom business KPIs
  • 📜 Loki + Promtail: Centralized logging (backend services only)
  • 🚨 Alertmanager: Telegram alerts for:
    • System resources (CPU/RAM thresholds)
    • Service throughput degradation
    • Container failures

Planned Enhancements:

  • Frontend error logging
  • Quiz process metrics (completion rates, latency)
  • User behavior analytics

Monitoring access is restricted to developers for security.

About

An interactive learning platform that allows users to create and play real-time quizzes. Hosts can easily design engaging quizzes, while participants join from any device and compete for the top spot on the leaderboard.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages