Skip to content

A modern, elegant student planner application built with Flutter. CourseHub helps students manage their class schedules, assignments, and academic life with a beautiful, intuitive interface.

Notifications You must be signed in to change notification settings

codeyatoh/CourseHub

Repository files navigation

CourseHub

A modern, elegant student planner application built with Flutter. CourseHub helps students manage their class schedules, assignments, and academic life with a beautiful, intuitive interface.

📋 What is CourseHub?

CourseHub is a comprehensive academic management app that allows students to:

  • 📅 Manage Class Schedules - Add and organize your weekly class timetable
  • 📝 Track Assignments - Keep track of all your assignments with automatic priority calculation
  • 🎯 Monitor Deadlines - Get a clear overview of upcoming due dates and priorities
  • 📊 View Course Details - See course information, instructors, and related assignments
  • 💾 Persistent Storage - All your data is saved locally and persists across sessions

🛠️ Tech Stack

Core Framework

  • Flutter - Cross-platform UI framework
  • Dart - Programming language

Key Dependencies

  • go_router (^17.0.0) - Declarative routing and navigation
  • provider (^6.1.5+1) - State management
  • shared_preferences (^2.5.3) - Local data persistence
  • google_fonts (^6.3.3) - Custom typography (Caveat & Poppins)
  • lucide_icons (^0.257.0) - Modern icon set
  • intl (^0.20.2) - Date formatting and localization

📁 Project Structure

coursehub/
├── lib/
│   ├── main.dart                 # App entry point
│   ├── router.dart              # Navigation configuration
│   │
│   ├── screens/                 # All app screens
│   │   ├── splash_screen.dart
│   │   ├── login_screen.dart
│   │   ├── home_dashboard_screen.dart
│   │   ├── class_schedule_screen.dart
│   │   ├── assignment_notifications_screen.dart
│   │   └── course_details_screen.dart
│   │
│   ├── widgets/                 # Reusable UI components
│   │   ├── assignment_card.dart
│   │   ├── assignment_modal.dart
│   │   ├── schedule_card.dart
│   │   ├── schedule_modal.dart
│   │   ├── delete_confirm_modal.dart
│   │   └── bottom_nav.dart
│   │
│   ├── providers/               # State management
│   │   ├── schedule_provider.dart
│   │   └── assignment_provider.dart
│   │
│   ├── theme/                   # App styling
│   │   ├── colors.dart
│   │   ├── text_styles.dart
│   │   └── app_theme.dart
│   │
│   └── utils/                   # Utility functions
│       └── date_time.dart
│
├── android/                     # Android-specific files
├── ios/                         # iOS-specific files
├── web/                         # Web-specific files
├── windows/                     # Windows-specific files
├── linux/                       # Linux-specific files
├── macos/                       # macOS-specific files
└── pubspec.yaml                 # Dependencies configuration

🚀 Installation & Setup

Prerequisites

  • Flutter SDK (3.10.0 or higher)
  • Dart SDK (included with Flutter)
  • A code editor (VS Code, Android Studio, or IntelliJ IDEA)

Step 1: Install Flutter

If you haven't installed Flutter yet:

  1. Download Flutter from flutter.dev
  2. Follow the installation guide for your operating system
  3. Run flutter doctor to verify installation

Step 2: Clone the Repository

git clone <repository-url>
cd coursehub

Step 3: Install Dependencies

flutter pub get

Step 4: Verify Installation

flutter doctor

▶️ Running the Project

Run on Chrome (Web)

flutter run -d chrome

Run on Android Emulator

flutter run -d android

Run on iOS Simulator (macOS only)

flutter run -d ios

Run on Windows Desktop

flutter run -d windows

Build for Production

Web:

flutter build web

Android APK:

flutter build apk

iOS:

flutter build ios

🎨 Design Features

  • Beautiful Gradients - Soft pink and purple color scheme
  • Custom Typography - Caveat for headings, Poppins for body text
  • Smooth Animations - Polished transitions and interactions
  • Responsive Layout - Works on mobile, tablet, and desktop
  • Modern Icons - Lucide icon set for clean, consistent UI

📱 App Flow

  1. Splash Screen → Initial loading screen
  2. Login Screen → User authentication (demo mode)
  3. Home Dashboard → Overview of classes and assignments
  4. Class Schedule → Manage weekly class timetable
  5. Assignments → Track and manage assignments
  6. Course Details → View detailed course information

🔧 Development Tips

Hot Reload

Press r in the terminal while the app is running to hot reload changes.

Hot Restart

Press R in the terminal to perform a full restart.

Debug Mode

The app runs in debug mode by default, which includes:

  • Hot reload capability
  • Debug banner
  • Verbose error messages

Code Analysis

Check for issues in your code:

flutter analyze

📝 License

This project is part of an academic assignment.

🤝 Contributing

This is a student project. For questions or suggestions, please contact the project maintainer.


Built with ❤️ using Flutter

About

A modern, elegant student planner application built with Flutter. CourseHub helps students manage their class schedules, assignments, and academic life with a beautiful, intuitive interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published