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.
| Student Dashboard | Interactive Map |
|---|---|
![]() |
![]() |
| Event Details | Admin Console |
|---|---|
![]() |
![]() |
- πΊοΈ 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.
- π» 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.
This project follows a Modular Architecture with Provider for state management to ensure scalability.
- Framework: Flutter (Dart)
- State Management:
Provider - Local Database:
Hive(NoSQL for offline persistence) - Graphics:
CustomPainter(For the campus map) - Notifications:
flutter_local_notifications
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 likeEventCardand theMapPainter.
- Flutter SDK (Latest Stable)
- VS Code or Android Studio
-
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 -
Install dependencies:
flutter pub get
-
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.
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
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 |
Contributions are welcome! Please fork the repository and submit a pull request for any features or bug fixes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature) - Commit your Changes (
git commit -m 'Add some NewFeature') - Push to the Branch (
git push origin feature/NewFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Muhammad Bilal
- Role: Lead Developer
- LinkedIn: linkedin.com/in/muhammad-bilal-bsse
- GitHub: github.com/Muhammad-Bilal-03
Developed as a Semester Project for BS Software Engineering at COMSATS University.



