Skip to content
/ landy Public

Projeto de exemplo para demonstrar como construir uma solução baseada em microsserviços utilizando as melhores práticas de arquitetura de serviços distribuídos.

Notifications You must be signed in to change notification settings

leocosta/landy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

author GPLv3 license contributions welcome

Comece a hospedar e conecte-se a viajantes do mundo todo.


O objetivo do projeto é demonstrar como construir uma solução baseada em microsserviços utilizando as melhores práticas de arquitetura de serviços distribuídos.

Contexto

Landy conecta anfitriões a viajantes pelo mundo todo. O projeto é baseado em microsserviços e possui as seguintes funções:

  • Gestão de Usuários
  • Gestão de Ofertas de Hospedagem
  • Criação de Reservas
  • Envio de Notificação

Tecnologias

  • NET 5.0
  • SQL Server Express
  • Entity Framework Core
  • ASP.NET Core Web API
  • ASP.NET Core gRPC Service
  • AutoMapper
  • FluentValidation
  • MediatR
  • Redis
  • Kafka
  • Kafkadrop
  • ElasticSearch
  • Kibana
  • Jaeger
  • Ocelot
  • Docker

Para inciar containers

docker-compose up

Gateway

Serviço Url
Gateway.WebApi http://localhost:5000

Microsserviços

Serviço Url
Gestão de Usuários (Identiy.Api) http://localhost:4000
Booking (Booking.Api) http://localhost:4001
Ofertas (Offer.Api) http://localhost:4002
Notificação (Notification.Grpc) http://localhost:14000

Ferramentas:

Serviço Url
Kafkadrop http://localhost:19000
Kibana http://localhost:5601
Jaeger UI http://localhost:16686

Instalando EF tools

dotnet tool install --global dotnet-ef

Aplicando migrations

cd src/Services.Identity/Landy.Services.Identity.Core
dotnet ef database update --startup-project ../Landy.Services.Identity.Api --context IdentityDbContext

Visão geral dos Recursos

Offers

Verb Route
POST /offers
GET /offers
GET /offers/:id

Booking

Verb Route
POST /book
GET /book/:id

Identity

Verb Route
POST /users
GET /users/:id
PUT /users/:id
PUT /users/:id/password
DELETE /users/:id
PUT /users/:id/passwordresetemail
POST /users/:id/emailaddressconfirmation

Arquitetura

✅ CQRS

✅ Mediator

✅ Event Sourcing

✅ Search Indexer

✅ Persistence

✅ Mappers

✅ Validators

✅ Web API

✅ gRPC

✅ OpenTracing

✅ API Gateway

Integrações

  • Pagar.me
  • SendGrid

About

Projeto de exemplo para demonstrar como construir uma solução baseada em microsserviços utilizando as melhores práticas de arquitetura de serviços distribuídos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages