Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Practical microservices, built with Nestjs, CQRS, Vertical Slice Architecture, Event-Driven Architecture, Postgres, RabbitMQ and the latest technologies.
| Date | Stars |
|---|---|
| 2026-07-24 | 291 |
| 2026-07-25 | 291 |
| 2026-07-28 | 291 |
| 2026-07-30 | 291 |
| 2026-08-06 | 291 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center" style="margin-bottom:20px">
<img src="assets/logo.png" alt="booking-microservices-nestjs" />
<div align="center">
<a href="https://github.com/meysamhadeli/booking-microservices-nestjs/actions/workflows/ci.yml"><img src="https://github.com/meysamhadeli/booking-microservices-nestjs/actions/workflows/ci.yml/badge.svg?branch=main&style=flat-square"/></a>
<a href="https://github.com/meysamhadeli/booking-microservices-nestjs/blob/main/LICENSE"><img src="https://img.shields.io/github/license/meysamhadeli/booking-microservices-nestjs?color=%234275f5&style=flat-square"/></a>
</div>
</div>
> **A practical and imaginary microservices for implementing an infrastructure for up and running distributed system with the latest technology and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, Postgres, RabbitMQ and Nestjs.** 🚀
**You can find `Expressjs` ported of this project in this link:**
🔗 [booking-microservices-expressjs](https://github.com/meysamhadeli/booking-microservices-expressjs)
<div>
<a href='https://codespaces.new/meysamhadeli/booking-microservices-nestjs?quickstart=1'><img alt='Open in GitHub Codespaces' src='https://github.com/codespaces/badge.svg'></a>
</div>
# Table of Contents
- [The Goals of This Project](#the-goals-of-this-project)
- [Plan](#plan)
- [Technologies - Libraries](#technologies---libraries)
- [The Domain and Bounded Context - Service Boundary](#the-domain-and-bounded-context---service-boundary)
- [Structure of Project](#structure-of-project)
- [How to Use Migrations](#how-to-use-migrations)
- [How to Run](#how-to-run)
- [Docker-Compose](#docker-compose)
- [Build](#build)
- [Run](#run)
- [Test](#test)
- [Documentation Apis](#documentation-apis)
- [Support](#support)
- [Contribution](#contribution)
## The Goals of This Project
- :sparkle: Using `Vertical Slice Architecture` for `architecture` level.
- :sparkle: Using `Data Centric` Architecture based on CRUD in all Services.
- :sparkle: Using `Rabbitmq` on top of `amqp` for `Event Driven Architecture` between our microservices.
- :sparkle: Using `Rest` for `internal communication` between our microservices with `axios`.
- :sparkle: Using `Nestjs` for `web framework`.
- :sparkle: Using `Nestjs CQRS` for implementation of command and query with `CommandBus` and `QueryBus`.
- :sparkle: Using `Nestjs Typeorm` for database level with `postgres`.
- :sparkle: Using `Nestjs Dependency Injection` for handling `dependency injection`.
- :sparkle: Using `Nestjs Passport` for `authentication` and `authorization`, base on `JWT`.
- :sparkle: Using `Nestjs Swagger` for generate `api documentation` automatically.
- :sparkle: Using `Nestjs Logger` for `logging`.
- :sparkle: Using `OpenTelemetry` for distributed tracing top of `Jaeger` and `Zipkin`.
- :sparkle: Using `OpenTelemetry` for monitoring top of `Prometteuse` and `Grafana`.
- :sparkle: Using `Joi` for `validation` input in our handlers and endpoints.
- :sparkle: Using `dotenv` for `configuration` management.
- :sparkle: Using `Unit Testing` for testing `small units` and `mocking` our dependencies with `Jest`.
- :sparkle: Using `End-To-End Testing` and `Integration Testing` for testing `features` with all dependencies using `testcontainers`.
- :sparkle: Using `ts-mapper` for `mapping` our objects.
- :sparkle: Using `Problem Details` standard for `readable details of errors`.
- :sparkle: Using `eslint` and `prettier` for `formatting` of our code.
- :sparkle: Using `Docker-Compose` for our `deployment` mechanism.
- :construction: Using `Nestjs MongoDB` for read side with `mongoose`.
- :construction: Using `Domain Driven Design` (DDD) to implement all `business` processes in microservices.
- :construction: Using `Inbox Pattern` for ensuring message idempotency for receiver and `Exactly once Delivery`.
- :construction: Using `Outbox Pattern` for ensuring no message is lost and there is at `At LeastExcerpt of 15,851 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:fc2fbe76e49d2ec8, topic:monitoring, topic:opentelemetry
matched fp:fc2fbe76e49d2ec8, topic:testing