Skip to content

Campus Pulse is a comprehensive university companion app built with Flutter. It features role-based access for students and admins, a custom interactive campus map, real-time event tracking with seat management, and offline-first persistence using Hive.

License

Notifications You must be signed in to change notification settings

Muhammad-Bilal-03/campus_pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Campus Event Companion

Flutter Hive Dart License

A Comprehensive Flutter Application for University Event Management.

Campus Event Companion is a feature-rich mobile application designed to bridge the gap between student organizers and attendees. Built with Flutter, it features role-based access control, a custom interactive campus map, and offline-first capabilities using Hive to ensure students stay connected even without internet access.


πŸ“Έ App Screenshots

Student Dashboard Interactive Map
Student Dashboard Interactive Map
Event Details Admin Console
Event Details Admin Console

✨ Key Features

πŸŽ“ For Students

  • πŸ—ΊοΈ Interactive Campus Map: A custom-painted, zoomable map (built using CustomPainter) to easily locate event venues.
  • πŸ” Event Discovery: Browse events with advanced filters (Category, Search, Status).
  • πŸ“… Smart Calendar: Built-in calendar view to track upcoming schedules using table_calendar.
  • πŸ‘ Engagement: Mark attendance as "Interested" or "Going" with real-time seat limit validation.
  • πŸ’Ύ Offline Access: All data is cached locally using Hive, ensuring the app works flawlessly offline.

πŸ›‘οΈ For Admins

  • πŸ’» Dashboard Console: A dedicated admin panel to manage the entire event lifecycle.
  • πŸ“ CRUD Operations: Create, Update, and Delete events with ease.
  • πŸ“Š Analytics: Track seat occupancy and user engagement statistics.
  • πŸ” Secure Auth: Separate secure login portal for administrators.

πŸ› οΈ Tech Stack & Architecture

This project follows a Modular Architecture with Provider for state management to ensure scalability.

Core Technologies

  • Framework: Flutter (Dart)
  • State Management: Provider
  • Local Database: Hive (NoSQL for offline persistence)
  • Graphics: CustomPainter (For the campus map)
  • Notifications: flutter_local_notifications

Architecture Overview

  • lib/models: Hive TypeAdapters and Data classes.
  • lib/services: Background tasks and notification logic.
  • lib/providers: Application state and Theme switching logic.
  • lib/widgets: Reusable components like EventCard and the MapPainter.

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (Latest Stable)
  • VS Code or Android Studio

Installation

  1. Clone the repository:

    git clone [https://github.com/Muhammad-Bilal-03/campus_event_companion.git](https://github.com/Muhammad-Bilal-03/campus_event_companion.git)
    cd campus_event_companion
  2. Install dependencies:

    flutter pub get
  3. Run the App:

    flutter run

Note: The app uses Hive for local storage. No complex backend setup is required for the initial run as it uses a local database approach.


πŸ“‚ Folder Structure

lib/
β”œβ”€β”€ models/         # Hive Data Models (Event, User)
β”œβ”€β”€ providers/      # State Logic (AppProvider, ThemeProvider)
β”œβ”€β”€ screens/        # UI Screens (Student/Admin Views, Maps, Calendar)
β”œβ”€β”€ services/       # Notification Logic & Background Tasks
β”œβ”€β”€ utils/          # Constants, Themes, and App Colors
β”œβ”€β”€ widgets/        # Reusable Components (EventCard, MapPainter)
└── main.dart       # App Entry Point


πŸ“¦ Dependencies

Major packages used in this project:

Package Purpose
provider State Management
hive & hive_flutter Local NoSQL Database
flutter_local_notifications Push Notifications
table_calendar Calendar Visualization
webview_flutter In-app Browser
path_provider Directory Path Management

🀝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any features or bug fixes.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

πŸ“„ License

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


πŸ‘€ Author

Muhammad Bilal

Developed as a Semester Project for BS Software Engineering at COMSATS University.

About

Campus Pulse is a comprehensive university companion app built with Flutter. It features role-based access for students and admins, a custom interactive campus map, real-time event tracking with seat management, and offline-first persistence using Hive.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published