--- 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 1. **Install Dependencies:** ```bash pip install -r requirements.txt ``` 2. **Set up Supabase:** - Create a Supabase project - Run the SQL script in `database/setup.sql` - Add your credentials to `.streamlit/secrets.toml` 3. **Run the Application:** ```bash streamlit run src/main.py ``` 4. **Test Database Connection (Optional):** ```bash streamlit run tests/test_database.py ``` ### Hugging Face Spaces Deployment 1. **Fork this repository** to your GitHub account 2. **Create a new Space on Hugging Face:** - Go to [huggingface.co/spaces](https://huggingface.co/spaces) - Click "Create new Space" - Choose "Docker" as the SDK - Link to your forked repository 3. **Add Repository Secrets:** - Go to your GitHub repository settings - Navigate to "Secrets and variables" โ†’ "Actions" - Add these repository secrets: - `SUPABASE_URL`: Your Supabase project URL - `SUPABASE_KEY`: Your Supabase anon public key 4. **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: ```bash streamlit run tests/test_database.py ``` Test instructor notes functionality: ```bash 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**