← Back to selected work
ACADEMIC · BACKEND & DELIVERY

CarbonHunter

A carbon-emissions API with a documented MongoDB migration and a staged delivery workflow.

FIAP · 2026

C#ASP.NET Core 8MongoDBTestcontainersDockerGitHub ActionsAWS EC2

The problem

Supply-chain emissions calculations need consistent units, valid reference data, and a record of the factor used. The project also needed a repeatable delivery path that would stop a failing release before production.

My contribution

I developed the emissions-management API and its business rules, worked on the Oracle-to-MongoDB migration, and implemented containerization and CI/CD as part of the FIAP academic project.

How the system connects

HTTP client → ASP.NET Core 8 → MongoDB, Testcontainers, GitHub Actions → EC2
Simplified application and delivery view, based on the repository documentation.Open full-size diagram ↗

Engineering decisions

01

Preserve the context of each calculation

The active MongoDB model uses five ESG collections. Emission documents embed activity data and the applied factor as snapshots, retaining the calculation context rather than relying only on a reference to a factor that may later change.

02

Test against the real persistence technology

Integration tests use the application and a disposable MongoDB container. They cover reference validation, decimal calculations, authorization, snapshots, and aggregates, providing evidence beyond isolated mocks.

03

Promote one immutable image

GitHub Actions builds and tests, publishes to Docker Hub, and promotes the same image digest through staging and production on AWS EC2. A failing staging verification blocks production; the environments use separate data resources.

What was delivered

Academic delivery exercise. The linked evidence records the staging and production pipeline on October 12, 2026.

Evidence

GitHub Actions screenshot showing successful build, image publication, staging deployment and production deployment.
Actual repository evidence: the successful master pipeline recorded on October 12, 2026. Open the linked workflow for context.

Explore the sources

View résumé · PDF ↗Next projectAguiaX ↗