All Projects → malikmasis → TelephoneDirectory

malikmasis / TelephoneDirectory

Licence: other
microservices-> .net 6, golang - Docker, Ocelot, RabbitMq, MassTransit, mssql, postgresql, elasticsearch, kibana, jwt

Programming Languages

C#
18002 projects
Dockerfile
14818 projects
go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to TelephoneDirectory

docker-workshop-with-react-aspnetcore-redis-rabbitmq-mssql
An Asp.Net Core Docker workshop project that includes react ui, redis, mssql, rabbitmq and azure pipelines
Stars: ✭ 53 (+32.5%)
Mutual labels:  rabbitmq, mssql
Cqrs Clean Eventual Consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
Stars: ✭ 247 (+517.5%)
Mutual labels:  rabbitmq, mssql
Sample-ConsoleService
A sample .NET Core 2.2 Console Service
Stars: ✭ 33 (-17.5%)
Mutual labels:  rabbitmq, masstransit
frontreport
Simple frontend logging collector written in Go
Stars: ✭ 23 (-42.5%)
Mutual labels:  kibana, rabbitmq
Microservices Sample
Sample project to create an application using microservices architecture
Stars: ✭ 167 (+317.5%)
Mutual labels:  kibana, rabbitmq
northwind-dotnet
A full-stack .NET 6 Microservices build on Minimal APIs and C# 10
Stars: ✭ 77 (+92.5%)
Mutual labels:  masstransit, dotnet6
Masstransit
Distributed Application Framework for .NET
Stars: ✭ 4,103 (+10157.5%)
Mutual labels:  rabbitmq, masstransit
pandora
Small box of pandora to prototype your app with ready for use backend. This is just my compilation of different solutions occasionally applied in hackathons and challenges
Stars: ✭ 26 (-35%)
Mutual labels:  kibana, rabbitmq
Python Devops
gathers Python stack for DevOps, these are usually my basic templates use for my implementations, so, feel free to use it and evolve it! Everything is Docker!
Stars: ✭ 61 (+52.5%)
Mutual labels:  kibana, rabbitmq
honeycomb
本项目用于验证一系列开源项目
Stars: ✭ 13 (-67.5%)
Mutual labels:  serilog, ocelot
docker-case
这个项目主要是为了快速拉起docker服务
Stars: ✭ 31 (-22.5%)
Mutual labels:  kibana, rabbitmq
Analogy.LogViewer
A customizable Log Viewer with ability to create custom providers. Can be used with C#, C++, Python, Java and others
Stars: ✭ 172 (+330%)
Mutual labels:  serilog
dbclient
데이터배이스 관리 / 자동 메일링 / Admin 자동화 / Database IDE Tool. SQL Development Helper. Support DBMS Oracle/Mysql/MS-SQL
Stars: ✭ 35 (-12.5%)
Mutual labels:  mssql
MBBSEmu
The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
Stars: ✭ 75 (+87.5%)
Mutual labels:  dotnet6
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (-20%)
Mutual labels:  rabbitmq
tomodachi
💻 Microservice library / framework using Python's asyncio event loop with full support for HTTP + WebSockets, AWS SNS+SQS, RabbitMQ / AMQP, middleware, etc. Extendable for GraphQL, protobuf, gRPC, among other technologies.
Stars: ✭ 170 (+325%)
Mutual labels:  rabbitmq
bunnybus
Enterprise bus facade for creating a data transit system.
Stars: ✭ 45 (+12.5%)
Mutual labels:  rabbitmq
BUA-FE
本科毕设,搭建一套小而全面的校园外卖系统。主要使用wei-xin-mini + TypeScript + nest.js + typeORM + rabbitmq技术栈。
Stars: ✭ 20 (-50%)
Mutual labels:  rabbitmq
broadway bike sharing rabbitmq example
An example of a Broadway pipeline for a bike sharing app with RabbitMQ and PostgreSQL
Stars: ✭ 27 (-32.5%)
Mutual labels:  rabbitmq
aws-elb-logs-to-logstash
Consumes ELB & ALB logs and sends them to logstash for ingestion. Kibana dashboard included.
Stars: ✭ 26 (-35%)
Mutual labels:  kibana

TelephoneDirectory

microservices -> .net 6.0, golang - Docker, Jenkins, Ocelot, RabbitMq, MassTransit, Serilog, Elasticsearch, Kibana, Swagger / SwaggerForOcelot, Jwt, Postgresql, Mssql

If you want to read in detail in Turkish, please visit here

Running the project

The project was created with Code First approach. In this way, we will be able to run the database on the code side. Also, there is a different database for each service. In this way, we are not dependent on only one database. Postgre and Mssql were used as databases. You can switch them easily.

* dotnet ef migrations add Initial
* dotnet ef database update

Note: No need to take any action as the existing migrations in the project are automatically run.

General structure
  • API Gateway -> Ocelot
  • Message Broker -> Rabbitmq
  • Service Bus -> Mass Transit
  • Health Check -> Watchdog - (via slack implementation)
  • Continuous Integration -> Jenkins
  • Logging -> Serilog, elastic search and kibana
  • Databases -> Postgre and Mssql
  • Open Doc -> Swagger and SwaggerForOcelot
  • Applied Pattern -> DDD, Saga Pattern, Mediator, CQRS, Circuit Breaker, Event Sourcing, Publish-Subscribe
  • Tests -> xUnit (via MassTransit) - Mocking, Integration and Functional Tests
Existed microservices
  • Ocelot - Gateway, .net6 - It provides coordination as a gateway.
  • Guide - Postgre, .net6 - We can perform all kinds of CRUD operations related to contacts.
  • Report - Postgre, .net6 - There are some reports on the people in the directory.
  • Auth - MSSQL, .net6 - We keep users. Authentication is done with JWT.
  • Example - No DB, golang - A simple golang project has been created. Its development continues.
  • Saga - Saga Pattern's Orchestration method is used for transaction management.
Installation

Thanks to the docker-compose.yml file, both the tools used and the databases will run properly.

* docker-compose up -d
Testing
  • Unit Tests started to be added. We started to use it with MassTransit for consumers. Also mocking is used.

MassTransit unit testing - video
Unit testing in general - blog - Turkish
Mocking in unit testing - video - Turkish

  • Integration Test:

Integration testing in general - blog - Turkish
Integration testing in general - video - Turkish

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].