SalesManagement é um sistema de gerenciamento de vendas projetado para aplicar boas práticas de desenvolvimento, como Clean Architecture, CQRS, SOLID e DDD.
Este projeto foi criado por mim para aprendizado prático e implementação de conceitos avançados de engenharia de software.
- ASP.NET Core 6
- xUnit para testes unitários.
- Clean Architecture e Domain-Driven Design (DDD).
- Princípios SOLID para um design de software robusto.
- CQRS.
- Repository Pattern.
- Docker e Docker Compose.
- SQL Server como banco de dados.
- Mediatr para a aplicação de CQRS.
- Dependency Injection para melhorar modularidade e testabilidade.
- FluentValidation para validação de regras de negócios.
- Gerenciamento Clientes (cadastrar - listar - atualizar - remover - ativar e inativar)
- Gerenciamento Produtos (cadastrar - listar - remover - ativar e inativar - incrementar e decrementar estoque - atualizar preço)
- Gerenciamento de Pedidos (cadastrar - listar - remover - Controle de Pagamentos)
- .NET 6 SDK
- Docker Desktop instalado
- SQL Server
- Ferramentas como Visual Studio ou Rider são recomendadas.
-
Clone o repositório:
git clone https://github.com/luiz-lgrp/SalesManagement.git cd SalesManagement
-
Construa e rode o projeto usando Docker Compose
docker-compose up --build
-
Acesse o Swagger
-
Após o container subir, abra o navegador e acesse:
http://localhost:3000/swagger/index.html
O arquivo docker-compose.yml inicia dois containers:
- API .NET (SalesManagement) – Aplicação backend
- SQL Server – Banco de dados utilizado pela aplicação
Ambos os containers são configurados para se comunicarem diretamente, eliminando a necessidade de instalar o SQL Server localmente.
A aplicação possui um método Initialize na camada de infraestrutura que popula o banco de dados com dados iniciais para testes.
Isso permite que ao iniciar a aplicação o banco já contenha alguns dados, facilitando a avaliação e os testes das funcionalidades.
-
Clone o repositório:
git clone https://github.com/luiz-lgrp/SalesManagement.git cd SalesManagement
-
Configure o Banco de Dados:
- Ajuste as configurações de conexão no arquivo appsettings.Development.json para apontar para o seu SQL Server.
-
Restaure as dependências:
dotnet restore
-
Inicie o projeto:
dotnet run
- Todos os testes estão localizados na pasta Tests/.
- Execute-os com o comando:
dotnet test
Você me encontra aqui: https://luiz-lgrp.github.io/portfolio/
Desenvolvido por Luiz Gustavo