A place for people to buy carbon offsets to help reduce their carbon footprint and support green projects.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Our app is a platform that enables individuals and organisations to contribute to reduce greenhouse gases in the atomosphere through voluntary carbon offsetting. It allows any entity to (1) obtain funding for new green projects and (2) further monetise existing green projects that have already began consistently removing CO2 from environment.
The focus is primarily on the voluntary market where anyone can fund new projects or support existing projects by buying carbon credits sold by these companies on our platform. Our focus is not on the compliance market, which involves the trading of carbon credits between companies that have hit their carbon credit cap set by government and wish to buy carbon credits from other companies with surplus carbon credits (i.e., companies whose carbon credits are below the cap set by the government).
- Flask (Python Web Framework)
- Express.js (Node.js Web Framework)
- PostgreSQL (SQL Database)
- MongoDB (NoSQL Database)
- Docker (Container Runtime)
- RabbitMQ (Message Broker)
- MeiliSearch (Search Engine)
- Kong (API Gateway)
- Istio (API Gateway / Service Mesh)
- Prometheus (Monitoring System)
- Grafana (Observability Platform)
- Github Actions (CI/CD platform for pipelines)
- Terraform (Infrastructure as Code)
- Kubernetes (Container Orchestration Engine)
To get a local copy of all the microservices up and running follow these steps.
-
Clone the repository
git clone https://github.com/IS213-G9-tokyobanana/carbon-marketplace-backend.git
-
Initialize repo with .env file
# If you have make installed make init
OR
cp ./deployment/.docker/.env.example .env
-
Start the services
# If you have make installed make dev
OR
docker-compose -f ./docker-compose.yaml up --build --remove-orphans --force-recreate -d
-
To stop the services, run
# If you have make installed make stop
OR
docker-compose -f ./docker-compose.yaml --env-file .env down
-
To prune the services, run
# If you have make installed make prune-all
OR
docker system prune -a --volumes
- Stripe API (Stripe API)
- Twilio SendGrid API (Twilio SendGrid API)