Notes on archiving: I'm currently not convinced anymore that (personal) carbon accounting is a very effective solution to addresse climate change. Carbon accounting is very hard to get right and even harder to build a great user experience for it.
The repository of the emission tracker API. Built with Node.js, MongoDB, Express and common libraries of the Express ecosystem.
1: Install dependencies
npm install
2: Create a .env
file which contains the follwing variables MONGO_URL
and DB_NAME
3: Run the app (with naive authentication)
npm start -- --unsafe-naive-auth
4: Visit localhost:3000/docs
to try the API
The following libraries are used for development:
- mongoose as ODM for MongoDB
- ajv for JSON validation
- prettier for code formatting
- typescript-eslint for code linting
- jest-expo for testing
User authentication is implemented using Azure AD B2C identity management service and Passport.js.
The API is deployed using Azure App Service. The MongoDB cluster is hosted using MongoDB Atlas.