Skip to content

The GGE (Giant Gippsland Earthworm) app is designed to engage users in the observation and conservation of the Giant Gippsland Earthworm, a unique and endangered species native to Victoria, Australia. Through this app, users can record sightings and contribute valuable data to support conservation efforts.

License

Notifications You must be signed in to change notification settings

AviatoConsulting/Gippsland-Giant-Earthworm

Repository files navigation

GGE (Giant Gippsland Earthworm) App

The GGE (Giant Gippsland Earthworm) app is designed to engage users in the observation and conservation of the Giant Gippsland Earthworm, a unique and endangered species native to Victoria, Australia. Through this app, users can record sightings and contribute valuable data to support conservation efforts.

Key Features

  • Observation Tracking
    Users can log sightings of the Giant Gippsland Earthworm by capturing photos, audio recordings, location data, and notes, contributing to a public record of worm habitats and population data.

  • Public Awareness
    The app aims to raise awareness about the conservation needs of the Giant Gippsland Earthworm by making observation data accessible to the public and relevant conservation groups.

  • Educational Resources
    Provides users with access to conservation resources and third-party links to external sites for learning more about the earthworm species and related environmental topics.

Tech Stack

  • Flutter: Used for building a cross-platform mobile application.
  • GetX: Employed for efficient state management within the app.
  • Firebase:
    • Authentication: Provides secure, scalable user authentication.
    • Firestore: Cloud Firestore offers a fast and flexible NoSQL database solution for storing user data and preferences.
    • Firebase Storage: Stores media files and other assets securely, allowing for seamless integration with user data.

GGE Installation and Contribution Guide

This guide provides step-by-step instructions to set up and run the GGE project on your local system, as well as how to contribute to the project.

Installation Steps

  • Clone the Repository
    Clone the GGE repository to your local system:

    git clone https://github.com/your-username/giant_gipsland_earthworm.git
    cd giant_gipsland_earthworm
  • Install Dependencies
    Ensure you have Flutter installed, and then fetch the necessary packages:

    flutter pub get
  • Connect to Firebase
    Use the flutterfire CLI to connect your Flutter project to Firebase. If you haven't installed flutterfire, you can install it using the following command:

    dart pub global activate flutterfire_cli

    Once flutterfire is installed, configure your Firebase project by running:

    flutterfire configure

    Follow the prompts to select your Firebase project and platforms, and flutterfire will automatically generate the required configuration files.

    • Ensure firebase_options.dart is generated in your project files.
    • Make sure google-services.json is added in android/app and GoogleService-Info.plist is added in ios/Runner.
  • Google Sign-In Configuration
    To enable Google Sign-In, add the following configuration in your Info.plist for iOS:

    <key>GIDClientID</key>
    <!-- Copied from GoogleService-Info.plist key CLIENT_ID -->
    <string>YOUR_CLIENT_ID_HERE</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <!-- Copied from GoogleService-Info.plist key REVERSED_CLIENT_ID -->
                <string>YOUR_REVERSED_CLIENT_ID_HERE</string>
            </array>
        </dict>
    </array>
  • Google Maps API Key Setup
    Add the Google Maps API keys to enable map functionality:

    • For Android: Add the API key in AndroidManifest.xml located at android/app/src/main.
    • For iOS: Add the API key in AppDelegate.swift located at ios/Runner.

    You can refer to the Google Maps Flutter package for further details.

  • Run the App
    Use Flutter to run the app on an emulator or connected device:

    flutter run

How to Get a Google Maps API Key

To get a Google Maps API key, follow these steps:

Step 1: Go to the Google Cloud Console

Step 2: Create a New Project (or Select an Existing Project)

  • In the top menu, click on the project dropdown.
  • Click on New Project if you want to create a new project, then give it a name and click Create.
  • If you already have a project, select it from the list.

Step 3: Enable Google Maps API Services

  • With your project selected, go to the Library tab in the left-hand menu.
  • Search for Maps JavaScript API, Places API, and Geocoding API (if you need more location functionalities).
  • Click on each API and then click Enable.

Step 4: Generate an API Key

  • In the left-hand menu, go to APIs & Services > Credentials.
  • Click Create Credentials and select API Key.
  • Google will generate an API key for you. Copy this key as you’ll need it to configure your app.

Step 5: Add the API Key to Your Flutter Project

  • For Android: Open AndroidManifest.xml located in android/app/src/main, and add your API key within the <application> tag:

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="YOUR_API_KEY_HERE" />
  • For iOS: Open AppDelegate.swift in ios/Runner, and add your API key in the didFinishLaunchingWithOptions function:

    import GoogleMaps
    
    @UIApplicationMain
    class AppDelegate: FlutterAppDelegate {
        override func application(
            _ application: UIApplication,
            didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
        ) -> Bool {
            GMSServices.provideAPIKey("YOUR_API_KEY_HERE")
            return super.application(application, didFinishLaunchingWithOptions: launchOptions)
        }
    }

Additional Resources


Contributing to GGE

We welcome contributions to the GGE project! Please follow the steps below to make a contribution:

  • Create a New Branch
    Create a new branch for your issue or contribution. Naming the branch based on the feature or issue number is recommended (e.g., feature/observation-tracking or bugfix/location-accuracy).

    git checkout -b your-branch-name
  • Make Your Changes
    Add the feature or fix the bug. Ensure your code is clean and tested before committing.

  • Commit and Push
    Commit your changes with a descriptive message and push your branch to the repository.

    git add .
    git commit -m "Describe your changes here"
    git push origin your-branch-name
  • Submit a Pull Request (PR)
    Go to the GitHub repository and submit a pull request. In the PR description, include details about the changes you made, such as the feature added, bug fixed, or improvements made. Please provide any necessary context to help the reviewers understand your contribution.


This README provides an overview of the GGE app, highlights its key features and tech stack, and outlines the steps for installation, Firebase connection, and contribution. We appreciate your support in helping us improve the GGE app!

About

The GGE (Giant Gippsland Earthworm) app is designed to engage users in the observation and conservation of the Giant Gippsland Earthworm, a unique and endangered species native to Victoria, Australia. Through this app, users can record sightings and contribute valuable data to support conservation efforts.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published