Skip to content

jaymehta12110/UAV-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

137 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚁 UAV Computing & Networking Course Platform

A professional, interactive online course platform with authentication, progress tracking, and Google Sheets backend integration.

🌐 Live Site

Course Website: https://jaymehta12110.github.io/UAV-Course/

✨ Key Features

πŸ” User Authentication

  • User registration and login system
  • Password hashing for security
  • Session management
  • Google Sheets backend for user data

πŸŽ₯ Video Learning

  • Auto-pause when switching modules
  • Progress tracking per video
  • Module descriptions and metadata

πŸ“ Interactive Quizzes

  • Multiple choice questions
  • Instant feedback with explanations
  • Pass/fail system (80% required)
  • Score tracking and analytics

πŸ“Š Progress Tracking

  • Real-time progress synchronization
  • Google Sheets backend storage
  • Visual progress indicators
  • Module completion tracking

πŸ† Certificate Generation

  • Automatic certificate upon completion
  • Personalized with student name
  • Selective module certificate
  • Downloadable as pdf

πŸ“± Responsive Design

  • Mobile-friendly interface
  • Works on all devices

πŸš€ Quick Start

For Students

  1. Visit: https://jaymehta12110.github.io/UAV-Course/
  2. Click "Login" or "Register"
  3. Create an account or login
  4. Start learning!

For Administrators

Admin Tools:

  • admin-password-reset.html - Reset user passwords
  • clear-cache.html - Clear browser cache/logout
  • SYSTEM_RESET_GUIDE.md - Complete reset instructions

πŸ“ Project Structure

course/
β”œβ”€β”€ index.html              # Landing page
β”œβ”€β”€ course.html             # Main course interface
β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ styles.css         # Course page styles
β”‚   └── landing-styles.css # Landing page styles
β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ auth.js            # Authentication system
β”‚   β”œβ”€β”€ course.js          # Course logic
β”‚   β”œβ”€β”€ quiz.js            # Quiz functionality
β”‚   β”œβ”€β”€ certificate.js     # Certificate generation
β”‚   └── contact.js         # Contact form
β”œβ”€β”€ data/
β”‚   └── course-data.json   # Course content
β”œβ”€β”€ backend/
β”‚   └── google-apps-script.js  # Backend API
β”œβ”€β”€ admin-password-reset.html  # Admin tool
β”œβ”€β”€ clear-cache.html           # Cache clearing tool
β”œβ”€β”€ SYSTEM_RESET_GUIDE.md      # Reset instructions
└── README.md                  # This file

πŸ”§ System Administration

Reset User Password

  1. Open admin-password-reset.html
  2. Enter user email
  3. Enter new password
  4. Click "Reset Password"

Clear User Cache

Users can clear their local cache:

  1. Open clear-cache.html
  2. Click "Clear All Data"
  3. User will be logged out
  4. Can login again to restore progress from backend

Complete System Reset

See SYSTEM_RESET_GUIDE.md for detailed instructions on:

  • Clearing all users from backend
  • Resetting browser cache
  • Starting fresh with same URLs
  • Preventing auto-login

πŸŽ“ Course Content Management

Editing Course Content

All content is in data/course-data.json:

{
  "course": {
    "title": "Your Course Title",
    "description": "Course description..."
  },
  "modules": [
    {
      "id": 1,
      "title": "Module Title",
      "videoUrl": "https://www.youtube.com/embed/VIDEO_ID",
      "type": "video"
    }
  ]
}

Adding Quiz Questions

{
  "type": "quiz",
  "questions": [
    {
      "question": "Your question?",
      "options": ["A", "B", "C", "D"],
      "correctAnswer": 0,
      "explanation": "Why this is correct..."
    }
  ]
}

πŸ”— Backend Integration

Google Sheets Setup

The course uses Google Sheets as a database:

Spreadsheet ID: 1EToB-Hs0GLOnB3Egi55fxKdeFTOC-Fg8p0BP9jiEvmc

Sheets:

  • Users - User accounts
  • Progress - User progress data

Web App URL

Backend API: https://script.google.com/macros/s/AKfycbxz-4ZhhhuSxBWs8cZ5NMnBlHf-Q_PdYwhxWjQOizXSP69U9l4EqkJYWWu7YMQctXUkTw/exec

Updating Backend

  1. Open Google Apps Script
  2. Copy code from backend/google-apps-script.js
  3. Deploy as Web App
  4. Update URL in js/auth.js if changed

🎨 Customization

Changing Colors

Edit css/styles.css or css/landing-styles.css:

:root {
    --primary-color: #0064A4;
    --accent-color: #F47E3C;
    --success-color: #28a745;
}

Changing Fonts

body {
    font-family: 'Your Font', sans-serif;
}

🌐 Deployment

Current Deployment

Deploying Updates

git add .
git commit -m "Your update message"
git push origin main

Changes go live automatically in 1-2 minutes.

πŸ”’ Security Features

  • βœ… Password hashing (SHA-256)
  • βœ… Secure session management
  • βœ… Backend data validation
  • βœ… HTTPS encryption (via GitHub Pages)
  • βœ… No passwords stored in frontend

πŸ› Troubleshooting

Video Keeps Playing in Background

Fixed! Videos now auto-pause when switching to quizzes or other modules.

πŸ“„ Important Files

Keep These:

  • README.md - Main documentation
  • HOW-TO-RUN.md - Setup instructions
  • SYSTEM_RESET_GUIDE.md - Reset procedures
  • Quiz_2.md, Quiz_3.md, Quiz_4.md - Quiz content

Admin Tools:

  • admin-password-reset.html - Password management
  • clear-cache.html - Cache management
  • cleanup-docs.bat - Documentation cleanup script

🎯 Future Enhancements

Potential improvements:

  • Email verification
  • Password recovery via email
  • Advanced analytics dashboard
  • Course completion certificates via email
  • Multi-language support

Educational use.

πŸŽ“ Credits

Course Content: UAV Design & Cyber-Physical Systems Platform: Custom-built with HTML, CSS, JavaScript Backend: Google Apps Script + Google Sheets Hosting: GitHub Pages


For detailed reset instructions, see: SYSTEM_RESET_GUIDE.md

For admin tools, use: admin-password-reset.html or clear-cache.html

Live Site: https://jaymehta12110.github.io/UAV-Course/

About

UAV Course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published