Este é um projeto de API RESTful para gerenciamento de um estacionamento de veículos. A API foi desenvolvida com .NET 9, utilizando Entity Framework Core para persistência de dados em um banco MySQL, e Swagger para documentação da API. Como DEV Jr, fiz esse projeto como parte de um Desafio. Irei aprimorando conforme estudo e adquiro mais conhecimento.
- .NET 9: Framework de desenvolvimento de aplicações web.
- Entity Framework Core: ORM (Object-Relational Mapper) para acesso ao banco de dados.
- MySQL Workbench: Ferramenta de gerenciamento e design de banco de dados MySQL.
- Swagger: Ferramenta para documentação da API e visualização dos endpoints.
- ASP.NET Core: Framework para a criação da API.
A API permite realizar as seguintes operações:
- Cadastrar Empresa: Registra um novo estabelecimento de estacionamento.
- Listar Empresas: Recupera todos os estabelecimentos cadastrados.
- Checar Empresa: Verifica a existência de uma empresa pelo ID.
- Editar Empresa: Atualiza as informações de uma empresa cadastrada.
- Deletar Empresa: Exclui uma empresa registrada.
- Cadastrar Veículo: Registra um novo veículo com informações como marca, modelo, cor, placa e tipo (carro ou moto).
- Listar Veículos: Recupera todos os veículos cadastrados.
- Checar Veículo: Verifica a existência de um veículo pelo ID.
- Atualizar Veículo: Atualiza as informações de um veículo cadastrado.
- Deletar Veículo: Exclui um veículo registrado.
- Listar Veículos Estacionados: Recupera todos os veículos que estão atualmente estacionados.
- Registrar Entrada de Veículo: Registra a entrada de um veículo no estacionamento.
- Registrar Saída de Veículo: Registra a saída de um veículo, utilizando seu ID e placa.
- Relatório de Entrada e Saída: Gera um relatório com a quantidade de veículos que entraram e saíram durante o dia.
- Relatório por Hora: Gera um relatório de veículos que entraram e saíram em cada hora do dia.
GET /api/Empresas/ListarEmpresas
: Lista todos os estabelecimentos cadastrados.GET /api/Empresas/ChecarEmpresa/{id}
: Verifica a existência de uma empresa pelo ID.POST /api/Empresas/CriarEmpresa
: Cria um novo estabelecimento de estacionamento.PUT /api/Empresas/EditarEmpresa/{id}
: Atualiza as informações de uma empresa existente.DELETE /api/Empresas/DeletarEmpresa/{id}
: Exclui uma empresa cadastrada.
GET /api/Veiculos/ListarVeiculos
: Lista todos os veículos cadastrados.GET /api/Veiculos/ChecarVeiculo/{id}
: Verifica a existência de um veículo pelo ID.POST /api/Veiculos/CadastrarVeiculo
: Cadastra um novo veículo.PUT /api/Veiculos/AtualizarVeiculo/{id}
: Atualiza as informações de um veículo existente.DELETE /api/Veiculos/DeletarVeiculo/{id}
: Exclui um veículo cadastrado.
GET /api/Movimentacao/Estacionados
: Recupera todos os veículos atualmente estacionados.POST /api/Movimentacao/Entrada
: Registra a entrada de um veículo no estacionamento.POST /api/Movimentacao/Saida/{id}/{placa}
: Registra a saída de um veículo, identificando-o pelo ID e pela placa.
- Banco de Dados: Configure a string de conexão no arquivo
appsettings.json
com os dados do seu banco MySQL. - Swagger: Após rodar a aplicação, você pode acessar a documentação da API em
http://localhost:5000/swagger
.
- Clone este repositório:
git clone https://github.com/Foqsz/Projeto-API-BackEnd-Estacionamento.git
- Abra o projeto no Visual Studio ou no VS Code.
- Configure a string de conexão no arquivo
appsettings.json
para o banco MySQL. - Execute o comando para aplicar as migrations:
dotnet ef database update
- Inicie o projeto:
dotnet run
A API pode ser testada via Swagger ou usando ferramentas como Postman. Todos os endpoints estão documentados na interface do Swagger.
Sinta-se à vontade para abrir issues ou enviar pull requests. Toda contribuição é bem-vinda!
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.