API to manage rankings, challenges and matches between players using the microservices methodology with nestjs, rabbitmq, mongodb, aws ses, s3 and cognito
· Report Bug · Request Feature
This project was built based on the studies presented in the course https://www.udemy.com/course/constrizando-um-backend-escalavel-com-nestjs-aws-e-pivotalws/ aiming to improve the learning about the concept of microservices and cloud services such as S3, SES and Cognito.
In addition to the application of concepts demonstrated in the course, care was also taken to apply a clean architecture during the development of microservices, addressing concepts of Single Responsibility, segregation of interfaces, inversion of dependencies and the principle of open-closed.
The project contains 4 microservices and one api-gateway to handle the http requests between microservices.
This section should list any major frameworks that you built your project using. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
To make changes to the project first have node, npm and nestjs installed and docker / docker-compose for start the micro-services dependencies
- Clone the repo
git clone https://github.com/AlissonAp/smartranking-cloud-microservices-learning.git
- Install NPM packages for every micro-service (api-gateway, micro-admin, micro-challenge, micro-rankings, micro-notification)
npm install
- Run Docker Compose for every micro-service that have
docker-compose.yaml
docker-compose up -d
- Run the microservice app in dev environment
npm run start:dev
To make requests to the available endpoints, run the api-gateway microservice and go to localhost:3000/api/v1/documentation
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Add unit tests
- Add contract tests
- Add support for circuit break
- Use gRPC communication
- Add saga orchestration data pattern
Distributed under the MIT License. See LICENSE.txt
for more information.