Spaces:
Sleeping
Sleeping
metadata
title: Debate Class LMS
emoji: π
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 8501
tags:
- streamlit
- lms
- education
- debate
pinned: false
short_description: Learning Management System for Debate Class
Debate Class LMS - Learning Management System
A comprehensive Learning Management System built with Streamlit specifically designed for debate class instruction. Cloud-ready and optimized for Hugging Face Spaces deployment.
π Features
π Authentication
- Secure student login system with Supabase database
- Individual student accounts
- Session management
- Custom authentication system
π Course Content
- Week-by-week structured learning materials
- Interactive quizzes and assessments
- Video resources and lecture materials
- Assignment submission system
π Dashboard
- Student progress tracking
- Assignment due dates
- Course announcements
- Learning objectives overview
π Assignments
- File upload capabilities
- Assignment descriptions and grading criteria
- Submission tracking
- Multiple file format support
π Instructor Notes
- Attendance tracking for each class session
- Student progress notes (writing, research, case development)
- Debate skills assessment (speaking, presentation, strategy)
- Parent communication notes and recommendations
- Tournament and important dates tracking
- General notes and observations
- Instructor-only access with role-based security
π₯ Student Accounts
The system includes the following student accounts:
| Username | Name | Role |
|---|---|---|
instructor |
Debate Instructor | Instructor |
alice |
Alice Johnson | Student |
bob |
Bob Smith | Student |
carol |
Carol Davis | Student |
david |
David Wilson | Student |
emma |
Emma Brown | Student |
Default Password for all accounts: password123
π οΈ Installation & Usage
Local Development
Install Dependencies:
pip install -r requirements.txtSet up Supabase:
- Create a Supabase project
- Run the SQL script in
database/setup.sql - Add your credentials to
.streamlit/secrets.toml
Run the Application:
streamlit run src/main.pyTest Database Connection (Optional):
streamlit run tests/test_database.py
Hugging Face Spaces Deployment
Fork this repository to your GitHub account
Create a new Space on Hugging Face:
- Go to huggingface.co/spaces
- Click "Create new Space"
- Choose "Docker" as the SDK
- Link to your forked repository
Add Repository Secrets:
- Go to your GitHub repository settings
- Navigate to "Secrets and variables" β "Actions"
- Add these repository secrets:
SUPABASE_URL: Your Supabase project URLSUPABASE_KEY: Your Supabase anon public key
Deploy:
- The Space will automatically build and deploy
- Your app will be available at
https://huggingface.co/spaces/your-username/your-space-name
π Application Structure
βββ src/
β βββ main.py # Main application entry point
β βββ auth.py # Authentication module
β βββ views/ # Page modules
β βββ __init__.py
β βββ dashboard.py # Dashboard page
β βββ week1.py # Week 1 lesson content
β βββ future_weeks.py # Weeks 2-4 placeholder content
β βββ assignments.py # Assignments page
β βββ resources.py # Resources page
β βββ user_management.py # User management (instructor only)
β βββ instructor_notes.py # Instructor notes (instructor only)
βββ tests/
β βββ __init__.py
β βββ test_database.py # Database connection testing
βββ database/
β βββ setup.sql # Database setup script
β βββ create_instructor_notes_table.sql # Instructor notes table
β βββ instructor_notes_rls_policies.sql # RLS policies for instructor notes
βββ .streamlit/
β βββ config.toml # Streamlit configuration
β βββ secrets.toml # Local secrets (not in repo)
βββ requirements.txt # Python dependencies
βββ Dockerfile # Container configuration
βββ README.md # This file
π― Course Structure
Week 1: Introduction to Debate
- Understanding debate formats
- Basic argument structure
- Public speaking fundamentals
- Evidence importance
Week 2: Argument Structure
- Components of strong arguments
- Logical argument construction
- Identifying logical fallacies
- Argument mapping skills
Week 3: Evidence & Research
- Effective research strategies
- Evidence quality evaluation
- Proper source citation
- Evidence organization
Week 4: Rebuttal Techniques
- Effective rebuttal strategies
- Opponent argument identification
- Defensive argumentation
- Quick thinking development
π§ Technical Details
- Framework: Streamlit
- Database: Supabase (PostgreSQL)
- Authentication: Custom system with Supabase backend
- Data Storage: Supabase database (cloud-ready)
- Deployment: Optimized for Hugging Face Spaces
- Architecture: Modular design with separate view modules
π― Use Cases
- High School Debate Classes: Structured learning for debate teams
- College Debate Programs: Advanced debate instruction
- Debate Clubs: Organized practice and learning
- Public Speaking Courses: Fundamental skills development
π Security Features
- Supabase Row Level Security (RLS)
- Custom authentication system
- User role management
- Secure file upload handling
βοΈ Cloud Features
- Supabase integration - Cloud database and authentication
- Hugging Face Spaces ready - Optimized for immediate deployment
- Docker containerization - Consistent deployment environment
- Environment-based configuration - Secrets management
π§ͺ Testing
Run database tests locally:
streamlit run tests/test_database.py
Test instructor notes functionality:
streamlit run tests/test_instructor_notes.py
These tests will help you verify your Supabase connection and functionality.
π Future Enhancements
- Real-time debate practice sessions
- Video conferencing integration
- Advanced progress analytics
- Mobile-responsive design
- Debate tournament management
- Advanced user management
- test commit and push
Built with β€οΈ using Streamlit & Supabase | Cloud-ready for Hugging Face Spaces