Skip to content

Mayank2142/Campus-Mate

Repository files navigation

🎓 CampusMate 🚀

A comprehensive Virtual Campus Tour application for VIT students to explore and navigate the campus.

Flutter Supabase Dart


📸 App Screenshots

Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6
Screenshot 4 Screenshot 5 Screenshot 6
Screenshot 7 Screenshot 8 Screenshot 9
Screenshot 7 Screenshot 8 Screenshot 9

Note: The layout features 9 screenshots depicting the flow and features of CampusMate!


✨ Features

  • 🔒 Authentication: Secure Login and Sign-up using Email/Password, Google OAuth, and LinkedIn OpenID Connect. Powered by Supabase.
  • 🗺️ Interactive Campus Map: Built with Google Maps SDK, featuring custom markers for key campus locations, routing, and real-time user location tracking.
  • 🏢 Deep Location Insights: Explore Academic Blocks, Hostels, Libraries, and Cafeterias. View detailed information, photos, and available amenities.
  • 🛏️ Hostel Room Previews: Click into specific hostels (like E Block or Suu Kyi Block) to view dynamically pulled data on Single, Double, and Triple rooms.
  • 📸 360° Panoramas & 3D Models: Get a true feel for the campus before even arriving with immersive 360-degree views of rooms and facilities.
  • 🎧 Audio Guided Tours: Listen to voice-over descriptions of campus landmarks for an accessible and hands-free guided experience.
  • 🗃️ Robust Backend: Centralized data management using a Supabase PostgreSQL database with fallback mechanisms to local mock data if the network drops.

🛠️ Technology Stack

  • Frontend: Flutter (Dart)
  • Backend/Database: Supabase (PostgreSQL, Authentication, Row Level Security)
  • Mapping & Location: google_maps_flutter, geolocator, geocoding, flutter_polyline_points
  • Media Support: audioplayers (Voiceovers), model_viewer_plus (3D Models), panorama_viewer (360 Views)
  • State Management: Provider
  • Local Storage: Shared Preferences

🚀 Getting Started

Prerequisites

  • Flutter SDK ( >=3.10.0 )
  • Android Studio / Xcode for emulators and building
  • Supabase Account
  • Google Cloud Console Account (for Google Maps API Key)

Installation

  1. Clone the repository:

    git clone https://github.com/Mayank2142/CampusMate.git
    cd CampusMate
  2. Install Flutter Dependencies:

    flutter pub get
  3. Environment Setup: Create a .env file in the root directory and add your API keys:

    # .env
    SUPABASE_URL=your_supabase_project_url
    SUPABASE_ANON_KEY=your_supabase_anon_key
    GOOGLE_MAPS_API_KEY=your_google_maps_api_key
  4. Database Database Scaffold: Using the migration_script.sql provided in the root directory, paste and run it in the Supabase SQL editor to create the locations and hostel_rooms tables along with sample VIT dataset entries.

  5. Run the App:

    flutter run

🔐 OAuth Setup (LinkedIn & Google)

If you are running your own backend instance:

  1. Navigate to the Supabase Dashboard -> Authentication -> Providers.
  2. Enable LinkedIn and Google.
  3. Create Developer apps on Google Cloud and LinkedIn Developer portals. Set the redirect URI to your Supabase project callback (https://<project-id>.supabase.co/auth/v1/callback).
  4. Ensure your app's deep link is set to io.supabase.flutter://login-callback to seamlessly bounce you back into the Flutter app!

📦 Building for Production (Android)

To generate a release APK:

  1. Run the clean and build commands:
    flutter clean
    flutter pub get
    flutter build apk --release
  2. The generated APK will be located at:
    build/app/outputs/flutter-apk/app-release.apk

📄 License

© 2026 CampusMate. All rights reserved.

About

CampusMate is a Flutter-based virtual campus tour app for university students. It features interactive Google Maps, 360° panoramas, 3D room previews, audio-guided tours, and detailed location insights. Powered by Supabase for auth & data, it helps students explore campus life before they arrive.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors