👨‍🏫 CW Classroom Teacher Guide

Complete guide for creating and managing Morse code classrooms

Create Classrooms Calendar Scheduling Invite Students Email Notifications Track Progress Conflict Detection Modern Interface Debug Tools

📚 Quick Navigation

🚀 Getting Started as a Teacher

✅ Prerequisites

  • Active Morse Trainer Pro account
  • Teacher privileges enabled by administrator
  • Modern web browser (Chrome, Firefox, Safari, Edge)

📱 Accessing Your Teacher Dashboard

1

Navigate to Training Menu

From the main menu, click Training🎓 CW Classroom

2

Select Teacher Dashboard

Choose Teacher Dashboard to access your classroom management interface

3

Explore the Interface

Familiarize yourself with the dashboard sections: stats, classrooms, and management tools

💡 New to Teaching? Start by creating your first classroom to understand the workflow. You can always modify settings and add students later.

🏫 Creating and Managing Classrooms

➕ Creating Your First Classroom

1

Click "Create New Classroom"

In the Create Classroom section, click the section header to expand the form

2

Fill in Classroom Details

Classroom Name: Choose a descriptive name (required)

Description: Provide details about the classroom goals and content (optional)

3

Submit and Confirm

Click "Create Classroom" and you'll see a success notification in the center of your screen

📝 Classroom Naming Tips

  • • Use descriptive names: "Beginner CW - Fall 2025" or "Advanced Contest Prep"
  • • Include skill level if applicable: "Koch Method - Characters 1-10"
  • • Add session information: "Evening CW Club" or "Weekend Warriors"
  • • Keep it professional and clear for students

⚙️ Classroom Configuration Options

Basic Settings

  • • Classroom name and description
  • • Public/private visibility (coming soon)
  • • Enrollment limits (coming soon)
  • • Session scheduling (coming soon)

Advanced Features

  • • Progress tracking and analytics
  • • Assignment management (coming soon)
  • • Custom training programs (coming soon)
  • • Performance reports (coming soon)

👥 Student Management

📧 Inviting Students

1

Open Invite Student Modal

Click "Invite Student" button or use the invite button on a specific classroom card

2

Select Classroom and Enter Email

Classroom: Choose which classroom to invite the student to

Email Address: Enter the student's valid email address

3

Send Invitation

Click "Send Invitation" - the student will receive an email with enrollment instructions

⚠️ Important: Invitations expire after 7 days for security. Students must accept invitations within this timeframe.

📊 Student Enrollment Status

⏳ Pending Invitations

Students who have been invited but haven't yet accepted

✅ Active Students

Students who have accepted and enrolled in the classroom

❌ Expired Invites

Invitations that have expired and need to be resent

🎯 Student Management Features

  • View Enrolled Students: See all students in each classroom with their enrollment dates
  • Track Activity: Monitor recent student activity and engagement
  • Manage Invitations: View pending invites and their expiration dates
  • Student Progress: Access individual student performance data (coming soon)
  • Communication Tools: Direct messaging with students (coming soon)

📅 Advanced Calendar & Scheduling System

🎉 Latest Enhancement! The new calendar system provides comprehensive class scheduling with conflict detection, automatic email notifications, and real-time updates.

🗓️ Interactive Calendar Features

Visual Calendar

  • • Month view with all scheduled classes
  • • Color-coded events by classroom
  • • Click dates to quickly schedule classes
  • • Hover over events for quick details
  • • Navigate months with arrow controls

Upcoming Classes Sidebar

  • • Next 7 days of scheduled classes
  • • Real-time updates after changes
  • • Quick access to class details
  • • Student enrollment status
  • • One-click class management

➕ Creating Scheduled Classes

1

Access Schedule Modal

Method 1: Click "Schedule New Class" button in the calendar section

Method 2: Click any date on the calendar grid

Method 3: Use "Quick Schedule" from upcoming classes area

2

Configure Class Details

Classroom: Select from your existing classrooms

Title: Descriptive class name (e.g., "Koch Method - Lesson 5")

Description: Optional details about the session content

Date & Time: Pick precise scheduling with time zone support

Duration: Set expected class length (default: 60 minutes)

3

Student Selection & Invitations

Auto-Select: All enrolled classroom students are pre-selected

Custom Selection: Uncheck students who shouldn't attend this session

Invitation Emails: Automatic email notifications sent to selected students

4

Advanced Options

Recurring Classes: Set up weekly, bi-weekly, or custom recurring schedules

