Skip to content

A package to calculate carbon footprint for private vehicle and delivery companies.

License

Notifications You must be signed in to change notification settings

bzfvrto/Carbonize

Repository files navigation

Carbonize carbon footprint made easy for transport.

Latest Version on Packagist Tests Static Analysis Code Climate maintainability

Some words about me.

This is my first package.
I have made it, primarily to have feedback on my code. I love to code since several years, but i have never publish open-source package. I'm not profesionnal developper but i'm looking for a school next year.

Description

Carbonize aims to provide simple and clear API to build carbon footprint easily for private vehicles and delivery companies. My goal is to make it compilent with the french law.

At this time, only base formula is implemented, it is the most generic and it does not allow fine calculation of emission.
Source of emission come from the ADEME Base Empreinte.

This package is a Work in progress. Breaking changes may occur.

I have take some help and inspiration from :

Installation

You can install the package via composer:

composer require bzfvrto/carbonize

Usage

$distance = new Distance(
        from: new Point(1, 2),
        to: new Point(4, 5)
    );

$distance
    ->setSteps([new Point(1,3), new Point(2, 4)])
    ->calculate();
    // output (float) distance in meters: 516972.895251

$vehicle = new Vehicle(
        combustible: Combustible::B7,
        consumptionAvgInLiterFor100Km: 7.5,
        location: Country::FRANCE
    );

$vehicle->emission()->getCO2EquivalentInGramsPerKm();
    // output (float) C02e in grammes per km: 232.5

(new Carbonize(
    vehicle: $vehicle,
    distance: $distance))->formatedResult();
    // output (string): 120196.198 gramme of CO2 emited for 516.97 km

Roadmap

What you can expect in the coming months:

  • Formula 2: Used when the vehicle carry many packages or people and it's fuel consumption is known for current transport service
  • Formula 3: Used when the fuel consumption of the vehicle is unknown for current transport service and if there is only one package or people inside
  • Formula 4: Used when vehicle carry many package or people and it's fuel consumption is unknown for current transport service
  • Laravel package
  • More country and Greenhouse gas provider
  • More combustible type

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

A package to calculate carbon footprint for private vehicle and delivery companies.

Topics

Resources

License

Stars

Watchers

Forks

Languages