Spaces:
Sleeping
Sleeping
| 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** | |