jonathanccardoso / mini-bank

Introductory project to microservices, metrics (observability) and queue management with Kafka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mini Bank

Introductory project to microservices, metrics and queue management with Kafka.

Structure

Structure of the project

⚡ Technologies

Pending features

  • MonoRepo with Yarn workspace
  • Create micro services to payment
  • Add typescript
  • Create configuration process env
  • Send emails to the payee of the transaction
  • Create frontend
  • Add websocket
  • Add monitoring with prometheus in port http://localhost:9090 consumer infos from http://localhost:3000/metrics and grafana http://localhost:4000

Obs: more details about system in ASSETS FOLDER.

Future features

  • [] Change db to mongoDB
  • [] Apply tests both backend and frontend
  • [] Apply Design Patterns and Clean Architecture
  • [] Deploy applications

🚀 Development

sudo docker-compose up --build -d

Commands backend

yarn installyarn server

Open app application in bash in src folder project

sudo docker-compose exec app shnest g resource resource-namenest g service service-name

Commands frontend

yarn dev

Documentation API

URL

Commands kafka console

Producer

sudo docker-compose exec kafka bashkafka-console-producer --topic topic-name --bootstrap-server localhost:9092

Consumer

sudo docker-compose exec kafka bashkafka-console-consumer --topic topic-name --bootstrap-server localhost:9092

Environments

  • Create .env and set on api services;

Code made 💜 by Jonathan Cardoso

About

Introductory project to microservices, metrics (observability) and queue management with Kafka


Languages

Language:TypeScript 87.1%Language:CSS 9.7%Language:JavaScript 2.7%Language:Dockerfile 0.6%