EcoTrack: a full-stack app to shrink your carbon footprint
A web app that helps people track and reduce their daily carbon footprint — one habit at a time. Built with React, Spring Boot and PostgreSQL.
EcoTrack is a project close to my heart: a web app that helps people measure and reduce their daily carbon footprint, one habit at a time. The idea is simple — you can't improve what you don't measure, so EcoTrack turns everyday choices like transport, energy and food into numbers you can actually act on.
The idea
Most people want to be greener but have no real feel for what moves the needle. EcoTrack lets users log their habits, then visualizes their footprint over time so progress (or backsliding) becomes obvious at a glance.
The stack
I built it as a full-stack, containerized app:
- Frontend — React + Vite + Tailwind, with Recharts for the dashboards.
- Backend — a Spring Boot REST API in Java.
- Database — PostgreSQL.
- Docker Compose ties everything together so it runs with a single command.
On the backend, each logged habit maps to a simple entity the API exposes:
@Entity
public class CarbonEntry {
@Id
@GeneratedValue
private Long id;
private String category; // transport, energy, food...
private double co2Kg; // estimated emissions
private LocalDate date;
}What I took away
The most interesting part wasn't the code — it was modeling the data well (I started from a proper conceptual data model) and turning raw logs into charts that actually tell a story. It's also my most complete full-stack project so far: React on one side, Spring Boot and PostgreSQL on the other, all running together in containers.