Zero Waste Web App

A zero waste web app and server, written in Python and Vue for my final year university project.

Last Updated
11 May 2020
Repository
gitlab.com
Website
0waste.app

Description

This project formed the basis for my final year project, and included a dissertation. What follows is a basic overview, but the full dissertation can be provided upon request. Feel free to get in touch if you're interested!

The aim of the project was to create a solution that made it easier to follow zero waste practices when it came to grocery shopping. It takes its inspiration from projects like StreetComplete, which provide the user with a simple and modern Material design interface and an interactive map with icons on it, and allow them to easily interact with data and make contributions of their own.

The front-end uses Vue and Vuetify to provide an app-like, sleek and simple user interface. Vue Router provides Single Page App functionality. It is Progressive Web App-enabled, which helps to improve loading times and integrate the app with the user's device. The map interface uses Mapbox.

The back-end uses Flask and Flask-SQLAlchemy to serve the app and a RESTful API. Map data is provided by OpenStreetMap using data dumps from Geofabrik. Item data is crowdsourced and is available under the Open Database License (ODbL).

The app respects user privacy. An account is not required in order to use the service, and requests are not logged or stored. Currently, it is only available for the British Isles due to performance constraints with using larger datasets that have yet to be resolved, but ideally it would be available globally along with translations into other languages.

Due to the global pandemic, the project has been placed on hold because of the impracticality of spending time going around shops gathering data. When the time is right, I hope to return to it and share it publicly with the zero waste community.

Future plans for the project include: