Skip to content

LobatoDiogo/Project-My-Hotel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Trybe Hotel 🏨

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.

Diagrama de Relacionamento

Documentação 📋

Logo abaixo está alguns processos implementados no projeto.

Cadastro e consulta de Cidades:

  • 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"
}

Cadastro e consulta de Hotéis:

  • 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.

Cadastro de pessoas usuárias

  • Rota de cadastro POST /user
    • O corpo da requisição deve seguir o formato abaixo:
{
	"name":"jose",
	"email": "[email protected]",
	"password": "123456"
}

Login de Usuário

  • Rota de login POST /login
    • O corpo da requisição deve seguir o formato abaixo:
{
	"email": "[email protected]",
	"password": "123456"
}

Cadastro e listagem de reservas

  • 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
}

Instalação ⚒

# 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

Rodando os testes ⚒

Testes Automatizados

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`

Stack utilizada 🧰

Back-end: C#, ASP.NET, EntityFramework, XUnit, SQL Server, JWT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages