Boas-vindas ao repositório do projeto. Aqui, você vai encontrar os detalhes de como foi estruturado o desenvolvimento do projeto, que se trata de uma implementação de Api de um site de reservas de uma rede de Hoteis.
Logo abaixo está alguns processos implementados no projeto.
- Rota de consulta GET /city
- O corpo da resposta segue o formato abaixo:
[
{
"cityId": 1,
"name": "Rio Branco",
"state": "AC"
},
/*...*/
]
- Rota de cadastro de cidades POST /city
- O corpo da requisição deve seguir o formato abaixo:
{
"name": "Rio de Janeiro",
"state": "RJ"
}
- Rota de consulta GET /hotel
- O corpo da resposta segue o formato abaixo:
[
{
"hotelId": 1,
"name": "Teste Hotel SP",
"address": "Avenida Paulista, 1400",
"cityId": 1,
"cityName": "São Paulo",
"state": "SP"
},
/*...*/
]
- Rota de cadastro de Hoteis POST /hotel
- Essa rota requer Token com nível de acesso admin.
- O corpo da requisição deve seguir o formato abaixo:
[
{
"roomId": 1,
"name": "Suite básica",
"capacity": 2,
"image": "image suite",
"hotel":
{
"hotelId": 1,
"name": "Teste Hotel SP",
"address": "Avenida Paulista, 1400",
"cityId": 1,
"cityName": "São Paulo",
"state": "SP"
}
},
/*...*/
]
- Rota de cadastro de Quartos POST /room
- Essa rota requer Token com nível de acesso admin.
- O corpo da requisição deve seguir o formato abaixo:
{
"name": "Suite básica",
"capacity": 2,
"image": "image suite",
"hotelId": 1
}
- Rota de deleção de quartos DELETE /room/:roomId
- O corpo da requisição é vazio;
- A deleção é feita através do roomId;
- A resposta retorna o status 204.
- Rota de cadastro POST /user
- O corpo da requisição deve seguir o formato abaixo:
{
"name":"jose",
"email": "[email protected]",
"password": "123456"
}
- Rota de login POST /login
- O corpo da requisição deve seguir o formato abaixo:
{
"email": "[email protected]",
"password": "123456"
}
- Rota de cadastro de reservas POST /booking
- Essa rota requer Token com nível de acesso user
- O corpo da requisição deve seguir o formato abaixo:
{
"checkIn":"2030-08-27",
"checkOut":"2030-08-28",
"guestQuant":"1",
"roomId":1
}
# Clone o projeto
$ git clone https://github.com/LobatoDiogo/Project-My-Hotel.git
# Acesse
$ cd ./project-trybe-hotel-fase-d/src
# Instale as dependencias
$ dotnet restore
# Acesse o diretório TrybeHotel
$ cd TrybeHotel
# Inicie o projeto
$ dotnet run
Para rodar os testes, rode os seguintes comandos:
# Acesse o diretório TrybeHotel.test
# Execute o comando dotnet test
# para filtrar por algum teste específico execute o comando
$ dotnet test --filter `nome_do_teste`
Back-end: C#, ASP.NET, EntityFramework, XUnit, SQL Server, JWT