Skip to content
/ EcoWise Public

EcoWise is an iOS application designed to help users identify, document, and visualize sightings of invasive and endangered species based on their current location. It leverages geolocation, Firebase services, and an external species API, all structured under a scalable MVVM architecture.

Notifications You must be signed in to change notification settings

PYN17/EcoWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EcoWise

EcoWise is an iOS application designed to help users identify, document, and visualize sightings of invasive and endangered species based on their current location. It leverages geolocation, Firebase services, and an external species API, all structured under a scalable MVVM architecture.


πŸ” Features

  • User Authentication – Secure sign-up and login via Firebase Authentication
  • Location-Aware Species Lookup – Automatically fetches species data based on user GPS coordinates
  • Photo Capture & Submission – Users can take photos of species in the wild
  • Cloud Integration – Stores all user-submitted data (photo, species, location) in Firebase Firestore and Storage
  • Map Visualization – Displays all sightings from all users on an interactive map using MapKit
  • MVVM Architecture – Separates business logic, UI, and data management for maintainability

πŸ›  Tech Stack

  • Language: Swift (iOS 16+)
  • Architecture: MVVM (Model-View-ViewModel)
  • Backend: Firebase (Auth, Firestore, Storage)
  • Location Services: CoreLocation
  • Map Rendering: MapKit
  • Camera & Media: AVFoundation

πŸš€ Getting Started

Prerequisites

  • Xcode 15+
  • iOS 16 or later
  • A Firebase project with:
    • Firestore enabled
    • Firebase Authentication (Email/Password)
    • Firebase Storage

Setup Instructions

  1. Clone the repository
git clone https://github.com/yourusername/EcoWise.git
cd EcoWise
  1. Open project in Xcode:
  • open EcoWise.xcodeproj
  1. Add your GoogleService-Info.plist file to the project root
  2. Run on a simulator or device

🚧 Future Enhancements

  • Add search and filter features to map
  • Add search to sightings list
  • Add endangered species panel
  • Improve UI
  • Add deletion feature
  • Add admin user
  • Species auto-recognition using CoreML

About

EcoWise is an iOS application designed to help users identify, document, and visualize sightings of invasive and endangered species based on their current location. It leverages geolocation, Firebase services, and an external species API, all structured under a scalable MVVM architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages