Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jorge07/billing-api

Billing API - Killing a fly with a cannon
https://github.com/jorge07/billing-api

ddd grafana hacktoberfest prometheusrules typescript

Last synced: about 2 months ago
JSON representation

Billing API - Killing a fly with a cannon

Awesome Lists containing this project

README

        

# Billing API

![Lint Status](https://github.com/jorge07/billing-api/workflows/Lint/badge.svg)
[![Tests](https://github.com/jorge07/billing-api/actions/workflows/test.yml/badge.svg)](https://github.com/jorge07/billing-api/actions/workflows/test.yml)

A Typescript project to demostrate how to work with all of this while keeping ultra fast speed:

- DDD & CQRS & Event Sourcing
- Dependency injection
- Mockless tests
- Unit, Integration and E2E testing
- Kubernetes + Helm + Prometheus + Custom metrics + Grafana

TODO
- https://github.com/helm/charts/tree/master/stable/prometheus-adapter

## Documentation

[Jump into the documentation for in deep information](doc/README.md)

## Setup

[Dev and Minikube environments](doc/envs.md)

Requirements:

- Nodejs
- yarn
- Docker
- Docker Compose (sooner than later will be integrated on the docker cli)

Start the project:

```sh
yarn install && yarn dev
```

## Stack

- Billing API and Worker/s
- Postgres
- RabbitMQ
- Prometheus Operator
- Alert manager
- Grafana + built in BillingAPI Dasboard

## Screenshots

### API

![Get Transaction](https://i.imgur.com/RFDOvaT.png)

### Grafana

![Dash](https://i.imgur.com/84YoLck.png)

### Prom Rules

![PrometheusRules](https://i.imgur.com/HS4lMoA.png)
![PrometheusRules](https://i.imgur.com/SZG76IG.png)