Skip to content

keyur-369/campusquest

Repository files navigation

CampusQuest Logo

πŸŽ“ CampusQuest

Modern Campus Management System

Flutter Dart Supabase License

A comprehensive, feature-rich campus management solution built with Flutter

Features β€’ Screenshots β€’ Installation β€’ Architecture β€’ Contributing


πŸ“‹ Table of Contents


🎯 About

CampusQuest is a modern, cross-platform campus management system designed to streamline educational institution operations. Built with Flutter and powered by Supabase, it provides a unified platform for students, instructors, and administrators to manage academic activities efficiently.

Why CampusQuest?

  • πŸš€ Modern UI/UX - Beautiful, intuitive interface with dark mode support
  • πŸ“± Cross-Platform - Works seamlessly on Android, iOS, Web, and Desktop
  • πŸ” Secure - Built-in authentication and role-based access control
  • ⚑ Real-time - Live updates powered by Supabase
  • 🎨 Customizable - Flexible theming and personalization options
  • πŸ“Š Analytics - Comprehensive data visualization and reporting

✨ Features

πŸ‘¨β€πŸŽ“ For Students

  • πŸ“š Course Management - View enrolled courses, schedules, and materials
  • πŸ“ Assignment Tracking - Submit assignments and track deadlines
  • πŸ“Š Grade Monitoring - Real-time access to grades and performance analytics
  • πŸ“… Attendance - View attendance records and statistics
  • πŸ’¬ Communication - Direct messaging with instructors and peers
  • πŸ“„ Document Management - Access and download course materials

πŸ‘¨β€πŸ« For Instructors

  • πŸ“– Course Creation - Create and manage courses with ease
  • πŸ‘₯ Student Management - Track student progress and performance
  • πŸ“ Assignment Management - Create, distribute, and grade assignments
  • πŸ“Š Analytics Dashboard - Comprehensive insights into class performance
  • πŸ“’ Announcements - Broadcast important updates to students
  • πŸ“ Resource Sharing - Upload and share course materials

πŸ‘¨β€πŸ’Ό For Administrators

  • 🏒 Institution Management - Manage departments, courses, and users
  • πŸ“Š Comprehensive Reports - Generate detailed analytics and reports
  • πŸ‘€ User Management - Create and manage user accounts and roles
  • πŸ“ˆ Performance Tracking - Monitor institutional performance metrics
  • πŸ”§ System Configuration - Customize system settings and preferences
  • πŸ“‹ Audit Logs - Track system activities and changes

🎨 General Features

  • πŸŒ“ Dark/Light Mode - Eye-friendly themes for any environment
  • πŸ”” Push Notifications - Stay updated with real-time alerts
  • πŸ“± Responsive Design - Optimized for all screen sizes
  • πŸ” Advanced Search - Quickly find courses, students, or materials
  • πŸ“₯ Export Options - Download data in PDF, CSV formats
  • 🌐 Multi-language Support - (Coming Soon)


πŸ›  Tech Stack

Frontend

  • Framework: Flutter 3.2.0+
  • Language: Dart 3.2.0+
  • State Management: Provider
  • UI Components: Material Design 3

Backend

  • BaaS: Supabase
  • Authentication: Supabase Auth
  • Database: PostgreSQL (via Supabase)
  • Storage: Supabase Storage
  • Real-time: Supabase Realtime

Key Dependencies

dependencies:
  flutter: sdk
  supabase_flutter: ^2.8.4      # Backend integration
  provider: latest               # State management
  google_fonts: ^6.2.1          # Typography
  fl_chart: ^0.65.0             # Data visualization
  cached_network_image: ^3.2.0  # Image caching
  flutter_animate: ^1.0.0       # Animations
  pdf: ^3.11.3                  # PDF generation
  printing: ^5.14.2             # PDF printing
  file_picker: ^8.0.0           # File selection
  image_picker: ^0.8.4+4        # Image selection
  permission_handler: ^11.3.1   # Permissions
  url_launcher: ^6.0.6          # External links
  intl: ^0.20.2                 # Internationalization

πŸ“₯ Installation

Prerequisites

  • Flutter SDK (3.2.0 or higher)
  • Dart SDK (3.2.0 or higher)
  • Android Studio / Xcode (for mobile development)
  • Git

Step 1: Clone the Repository

git clone https://github.com/yourusername/campusquest.git
cd campusquest

Step 2: Install Dependencies

flutter pub get

Step 3: Configure Supabase

  1. Create a Supabase project at supabase.com
  2. Update the Supabase credentials in lib/main.dart:
