Skip to content

Repository files navigation

AOSSIE

 

Telegram Badge    X (formerly Twitter) Badge    Discord Badge    Medium Badge    LinkedIn Badge    Youtube Badge


CarbonTracker

CarbonTracker is a Flutter-based mobile application that helps users track their fitness activity and understand its environmental impact.

The app follows a local-first and privacy-focused approach, keeping user, fitness, location, and trip data on the user's device whenever possible.

Features

Track fitness and activity data Track trips and transportation modes Calculate carbon emissions and carbon savings View fitness and environmental insights Location-based trip tracking Wear OS support Export trip data as JSON Automatic cleanup of older trip history

💻 Tech Stack

Frontend

  • Flutter / Dart
  • SQLite (sqflite)
  • Riverpod
  • Health Connect / HealthKit
  • Geolocation services
  • Wear OS

✅ Project Checklist

  • The mobile app (if applicable):
    • has an About page containing the Aossie's logo and pointing to the social media accounts of the Aossie.
    • is available for download as a release in this repo.
    • is available in the relevant app stores.

🔗 Repository Links

  1. Main Repository

🏗️ Architecture Diagram

flowchart TD
    A[Flutter UI] --> B[Riverpod State Management]
    B --> C[Device Integrations]
    B --> D[Local SQLite Database]

    C --> C1[Health Connect / HealthKit]
    C --> C2[Geolocation]

    D --> E[Carbon Calculation Engine]
    E --> A

    D --> F[JSON Export]
Loading

🔄 User Flow

flowchart TD
    A[Open App] --> B{First time?}
    B -->|Yes| C[Onboarding: Name, Weight, Transport Preferences]
    B -->|No| D[Dashboard]
    C --> D

    D --> M[Map Screen]
    M --> E[Start Trip Tracking]
    E --> F[App Records Location and Distance]
    F --> G[Trip Ends]
    G --> H[Carbon Emissions and Savings Calculated]
    H --> D

    D --> J[Fitness Screen: View Fitness Metrics]

    D --> P[Profile Screen]
    P --> K[Export Trip History as JSON]
    P --> L[Clear Stored Data]
Loading

Key User Journeys

  1. Onboarding

    • User opens the app for the first time
    • Enters name, weight, and preferred transport modes
    • Lands on the main dashboard
  2. Logging a Trip

    • User navigates to the Map screen
    • Starts trip tracking
    • App records location and distance in the background
    • User ends the trip
    • App calculates carbon emissions and savings
    • Results appear back on the dashboard
  3. Reviewing Fitness Metrics

    • User navigates to the Fitness screen
    • Views fitness data such as steps, distance, and activity insights
  4. Managing Data

    • User navigates to the Profile screen
    • Can export trip history as JSON or clear stored data at any time
  5. View Carbon Metrics

    • Reviewing Carbon Insights
    • User navigates to the Carbon screen
    • Views daily and weekly carbon emissions and carbon savings

🍀 Getting Started

Prerequisites

Before setting up CarbonTracker, make sure you have the following installed:

  • Flutter
  • Dart (included with Flutter)
  • Android Studio or another Flutter-supported development environment
  • An Android/iOS emulator or a physical device

You can verify your Flutter installation by running:

flutter doctor

Resolve any issues reported by flutter doctor before proceeding.

Installation

1. Clone the Repository

git clone https://github.com/AOSSIE-Org/CarbonTracker.git
cd CarbonTracker

2. Install Dependencies

flutter pub get

3. Run the App

First, check that Flutter can detect your available devices:

flutter devices

Then run the application with:

flutter run

You can run the project directly from Android Studio or another IDE with Flutter support.

📱 App Screenshots

Onboarding Dashboard Fitness Screen
Map Screen Carbon Screen Profile Screen

🙌 Contributing

⭐ Don't forget to star this repository if you find it useful! ⭐

Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure smooth collaboration, please refer to our Contribution Guidelines.

✨ Maintainers

📍 License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.


💪 Thanks To All Contributors

Thanks a lot for spending your time helping CarbonTracker grow. Keep rocking 🥂

Contributors

© 2026 AOSSIE

About

Sunny Local Fitness Tracker that also tracks saved CO2 Emissions

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages