Autoease Scheduler é uma aplicação backend desenvolvida para gerenciar e agendar reparos automotivos de forma eficiente. A aplicação fornece uma solução robusta para oficinas e empresas do setor automotivo que precisam organizar e otimizar seus serviços de manutenção e reparo.
- Linguagem: C#
- Framework: ASP.NET 8
- Banco de Dados: PostgreSQL
- ORM: Entity Framework Core
- Arquitetura: N-Camadas, seguindo o padrão CQRS
- Padrão de Design: Mediator (implementado com o MediatR)
- Princípios de Desenvolvimento: SOLID, DRY
- Cadastro e Gerenciamento de Clientes: Registre clientes e gerencie suas informações.
- Agendamento de Reparos: Programe e gerencie agendamentos para diversos tipos de serviços automotivos.
- Gestão de Ordens de Serviço: Controle as ordens de serviço, desde a criação até a finalização.
- Integração com Banco de Dados: Utilização do Entity Framework para acesso eficiente ao PostgreSQL.
- Camadas e Separação de Responsabilidades: Implementação de uma arquitetura bem definida para garantir manutenibilidade e escalabilidade.
- Implementação de CQRS: Separação clara de comandos e consultas para uma maior eficiência.
- Padrão Mediator com MediatR: Facilita a comunicação entre componentes, promovendo um design desacoplado.
A aplicação segue uma arquitetura N-Camadas para uma melhor organização e separação de responsabilidades. As camadas incluem:
- Apresentação (API): Ponto de entrada para a aplicação, lidando com solicitações HTTP.
- Aplicação: Contém a lógica de negócios e os comandos/consultas CQRS.
- Domínio: Define as entidades de domínio e interfaces principais.
- Infraestrutura: Implementa o acesso ao banco de dados e serviços externos.
-
Clone o repositório:
git clone https://github.com/oliverigor27/AutoEase-Scheduler.git
-
Configure o banco de dados PostgreSQL:
- Crie um banco de dados.
- Atualize a string de conexão no arquivo de configuração
appsettings.json
.
-
Execute as migrações:
dotnet ef database update
-
Inicie a aplicação:
dotnet run
Este projeto é licenciado sob a MIT License. Consulte o arquivo LICENSE para mais detalhes.