The idea of the project is to process information related to financial transactions and store them in a database. A simple approach was used, with some concepts of asynchronous processes in an ecosystem in docker and docker-compose, the communication is carried out through the internal docker network, simulating a private production environment. Kafka was the library used to communicate between the services developed, with the aim of guaranteeing security in the processing of information and thinking about the UX.
What things you need to install the software and how to install them.
We chose to use docker and docker compose to develop this application. If you haven't installed it, you can find the installation steps here.
To see API Documentation, click here.
You just go up the stack and use it. Run:
$ docker-compose up -d
Starting desafio-dev_postgresdb_1 ... done
Starting desafio-dev_zookeeper_1 ... done
Starting desafio-dev_kafka_1 ... done
Starting desafiodev-api ... done
Starting desafio-dev_kafdrop_1 ... done
Starting desafiodev-parser ... done
Starting desafiodev-seeds ... done
Starting desafiodev-frontend ... done
Attaching to desafio-dev_zookeeper_1, desafio-dev_postgresdb_1, desafio-dev_kafka_1, desafio-dev_kafdrop_1, desafiodev-api, desafiodev-parser, desafiodev-seeds, desafiodev-frontend
- Frontend Microservice: http://localhost:8000
- Server API Microservice: http://localhost:3100
- PostgreSQL Service: http://localhost:5433
- Kafka Service: http://localhost:9092
- Kafdrop Service: http://localhost:19000
- Username: [email protected]
- Password: desafiodev
The project structure is simple. There are 4 microservices and some services available in the environment.
If you want to test it, just import the API collection into Postman.
You can change params in compose.yml file.
- Docker
- Node.js
- Python 3.8
- Redux
- React Redux
- Redux Saga
- Vercel SWR
- Express
- Joi
- PostgreSQL
- Sequelize ORM
- Apache Kafka
- Zookeeper
- Kafdrop
Distributed under the MIT License. See LICENSE for more information.