olá, olá! Bem-vinda(o) ao repositório do projeto Trybe Hotel.
Este projeto foi desenvolvido como parte do curso de Desenvolvimento C# da Trybe.
Neste projeto, desenvolvi uma aplicação ASP.NET Core responsável por gerenciar reservas de hotéis e interagir com uma API externa para obter informações geográficas.
- Models e Banco de Dados:
Desenvolvi as models da aplicação de acordo com o Diagrama de Entidade-Relacionamento fornecido. Utilizei migrations para criar o banco de dados SQL Server.
- Endpoints para Cidades:
Criei endpoints para listar e cadastrar cidades (GET /city e POST /city). Implementei o modelo RESTful para interação com as cidades.
- Endpoints para Hotéis:
Desenvolvi endpoints para listar e cadastrar hotéis (GET /hotel e POST /hotel). Garanti a relação entre cidades e hotéis, conforme o DER.
- Endpoints para Quartos:
Criei endpoints para listar, cadastrar e deletar quartos (GET /room/:hotelId, POST /room e DELETE /room/:roomId). Mantive a consistência nas relações entre hotéis e quartos.
- Endpoints para Usuários:
Implementei endpoints para cadastrar usuários e realizar login (POST /user e POST /login). Adicionei autorização de administrador nos endpoints de cadastro de hotéis e quartos.
- Endpoints para Reservas:
Desenvolvi endpoints para cadastrar e listar reservas (POST /booking e GET /booking). Adicionei autorização para garantir que apenas usuários autenticados possam fazer reservas.
- Atributo "State" na Model "City":
Adicionei o atributo "State" à model "City" para representar o estado da cidade. Realizei a refatoração necessária no banco de dados utilizando migrations.
- Endpoint para Status da API Externa de Geolocalização:
Implementei o endpoint GET /geo/status para conferir o status da API externa de geolocalização. Realizei requisições externas à API e retornei um objeto JSON conforme especificado.
Durante a realização deste projeto, algumas habilidades foram exercitadas:
- Manipulação de arrays multidimensionais para armazenamento temporário de dados.
- Implementação de funções com validações e tratamento de exceções para garantir a integridade das operações financeiras.
- Separação de responsabilidades e construção de funcionalidades em ordem para facilitar a evolução do sistema.
Se deseja experimentar o projeto em sua máquina local, siga estas etapas:
- Clone o repositório:
git clone git@github.com:marquesdjuliana/trybe_hotel.git
- Entre na pasta do repositório e instale as dependências: Entre na pasta:
cd src/
- Execute o comando:
dotnet restore
- Utilize o Docker Compose fornecido para subir um banco de dados SQL Server localmente.:
docker-compose up -d --build
Sinta-se à vontade para explorar este projeto, acompanhar meu crescimento e contribuir, se desejar. Se você tiver alguma sugestão, feedback ou quiser trocar conhecimentos, será um prazer conectar com você no LinkedIn!