Skip to content

Flutter app for interactive campus navigation with indoor maps, room reservations, and real-time occupancy tracking

Notifications You must be signed in to change notification settings

Kaabiiz/smart-campus-map

Repository files navigation

🗺️ Smart Campus Map

Your Ultimate Campus Navigation Companion

Flutter Dart License

A feature-rich Flutter application for intelligent campus navigation with interactive maps, real-time room availability, seamless reservations, and custom POI management.

🚀 Features📱 Screenshots⚡ Quick Start🛠️ Tech Stack


Smart Campus Map Banner

✨ Key Features

🗺️ Interactive Map

Real-time campus navigation with color-coded buildings, custom POIs, and smart search

📅 Smart Reservations

Book rooms instantly with email confirmations and manage all your bookings

📍 Custom POIs

Add, edit, and manage 12 categories of points of interest across campus

🎯 Complete Feature Set

🗺️ Map & Navigation

  • Interactive OpenStreetMap with smooth zoom & pan
  • 6 Building Types (Classroom, Lab, Library, Restaurant, Admin, Sports)
  • Color-coded Markers for instant recognition
  • Building Selection with detailed room lists
  • POI Toggle - Show/hide custom points of interest
  • Real-time Updates - Refresh POIs on demand

🏢 Building & Room Management

  • Multi-floor Support - Navigate through building floors
  • Real-time Occupancy tracking with visual indicators:
    • 🟢 Low (< 50%)
    • 🟠 Medium (50-80%)
    • 🔴 High (> 80%)
    • Occupied (Unavailable)
  • Room Details - Capacity, floor number, equipment
  • Available Rooms List - Searchable & filterable
  • One-tap Reservation from map or list

📅 Reservation System

  • Quick Booking - Date, time slot, and purpose
  • Email Confirmations - Automatic confirmation messages
  • My Reservations - View upcoming and past bookings
  • Cancel/Delete - Manage your reservations with ease
  • Status Tracking - Pending, Confirmed, Completed, Cancelled
  • Tabbed Interface - Separate upcoming & past views

� POI Management (Full CRUD)

  • 12 Categories: Parking, Entrance, Exit, Toilet, ATM, Printer, WiFi, Cafeteria, Study Area, Sports, Emergency, Other
  • Map Picker - Tap map to set POI location
  • Custom Icons & Colors - 🅿️🚪🚻🏧🖨️📶🍕📚⚽🚨📍
  • Search & Filter - Find POIs quickly by name or category
  • Edit & Delete - Full management with confirmation dialogs
  • Database Persistence - All POIs saved locally

🔍 Advanced Search

  • Unified Search - Find buildings, rooms, and POIs
  • Real-time Results - As you type
  • Smart Filtering - Filter by category, availability
  • Direct Navigation - Tap result to navigate
  • Empty State Handling - Helpful messages

� Beautiful UI/UX

  • Material Design 3 - Modern, clean interface
  • Gradient Cards - Eye-catching statistics
  • Bottom Sheets - Smooth info displays
  • Tab Controllers - Organized content
  • Loading States - Clear feedback
  • Error Handling - User-friendly messages
  • Responsive Layout - Works on all screen sizes

📱 App Showcase

🏠 Home & Navigation

Home Screen
Home Dashboard
Real-time stats & quick access
Map View
Interactive Map
Campus-wide navigation
Building Detail
Building Details
Room list & availability

📅 Reservations

Available Rooms
Available Rooms
Search & filter functionality
Reservation Form
Quick Booking
Easy reservation process
My Reservations
My Bookings
Upcoming & past reservations

📍 POI Management

POI List
POI List
All points of interest
Add POI
Add POI
Map picker & categories
POI on Map
POIs on Map
Color-coded markers

🔍 Search & Features

Search
Smart Search
Buildings, rooms & POIs
Filters
Filter Options
Category-based filtering
Room Detail
Room Details
Occupancy & equipment

Additional Features

Email
Email Confirmations
Automatic booking emails
POI Details
POI Details
Bottom sheet info
Statistics
Statistics
Real-time analytics

🛠️ Tech Stack

Technology Purpose Version
Flutter Framework 3.24.5
Dart Language 3.5.4
SQLite Database Latest
OpenStreetMap Maps OSM Tiles
Material Design UI/UX MD3

📦 Core Dependencies

dependencies:
  flutter_map: ^8.2.2      # Interactive maps
  latlong2: ^0.9.0         # Geographic coordinates
  sqflite: ^2.0.0          # Local database
  path: ^1.8.0             # Path utilities
  mailer: ^6.0.0           # Email service

⚡ Quick Start

📋 Prerequisites

✅ Flutter SDK 3.0+
✅ Dart SDK 3.0+
✅ Android Studio / VS Code
✅ Git

🚀 Installation

# Clone repository
git clone https://github.com/Kaabiiz/smart-campus-map.git

# Navigate to directory
cd smart-campus-map

# Install dependencies
flutter pub get

# Run the app
flutter run

🎮 Available Commands

flutter run              # Debug mode
flutter run --release    # Release mode
flutter test            # Run tests
flutter clean           # Clean build
flutter doctor          # Check setup

📁 Project Structure

smart_campus_map/
├── lib/
│   ├── models/              # Data models
│   │   ├── building.dart
│   │   ├── room.dart
│   │   ├── poi.dart
│   │   └── reservation.dart
│   ├── screens/             # UI screens
│   │   ├── home_screen.dart
│   │   ├── map_screen.dart
│   │   ├── my_reservations_screen.dart
│   │   ├── available_rooms_screen.dart
│   │   ├── room_reservation_screen.dart
│   │   └── poi_list_screen.dart
│   ├── services/            # Business logic
│   │   ├── database_helper.dart
│   │   ├── reservation_service.dart
│   │   ├── poi_service.dart
│   │   └── email_service.dart
│   ├── widgets/             # Reusable widgets
│   │   ├── stat_card_widget.dart
│   │   ├── reservation_card_widget.dart
│   │   └── home_banner_widget.dart
│   ├── utils/               # Utilities
│   │   └── mock_data.dart
│   └── main.dart            # Entry point
├── assets/                  # Images & icons
├── screenshots/             # App screenshots
└── pubspec.yaml            # Dependencies

🎯 Key Highlights

Feature Description
🗺️ Real-time Map OpenStreetMap integration with custom markers
📊 Live Occupancy Color-coded room availability (Green/Orange/Red)
� 12 POI Categories Parking, Toilets, ATMs, WiFi, Cafeterias, etc.
� Smart Booking Date picker, time slots, instant confirmations
� Email System Automatic confirmation emails with templates
� SQLite Database Local persistence for POIs & reservations
� Unified Search Find buildings, rooms, and POIs instantly
� Material Design 3 Modern, beautiful, and responsive UI

🤝 Contributing

Contributions are welcome! Feel free to:

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

📄 License

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


👨‍💻 Author

Ahmed Kaabi

GitHub Email

Building the future of campus navigation 🚀


🙏 Acknowledgments


⭐ Show Your Support

If you found this project helpful:

  • ⭐ Star the repository
  • 🍴 Fork and contribute
  • 📢 Share with others
  • 💬 Provide feedback

🚀 Ready to Navigate Your Campus?

Made with ❤️ using Flutter

⬆ Back to Top

About

Flutter app for interactive campus navigation with indoor maps, room reservations, and real-time occupancy tracking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published