Project to expose, through an API, the report of movements from the accounts. Transactions are created by the Seed
console application and published to a topic in RabbitMQ
, then read by the Movements.AsyncReceiver
application, which processes and saves the data in the PostgreSQL
database. This data is then exposed through the Movements.Api
at the /report/{{accountId}}
endpoint.
With docker installed, run
docker-compose up -d
Movements api docs are exposed in localhost:9000/movements/swagger
Logs of all applications are available in kibana exposed in localhost:9001
- Access
localhost:9001/app/management/kibana/indexPatterns
Create data view
- Type
fluentd-logs
in name Create data view
button
C#
was used as the language with.net 6
, following some of the concepts ofclean architecture
. Forunit tests
,xunit
andmoq
were used.Docker
was used for the application containers withdocker-compose
for multi-containers.PostgreSQL
was chosen as the database.RabbitMQ
was chosen as the message broker.Fluentd
was used for log aggregation, sending the logs toElastic Search
.Kibana
was used for log visualization.GitHub Actions
were used forCI
while the application was being developed, built, and tested on each push.