Web api application prototype written in rust
- Clean architecture design with CQRS pattern
- Crud api endpoints with actix-web and mongodb driver
- Kafka Consumer implemented with
rdkafka
- Integration tests
- Workspaces usage
- OpenApi and Swagger-UI
- Multi-stage docker build
- Code coverage report
- Static analysis report
acl
- anti corruption layer implemented as kafka consumerapi
- application layer with endpointsdomain
- business logic contracts (queries/commands interfaces)domain_impl
- implementation of buisiness logic contractsinfra
- infrastructure layer (dal)host
- host process for application with composition rootintegration-tests
- integration tests for application
From root folder:
make setup
- setup environment (brew, docker, helm, rust)make deploy
- deploy to kubernetes with helm (you should enable k8s support manually)make delete
- delete helm chart
From src folder:
make docker-up-env
- up environment onlymake docker-up-apps
- up all include applicationsmake docker-down-env
- down environment onlymake docker-down-apps
- down all include applicationsmake docker-build-apps
- build apps imagesmake build
- build local binariesmake lint
- run clippy for static analysismake format
- run fmt for code formattingmake tests
- run testsmake run
- run local build
K8s:
swagger
- https://dev-wep-api.com/swagger-ui/
Docker-compose:
swagger
- http://localhost:8080/swagger-ui/
kafka-ui
- http://localhost:8085/