Color Coding: Choose custom colors for visual organization

Conflict Detection: System automatically checks for scheduling conflicts

Email Templates: Customized invitation content for different class types

⚠️ Smart Conflict Detection

The system prevents double-booking by checking for overlapping schedules. If a conflict is detected, you'll see a detailed warning with the conflicting class information and suggested alternative times.

✏️ Managing Existing Classes

Edit & Update

  • • Click any calendar event to view details
  • • Modify time, date, title, or description
  • • Add or remove student participants
  • • Automatic update notifications sent
  • • Real-time calendar refresh after changes

Cancel & Reschedule

  • • One-click class cancellation with reason
  • • Automatic cancellation emails to students
  • • Reschedule wizard with conflict checking
  • • Bulk rescheduling for recurring classes
  • • Archive completed or cancelled classes

📧 Automated Email System

📬 Email Notifications Include:

  • New Class Invitations: Detailed class information with calendar links
  • Schedule Updates: Time, date, or participant changes
  • Class Reminders: 24-hour and 1-hour advance notices
  • Cancellation Notices: Immediate notifications with reasons
  • Confirmation Requests: RSVP tracking for attendance planning
  • Class Materials: Pre-class preparation links and resources
  • Follow-up Messages: Post-class summaries and next steps
  • Technical Instructions: Connection details for online sessions

💡 Pro Scheduling Tips

  • Consistent Timing: Use recurring schedules for regular classes (e.g., "Every Tuesday 7 PM")
  • Buffer Time: Allow 15-30 minutes between classes to avoid rushed transitions
  • Time Zones: System automatically handles time zone display for students in different locations
  • Class Preparation: Schedule classes at least 24 hours in advance for proper student notification
  • Seasonal Planning: Use the calendar view to plan semester or monthly class sequences

🔄 Real-time Updates & Synchronization

✅ Automatic Refresh: The calendar and upcoming classes list automatically update after any scheduling changes. No manual refresh needed - the system keeps everything synchronized in real-time.

📊 Teacher Dashboard Overview

📈 Quick Stats Section

My Classrooms
Total classrooms you've created
Total Students
Active enrolled students across all classrooms
Pending Invitations
Outstanding invitations waiting for acceptance
Recent Activity
Recent student interactions and progress

🏫 Classroom Cards

Each classroom is displayed as a card containing:

  • Classroom Name & Description: Basic information about the classroom
  • Student Count: Number of actively enrolled students
  • Pending Invites: Number of outstanding invitations
  • Recent Activity: Latest student interactions and progress updates
  • Action Buttons: Quick access to manage, invite students, and view details

🛠️ Management Tools

Quick Actions

  • • Create new classrooms
  • • Invite students to any classroom
  • • Manage existing classrooms
  • • View detailed student information

Future Features

  • • Bulk student invitations
  • • Classroom templates
  • • Student progress exports
  • • Advanced analytics

🔔 Modern Notification System

🎉 Latest Enhancement! We've completely reimagined the notification system with beautiful centered modal-style toast notifications featuring smooth animations, enhanced error handling, and improved user experience.

🎨 Enhanced Notification Types

Success Notifications

  • • "Classroom created successfully!"
  • • "Invitation sent successfully!"
  • • Other positive confirmations

Error Notifications

  • • "Failed to create classroom"
  • • "Error loading classrooms"
  • • Connection and server errors

Warning Notifications

  • • "Please enter a classroom name"
  • • "Please enter a valid email"
  • • Form validation messages

Info Notifications

  • • "Feature coming soon!" messages
  • • General information and tips
  • • System announcements

⚡ Advanced Notification Features

Visual Enhancements

  • Modal-Style Display: Full-screen overlay with backdrop blur
  • Centered Positioning: Always appears in perfect screen center
  • Smooth Animations: Fade-in/out with scale transitions
  • Professional Styling: Tailwind CSS with consistent theming
  • Icon Integration: SVG icons for each notification type

Enhanced Interactions

  • Multiple Close Options: Button, background click, or Escape key
  • Auto-Dismiss Timing: Smart timing based on message importance
  • Enhanced Error Details: Rich error information with conflict details
  • Responsive Design: Perfect display on all screen sizes
  • Focus Management: Proper keyboard navigation support

🎯 Schedule Conflict Notifications

⚠️ Enhanced Conflict Detection

