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 Node.Js, CQRS, Vertical Slice Architecture, Event-Driven Architecture, Postgres, RabbitMQ, Express and the latest technologies.
| Date | Stars |
|---|---|
| 2026-07-24 | 292 |
| 2026-07-25 | 292 |
| 2026-07-28 | 292 |
| 2026-07-30 | 292 |
| 2026-08-06 | 292 |
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-express-js" />
<div align="center">
<a href="https://github.com/meysamhadeli/booking-microservices-expressjs/actions/workflows/ci.yml"><img src="https://github.com/meysamhadeli/booking-microservices-expressjs/actions/workflows/ci.yml/badge.svg?branch=main&style=flat-square"/></a>
<a href="https://github.com/meysamhadeli/booking-microservices-express-js/blob/main/LICENSE"><img src="https://img.shields.io/github/license/meysamhadeli/booking-microservices-express-js?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 Express in Node.Js.** 🚀
> **You can find `Nestjs` ported of this project in this link:**
🔗 [booking-microservices-nestjs](https://github.com/meysamhadeli/booking-microservices-nestjs)
<div>
<a href='https://codespaces.new/meysamhadeli/booking-microservices-expressjs?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 `Rabbitmq` on top of `amqp` for `Event Driven Architecture` between our microservices.
- :sparkle: Using `Data Centric` Architecture based on CRUD in all Services.
- :sparkle: Using `Rest` for `internal communication` between our microservices with `axios`.
- :sparkle: Using `CQRS` implementation with `MediatrJs` internal library.
- :sparkle: Using `Express` for `web framework`.
- :sparkle: Using `Postgres` for database level with `typeorm`.
- :sparkle: Using `tsyringe` for handling `dependency injection`.
- :sparkle: Using `Passport` for `authentication` and `authorization`, base on `JWT`.
- :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 `winston` and 'morgan' for `logging`.
- :sparkle: Using `swagger-ui-express` and `tsoa` for generate `api documentation` automatically.
- :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 `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 Least One Delivery`.
## Plan
> 🌀ThiExcerpt of 16,575 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:bdeefbe6f4028791, topic:opentelemetry
matched fp:bdeefbe6f4028791, topic:testing