Skip to content

API to manage rankings, challenges and matches between players using the microservices methodology with nestjs, rabbitmq, mongodb, aws ses, s3 and cognito in a clean architecture.

License

Notifications You must be signed in to change notification settings

AlissonAp/smartranking-cloud-microservices-learning

Repository files navigation

SmartRanking - Clean microservice API to manage challenges

API to manage rankings, challenges and matches between players using the microservices methodology with nestjs, rabbitmq, mongodb, aws ses, s3 and cognito

Forks Stargazers Issues LinkedIn


Logo

· Report Bug · Request Feature

About The Project

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.


Logo

Available endpoints


Logo


Logo


Logo


Logo


Logo

Built With

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.

Getting Started

To make changes to the project first have node, npm and nestjs installed and docker / docker-compose for start the micro-services dependencies

Installation

  1. Clone the repo
    git clone https://github.com/AlissonAp/smartranking-cloud-microservices-learning.git
  2. Install NPM packages for every micro-service (api-gateway, micro-admin, micro-challenge, micro-rankings, micro-notification)
    npm install
  3. Run Docker Compose for every micro-service that have docker-compose.yaml
    docker-compose up -d
  4. Run the microservice app in dev environment
    npm run start:dev

Usage

To make requests to the available endpoints, run the api-gateway microservice and go to localhost:3000/api/v1/documentation

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Todo List

  • Add unit tests
  • Add contract tests
  • Add support for circuit break
  • Use gRPC communication
  • Add saga orchestration data pattern

License

Distributed under the MIT License. See LICENSE.txt for more information.

About

API to manage rankings, challenges and matches between players using the microservices methodology with nestjs, rabbitmq, mongodb, aws ses, s3 and cognito in a clean architecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published