Skip to content

HamzaAli2002/Internee-LMS

Repository files navigation

📚 Internee LMS Flutter Mobile App

A fully featured Learning Management System mobile app built for Internee.pk as an internship task. Built with Flutter, featuring 6 complete IT courses with topic-wise video lessons, quizzes, progress tracking, and certificates.


📱 Screenshots

Add your own screenshots here after building the app


✨ Features

Feature Details
🎓 6 IT Courses Flutter, Python, React, ML, Figma, Node.js
🎬 Topic-wise Lessons 12 lessons per course, each with its own YouTube video
📊 Progress Tracking Per-lesson tracking saved on device with SharedPreferences
🧠 Course Quizzes 8 course-specific questions, 5-minute timer, 60% to pass
🏆 Certificates Earned on 100% course completion, preview + download as PDF
👤 Profile Dashboard Stats, progress report, quiz history
🌙 Dark Mode Full light/dark theme support
📱 Responsive Mobile, tablet, and desktop layouts

🔧 Tech Stack

Flutter 3.x          — Cross-platform UI framework
Provider             — State management
GoRouter             — Navigation
youtube_player_flutter — Native video player (Android/iOS)
SharedPreferences    — Local data persistence
Open Trivia DB API   — Quiz questions (free, no key needed)
Google Fonts (Poppins) — Typography
flutter_animate      — Animations

🚀 Getting Started

Prerequisites

  • Flutter SDK >=3.3.0Install
  • Android Studio or VS Code with Flutter extension

Run the app

# Clone the repository
git clone https://github.com/YOUR_USERNAME/internee-lms.git
cd internee-lms

# Install dependencies
flutter pub get

# Run on connected device or emulator
flutter run

# Build APK
flutter build apk --release

📂 Project Structure

lib/
├── main.dart                    # App entry + router
├── models/
│   └── models.dart              # Course, Lesson, Quiz, User models
├── providers/
│   ├── auth_provider.dart       # Auth + progress state (SharedPreferences)
│   ├── course_provider.dart     # Course data from constants
│   └── quiz_provider.dart       # Quiz state + timer
├── services/
│   └── api_service.dart         # Open Trivia DB integration
├── screens/
│   ├── auth/                    # Login & Register
│   ├── home/                    # Dashboard
│   ├── courses/                 # Course list, detail, lesson player
│   ├── quiz/                    # Quiz + results
│   ├── profile/                 # Profile, progress report
│   └── certificates/            # Certificate viewer + download
├── utils/
│   ├── app_theme.dart           # Colors, typography, theme
│   ├── constants.dart           # All 6 courses + lessons data
│   └── app_router.dart (or main.dart) # Route definitions
└── widgets/
    └── widgets.dart             # Shared widgets + R responsive helper

🎯 How It Works

Progress Tracking

  • Click "Mark Watched" on each lesson after watching the video
  • Progress is saved locally with SharedPreferences — no backend needed
  • Complete 100% lessons → course marked complete → certificate unlocked

Videos

  • Mobile (Android/iOS): Videos play natively inside the app using youtube_player_flutter
  • Web/Chrome: Click the play button to watch on YouTube

Certificates

  • Only unlocked after 100% course completion
  • Preview button → view inside app (mobile) or new tab (web)
  • Download button → opens in browser, press Ctrl+P to save as PDF

Quiz

  • 8 course-specific questions per course
  • 5-minute timer
  • 60% passing score
  • Unlimited retakes
  • +20 points for passing

🌐 APIs Used

API Purpose Auth Required
Open Trivia DB Quiz questions ❌ Free, no key
YouTube (thumbnails) i.ytimg.com for video thumbnails ❌ Public URL
Google Fonts Poppins font ❌ Free CDN

📦 Building for Production

# Android APK
flutter build apk --release

# Android App Bundle (Play Store)
flutter build appbundle --release

# iOS (requires macOS + Xcode)
flutter build ios --release

# Web
flutter build web --release

🔑 No Sensitive Keys

This project uses no API keys, no Firebase, and no backend. All data is stored locally on the device. Safe to push to public GitHub.


📝 License

This project was built as an internship task for Internee.pk.


👨‍💻 Built By

Muhammad Hamza Ali Flutter Developer Intern @ Internee.pk

About

Flutter LMS app for Internee.pk 6 IT courses, Firebase auth, quizzes & certificates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors