Skip to content

Latest commit

 

History

History
95 lines (68 loc) · 2.05 KB

File metadata and controls

95 lines (68 loc) · 2.05 KB

InstaCharge

A real-time crowdsourced app to find available charging outlets, built with SwiftUI and Firebase.

Features

  • 🗺️ Live Outlet Map (available/taken)
  • 👥 Crowdsourced Updates
  • 🎯 AR Mode for finding hidden outlets
  • 🔔 Smart Notifications
  • 🏆 Gamification (reward points for accurate reporting)

Requirements

  • iOS 15.0+
  • Xcode 13.0+
  • Swift 5.5+
  • CocoaPods

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/InstaCharge.git
cd InstaCharge
  1. Install dependencies using CocoaPods:
pod install
  1. Open InstaCharge.xcworkspace in Xcode

  2. Create a new Firebase project and add your GoogleService-Info.plist to the project

  3. Build and run the project

Dependencies

  • Firebase/Auth
  • Firebase/Firestore
  • Firebase/Storage
  • MapKit
  • ARKit
  • RealityKit

Architecture

The app follows the MVVM (Model-View-ViewModel) architecture pattern:

  • Models: Data structures and business logic
  • Views: SwiftUI views for the user interface
  • ViewModels: State management and business logic
  • Managers: Location and other system services

Features Implementation

Map View

  • Real-time outlet status display
  • Custom map annotations
  • Outlet reporting functionality

AR Mode

  • ARKit integration for outlet discovery
  • 3D visualization of nearby outlets
  • Distance and direction indicators

User Profile

  • Points system
  • Achievement tracking
  • Profile customization

Authentication

  • Email/password authentication
  • User registration
  • Profile management

Contributing

  1. Fork the repository
  2. Create your 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

License

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

Acknowledgments

  • Firebase for backend services
  • Apple for SwiftUI and ARKit
  • The open-source community for inspiration and support