Skip to content

Aplicação para fins de estudos utilizando diversas tecnologias, simulando um sistemas de vendas com catálogo de produtos, clientes, logística, marketing e pagamentos.

License

pedrogutierres/rumox

Repository files navigation

RUMOX

Aplicação para fins de estudos utilizando diversas tecnologias, simulando um sistemas de vendas com catálogo de produtos, clientes, logística, marketing e pagamentos.

O projeto

O projeto é desenvolvido em C# utilizando o framework .NET Core 3.1 no seu back-end, e possívelmente será utilizado Angular para o front-end.

Momento atual

No momento atual está implementado alguns padrões, técnicas e modelagem seguindo:

  • DDD
  • Clean Code
  • Design Patterns
  • Domain Notifications

Também utiliza algumas bibliotecas como:

  • Swagger (para documentação da API)
  • JWT (para autenticação de usuários)
  • AutoMapper (para mapeamento de entitades à viewmodel)
  • MongoDB Driver
  • Entity Framework Core (para os bancos de dados relacionais)
  • Pomelo MySQL (para integração do entity framework core com o MySQL)
  • Polly (atualmente apenas nos serviços de cache)
  • MediatR (para as domain notifications)
  • FluentValidation (para validação de entidades)

Os bancos de dados utilizados:

  • MongoDB
  • MySQL
  • Redis (para serviços de cache)

Ferramentas e bibliotecas utilizadas nos testes:

  • xUnit
  • Bogus
  • FluentAssertions
  • Moq
  • AutoMoq

Também há diversas decisões técnicas e alguns débitos técnicos destacados dentro das seções de cada projeto, segue:

  1. API - Doc Tests
  2. Catalogo - Doc Tests
  3. CRM - Doc Tests

Para executar

Para executar a aplicação completa:

git clone https://github.com/pedrogutierres/rumox.git
cd rumox
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d

ou execute o arquivo build-dev.sh

Para levantar o ambiente de testes para a execução dos testes de integração, segue como fazer

ELK (Logs) ainda não habilitado por padrão, mas pode ser utilizado removendo o parâmetro "Logging:EnterpriseLog:Disabled" do appsettings.Development.json e utilizando a aplicação pelo Visual Studio junto com a infra pelo docker. Será ajustado em breve

Futuro

Segue alguns frameworks, bibliotecas, padrões, tecnologias e outros serviços, que possívelmente serão adotados:

  • CQRS
  • RabbitMQ
  • Kafka
  • Dapper
  • RavenDB
  • SQL Server
  • Firebase
  • Neo4J
  • MS Orleans
  • Chatbot
  • Testes de carga com JMeter (e análise APDEX)

About

Aplicação para fins de estudos utilizando diversas tecnologias, simulando um sistemas de vendas com catálogo de produtos, clientes, logística, marketing e pagamentos.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages