This is a full-stack demo application that showcases how GitHub Copilot Agent Mode can accelerate real software development using structured product requirements (PRDs) and GitHub issues.
The app visualizes carbon emissions by project, activity category, and over time — with a Spring Boot backend and a React frontend served as a single deployable unit.
- 📦 Backend: Spring Boot (Java 21+)
- 🖼 Frontend: React 18 + Chart.js (served by Spring)
- 📁 Data: In-memory JSON (no database)
- 🤖 Copilot: PRD + Issue-based feature additions (Agent Mode)
cd frontend
npm install
npm run build
This compiles the React frontend into static assets.
cp -r frontend/build/* src/main/resources/static/
From the project root:
./gradlew bootRun
Then open:
http://localhost:8080
You’ll see a full dashboard with charts.
- Loading Spinner – Added via feature defined under prd directory.
- CSV export was implemented from a github issue.
frontend/ → React UI (Chart.js)
├── src/ → Springboot backend
│ └── main/
│ ├── java/com/github/
│ │ ├── controller/ # REST APIs
│ │ ├── model/ # Project, Activity EmissionRecord
│ │ ├── repository/ # In-memory JSON loaders
│ │ ├── service/ # EmissionCalculatorService
│ └── resources/
│ ├── static/ # Frontend build output
│ └── data/ # JSON data files
prd/ → Features to be used in Copilot Agent Mode
Use VS Code with the Copilot extension enabled.
Try:
- Copilot: Implement from feature definition → Choose from prd/ directory
- Copilot + Github MCP Server : Implement GitHub Issue → Use the issue in the GitHub repo