Carbon emissions have an effect that is felt worldwide. The increase in greenhouse gasses is a major contributor to climate change. This has forced farms to be shut down causing a loss of jobs leading people into poverty, which also led large populations to a food shortage across many developing countries. Because for many people it is difficult to understand a number attributed to them called their “carbon footprint”, we decided to make an app that will give them a much more understandable version of it...How they stand up compared to the rest of the word. Are they saving the planet? Or are they one of the ones destroying it?

What it does

Our application calculates the user’s carbon footprint and CO2 emissions based on the user’s responses to eleven and four simple questions respectively. These calculations and the user’s information is stored in a database for the user to track their progress over time. Every time the user fills out the two forms and answers the questions to recalculate their carbon footprint and CO2 emissions, their new scores along with their old scores will be compiled into an average that is compared against global averages to see how much of a carbon impact the user has in regards to the rest of the world.

How we built it

  • React.js / javascript
  • Front end (Single page application)
  • Spring Boot / java
  • Custom back end and calculations assistant (API)
  • Authentication provider
  • Google Cloud SQL/ postgres
  • Data storage

Challenges we ran into

  • Authorization and authentication through sha256
  • Ran into blockers each step of the way
  • Made a mistake with git (using the wrong account to push)

Accomplishments that we're proud of

  • Authorization and authentication
  • Visual appearance through CSS styling of webapp
  • Successful setup and connection to Google Cloud SQL database

What we learned

  • How to use sha256 for password encryption
  • How to set up authorization and authentication using Spring Boot
  • How to host a DB using Google Cloud SQL
  • How to connect to a remote Google Cloud SQL database using Spring Boot
  • Usage of asynchronous API calls to Spring Boot using Axios in React
  • Creating visuals/graphs representing data in React

What's next for Carbonalysis

  • Planting more oak trees
  • Global and local leaderboards
  • Analysis of location data against local trends/events
  • Logout timer
  • Localized charts showing local data trends
  • Regional data analytics
  • Replacing bar chart with a line graph to show changes over time
Share this project: