Waste Manager

Platform to control waste generation in cities.

GitHub repository

Commit your changes and pull request when a new feature has been added. If any doubt or question you can create an issue and we'll be there to help you.

Problem

Waste is a big issue in our world. Our cities generate a lot of wastes for the global population and living standards. It's really important to have all the information possible to make better plans and take smarter approaches.

How we solve it

We are building a system that makes trash bins smarter to allow city councils to have more information about the waste generated in each neighborhood.

We think that is key to know some aspects:

  • When a trash bin is full. They only need to be emptied when are full of waste.

  • What neighborhoods generate more waste. Each district or area has a different amount of waste and maybe type of it. Knowing this we can take better actions according to those different situations.

  • With this info, we can generate optimal routes to collect garbage with the trucks

Technical description

The system, a solar-powered Raspberry Pi, with a weight sensor will collect data about the capacity, the frequency and placement of the different waste containers. This whole data will be accessible through a web application that will show, by neighborhood and by street (to make it more precise), all the previous information.

The goal of this project is to make a fully functional platform as cheap as possible.

Elements

  1. Internet module

  2. Data

    • Weight

Get all containers

GET http://localhost:3000/api/containers

[
    {
        id: "507f1f77bcf86cd799439011",
        district: "pacifico",
        calle: "narciso_serra_1",
        capacity: "30",
        updatedAt: ISODate("2021-04-26T10:55:51.603Z")
    },
    {
        id: "345b1b88afb65fd112256234",
        district: "aluche",
        calle: "illescas_23",
        capacity: "79",
        updatedAt: ISODate("2021-04-26T14:32:51.603Z")
    },
    .
    .
    .
]

Get the neighborhood containers

GET http://localhost:3000/api/containers/:district_name

Path Parameters

[
    {
        id: "507f1f77bcf86cd799439011",
        district: "pacifico",
        calle: "narciso_serra_1",
        capacity: "30",
        updatedAt: ISODate("2021-04-26T10:55:51.603Z")
    },
    {
        id: "345b1b88afb65fd112256234",
        district: "pacifico",
        calle: "narciso_serra_7",
        capacity: "35",
        updatedAt: ISODate("2021-04-26T14:32:51.603Z")
    },
    .
    .
    .
]

Get info of a specific container

GET http://localhost:3000/api/containers/:container_id/info

Path Parameters

{
    id: "507f1f77bcf86cd799439011",
    district: "pacifico",
    calle: "narciso_serra_1",
    capacity: "30",
    updatedAt: ISODate("2021-04-26T10:55:51.603Z")
}

Get the capacity of a specific container

GET http://localhost:3000/api/containers/:container_id/capacity

Path Parameters

{
    capacity: "30"
}

Update the capacity of a specific container

PUT https://localhost:3000/api/containers/:container_id/capacity

Path Parameters

{
    success: "Ok"
}

Last updated