When scheduling conflicts are detected, you'll see detailed notifications with:

  • Conflicting Class Details: Title, date, and exact time of the existing class
  • Formatted Time Display: Easy-to-read time ranges (e.g., "Jan 15, 2025 7:00 PM - 8:00 PM")
  • Alternative Suggestions: Recommended time slots to avoid conflicts
  • Visual Conflict Highlighting: Clear indication of overlapping periods

💡 Enhanced User Experience

  • Error Recovery: Detailed error messages help you understand and fix issues quickly
  • Real-time Validation: Instant feedback as you type or make selections
  • Progress Indicators: Loading states show system activity during operations
  • Success Confirmation: Clear confirmation of completed actions with relevant details
  • Accessibility: Full screen reader support and keyboard navigation

🔧 Troubleshooting Common Issues

🚫 Access Issues

Problem: Can't access teacher dashboard

Solutions:

  1. Ensure you're logged in to your account
  2. Contact your administrator to enable teacher privileges
  3. Try refreshing your browser or clearing cookies
  4. Check that you're using a supported browser

Problem: Invitations not being sent

Solutions:

  1. Verify the email address is correctly formatted
  2. Check that the email system is configured properly
  3. Ask students to check their spam/junk folders
  4. Contact your administrator if the issue persists

⚙️ Technical Issues

🌐 Browser Compatibility

Supported browsers:

  • • Google Chrome (recommended)
  • • Mozilla Firefox
  • • Safari (macOS/iOS)
  • • Microsoft Edge

🔄 Cache and Cookies

If experiencing issues, try clearing your browser's cache and cookies for the site, then log in again.

🛠️ Advanced Debugging Tools

🎉 New Debug System! We've created comprehensive debugging tools to help diagnose and fix scheduling issues quickly.

🧪 Schedule Update Issues Debugger

Access: /work-dir/test-html/debug-schedule-update-issues.html

Features Available:
  • Test Schedule Updates: Try updating any schedule ID with real-time debug output
  • Email System Testing: Send test emails to verify SMTP functionality
  • Database Structure Check: Verify all required database columns exist
  • Configuration Validation: Check SMTP and system settings
Real-time Debugging:
  • Live Console Output: See exactly what's happening during operations
  • API Response Logging: Full request/response data with timestamps
  • Error Detail Analysis: Comprehensive error information with suggestions
  • Quick Actions: One-click database and configuration checks

🔍 Debug APIs Created

/api/classroom/check-schedule-structure.php
Database verification
/api/classroom/check-email-config.php
SMTP configuration
/api/classroom/test-schedule-email.php
Email functionality

🚨 Common Scheduling Issues & Solutions

❌ Problem: "No valid fields to update" Error

Cause: Field comparison issues between form data and database values

Solutions:

  1. Use the debug tool to see exact field comparisons
  2. Check for null vs empty string differences in database
  3. Verify all required database columns exist
  4. Clear browser cache and try again

📧 Problem: Email notifications not being sent

Cause: SMTP configuration or email system issues

Solutions:

  1. Use the email test tool to verify SMTP connectivity
  2. Check system_settings table for proper SMTP configuration
  3. Verify recipient email addresses are valid
  4. Check server error logs for detailed SMTP debugging info
  5. Test with the debug email API for immediate feedback

🔄 Problem: Calendar not refreshing after updates

Cause: Real-time synchronization issues

Solutions:

  1. System now automatically refreshes - no manual action needed
  2. Check browser console for any JavaScript errors
  3. Verify the schedule update was successful first
  4. Use F5 to manually refresh if automatic refresh fails

📞 Getting Help

Need Additional Support?

  • First Step: Use the debug tool at debug-schedule-update-issues.html
  • • Contact your system administrator for permission issues
  • • Email support@morsetrainerpro.com for technical problems
  • • Use the test page: test-classroom-access.html
  • • Check the main help section for general Morse Trainer Pro documentation
  • • Include debug output logs when reporting issues for faster resolution

⭐ Teaching Best Practices

🎯 Classroom Organization

Recommended Structure

  • • Separate classrooms by skill level
  • • Use clear, descriptive names
  • • Include learning objectives in descriptions
  • • Keep class sizes manageable (10-20 students)

Student Engagement

  • • Monitor student progress regularly
  • • Provide encouraging feedback
  • • Set clear expectations and goals
  • • Create a supportive learning environment

🌟 Pro Tip: Start small with one or two classrooms to get familiar with the system before expanding. Focus on creating quality learning experiences rather than managing many classrooms at once.