await Supabase.initialize(
  url: 'YOUR_SUPABASE_URL',
  anonKey: 'YOUR_SUPABASE_ANON_KEY',
);

Step 4: Run the Application

# For development
flutter run

# For specific platform
flutter run -d chrome        # Web
flutter run -d android       # Android
flutter run -d ios           # iOS
flutter run -d windows       # Windows
flutter run -d macos         # macOS
flutter run -d linux         # Linux

Step 5: Build for Production

# Android APK
flutter build apk --release

# Android App Bundle
flutter build appbundle --release

# iOS
flutter build ios --release

# Web
flutter build web --release

# Windows
flutter build windows --release

πŸ“ Project Structure

campusquest/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ main.dart                 # Application entry point
β”‚   β”œβ”€β”€ controllers/              # Business logic controllers
β”‚   β”‚   β”œβ”€β”€ login_controller.dart
β”‚   β”‚   └── theme_controller.dart
β”‚   β”œβ”€β”€ modules/                  # Feature modules
β”‚   β”‚   β”œβ”€β”€ admin/               # Admin module
β”‚   β”‚   β”œβ”€β”€ instructor/          # Instructor module
β”‚   β”‚   β”œβ”€β”€ student/             # Student module
β”‚   β”‚   └── login/               # Authentication module
β”‚   β”œβ”€β”€ widgets/                 # Reusable widgets
β”‚   β”‚   β”œβ”€β”€ bottomnavigationbar.dart
β”‚   β”‚   └── splash_screen.dart
β”‚   β”œβ”€β”€ theme/                   # Theme configuration
β”‚   └── Data/                    # Data models and services
β”œβ”€β”€ assets/                      # Images, fonts, etc.
β”œβ”€β”€ android/                     # Android-specific files
β”œβ”€β”€ ios/                         # iOS-specific files
β”œβ”€β”€ web/                         # Web-specific files
β”œβ”€β”€ windows/                     # Windows-specific files
β”œβ”€β”€ linux/                       # Linux-specific files
β”œβ”€β”€ macos/                       # macOS-specific files
β”œβ”€β”€ test/                        # Unit and widget tests
β”œβ”€β”€ pubspec.yaml                 # Dependencies
└── README.md                    # This file

πŸ— Architecture

CampusQuest follows a modular architecture with clear separation of concerns:

Design Pattern

  • MVC (Model-View-Controller) - For business logic separation
  • Provider Pattern - For state management
  • Repository Pattern - For data access abstraction

Module Structure

Each module (Admin, Instructor, Student) contains:

  • Views - UI components
  • Controllers - Business logic
  • Models - Data structures
  • Services - API interactions

Data Flow

User Interaction β†’ Controller β†’ Service β†’ Supabase β†’ Service β†’ Controller β†’ View Update

βš™οΈ Configuration

Environment Variables

Create a .env file in the root directory:

SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key

Theme Customization

Modify lib/theme/theme.dart to customize colors, fonts, and styles.

Firebase (Optional)

For push notifications, configure Firebase:

  1. Add google-services.json (Android)
  2. Add GoogleService-Info.plist (iOS)

πŸš€ Usage

Running in Development Mode

flutter run

Running with Device Preview

The app includes Device Preview for testing multiple screen sizes:

// Enabled by default in main.dart
DevicePreview(
  enabled: true,
  builder: (context) => MyApp(),
)

Disable Device Preview for Production

Set enabled: false in main.dart before building for production.


🀝 Contributing

We welcome contributions! Here's how you can help:

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting PR

Code of Conduct

Please read our Code of Conduct before contributing.


πŸ§ͺ Testing

Run Tests

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

# Run specific test
flutter test test/widget_test.dart

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘₯ Contact

Project Maintainer: Your Name

Project Link: https://github.com/yourusername/campusquest


πŸ™ Acknowledgments

  • Flutter Team - For the amazing framework
  • Supabase - For the powerful backend platform
  • Material Design - For design guidelines
  • All contributors who have helped improve this project

πŸ“Š Project Status

GitHub last commit GitHub issues GitHub pull requests GitHub stars


πŸ—Ί Roadmap

  • Basic authentication system
  • Student module
  • Instructor module
  • Admin module
  • Dark mode support
  • Multi-language support
  • Mobile app release
  • Advanced analytics
  • AI-powered recommendations
  • Video conferencing integration
  • Mobile notifications
  • Offline mode support

⭐ Star this repository if you find it helpful!

Made with ❀️ by the CampusQuest Team

Β© 2026 CampusQuest. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors