Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/epicestudar/hostly-spring-api

API RESTful que será integrada e consumida pelo java swing
https://github.com/epicestudar/hostly-spring-api

api-rest maven mongodb spring-boot spring-security thunderclient

Last synced: 4 days ago
JSON representation

API RESTful que será integrada e consumida pelo java swing

Awesome Lists containing this project

README

        








logo


backend
documentação
mobile
site









Typing SVG

## Documentação da API - Sistema de Controle de Reservas de Hotel

### Visão Geral do Projeto
**Objetivo:**
A API do Sistema de Controle de Reservas de Hotel é responsável por permitir a autenticação de hóspedes, gerenciar reservas e listar quartos disponíveis. O sistema é integrado a uma interface em Java Swing usada por administradores para operações CRUD de hóspedes e quartos. Esta API utiliza Spring Boot e conecta-se ao MongoDB para persistência de dados.







Typing SVG

- **Java 17** (ou superior)
- **Spring Boot**
- Spring Web
- Spring Data MongoDB
- Spring DevTools
- Lombok
- Thymeleaf
- **MongoDB**
- **Maven** para gerenciamento de dependências
- **Thunder Client** para testes de API





Typing SVG

### Clone o repositório:

```bash
git clone https://github.com/epicestudar/Hostly-spring-API.git
```

### Acesse o diretório:

```bash
cd hostly_api
```

### Configure o application.properties:

```bash
spring.data.mongodb.uri=mongodb://localhost:27017/hostly
```

### Instale as dependências no seu terminal:

```bash
mvn clean install
```

### Execute o projeto:

```bash
mvn spring-boot:run
```

### - Certifique-se de ter o [git](https://git-scm.com/downloads) e [maven](https://maven.apache.org/download.cgi) instalados.






Typing SVG

### 4.1 Cadastro do Administrador

#### **POST /api/administrador**
Cadastra um administrador no sistema.

- **URL para o Thunder Client:**
`http://localhost:8080/api/administrador`

#### **Request Body:**
```json
{
"email": "[email protected]",
"senha": "12345678"
}
```

#### **Response (201):**

```json
{
"mensagem": "Administrador cadastrado com sucesso!"
}
```






### 4.2 Cadastro do Hóspede

#### **POST /api/hospedes**
Cadastra um hóspede no sistema.

- **URL para o Thunder Client:**
`http://localhost:8080/api/hospedes`

#### **Request Body:**
```json
{
"nome": "Vinicius",
"dataNascimento": "2006-02-06",
"telefone": "5519982501287",
"cpf": "12345678901",
"email": "[email protected]",
"senha": "12345678"
}
```

#### **Response (201):**

```json
{
"mensagem": "Hóspede cadastrado com sucesso!"
}
```





### 4.3 Cadastro do Quarto

#### **POST /api/quartos**
Cadastra um quarto no sistema.

- **URL para o Thunder Client:**
`http://localhost:8080/api/quartos`

#### **Request Body:**
```json
{
"codigoQuarto": "2A",
"tipoQuarto": "SUITE",
"capacidadeQuarto": 3,
"valorQuarto": 400.0
}
```

#### **Response (201):**

```json
{
"mensagem": "Quarto cadastrado com sucesso!"
}
```






### 4.4 Realização de Reserva

#### **POST /api/reservas**
Realizar uma reserva de quarto.

- **URL para o Thunder Client:**
`http://localhost:8080/api/reservas`

#### **Request Body:**
```json
{
{
"id": "id_gerado_automaticamente",
"quarto": {
"id": "id_respectivo_do_quarto",
"codigoQuarto": "2A",
"tipoQuarto": "SUITE",
"capacidadeQuarto": 3,
"valorQuarto": 400.0,
"status": "RESERVADO",
"reservas": null
},
"hospede": {
"id": "id_respectivo_do_hospede",
"nome": "Vinicius",
"dataNascimento": "2006-02-06",
"telefone": "5519982501287",
"cpf": "12345678901",
"email": "[email protected]",
"senha": "12345678",
"reservas": null
},
"quantidadeDiarias": 3,
"dataCheckIn": "2024-10-16",
"dataCheckOut": null,
"status": "CONFIRMADO",
"dataReserva": "2024-10-16"
}
}
```

#### **Response (201):**

```json
{
"mensagem": "Reserva realizada com sucesso!"
}
```