Este projeto é uma Web API desenvolvida em C# que fornece endpoints para gerenciamento de agendamento de consultas de uma operadora de saúde fictícia chamada Health&Med.
- .NET Core .NET 8
- ASP.NET Core para construção da Web API
- Identity + JWT para autenticação e autorização baseada em roles
- Entity Framework Core ORM para acesso a dados
- FluentValidation para validação dos dados de entrada da camada services
- Swagger/OpenAPI para documentação da API
- RabbitMQ que implementa uma mensageria para controle de concorrência
- MS SQL SERVER EXPRESS banco de dados relacional da aplicação
Antes de começar, certifique-se de ter instalado:
- .NET SDK
- Visual Studio ou Visual Studio Code
- SQL Server ou outro banco de dados relacional
-
Clone o repositório
git clone https://github.com/luizgodoy/HackathonFiap.git
-
Navegue até o diretório do projeto
cd HackathonFiap -
Restaurar as dependências
dotnet restore
-
Configurar o banco de dados
Atualize a string de conexão no arquivo appsettings.json para apontar para o seu banco de dados.
Execute as migrações para criar o banco de dados:
dotnet ef database update
-
Execute a aplicação
dotnet run
A API estará disponível em http://localhost:5000
-
Acessar a documentação da API
Abra o navegador e acesse http://localhost:5000/swagger/index.html para visualizar a documentação da API gerada pelo Swagger.
- API: Contém os controladores da API que lidam com as requisições HTTP.
- Core: Contém as classes de modelo que representam as entidades do sistema.
- Data: Contém o contexto do Entity Framework e as configurações de banco de dados.
- Domain: Contém a lógica de negócio da aplicação.
- Data\Migrations: Contém as migrações do Entity Framework para gerenciar o esquema do banco de dados.
- Application: Console consumidor da fila RabbitMQ de Agendamentos.
- Notification: Console consumidor da fila RabbitMQ de E-mails
- Contract: Biblioteca com os modelos da interfaces da mensageria
- [ProjectName].UnitTest: Implementações de testes unitários
- Anderson José Da Silva and.jsilva@gmail.com
- Clademir Zampieri mr.zampieri@live.com
- Luiz Antonio Garcia de Godoy luiz.godoy@tivit.com
- Ricardo do Vale Czajkowski ricardovcza@gmail.com
