SkillAgentSearch skills...

Quokkel

Project developed using Django for the Capstone of fourth quarter Backend module of the Fullstack Developer Course of Kenzie Academy Brasil by the group @ezms, @RafaelSchug, @victorlscherer, @Vinicius2m, @ManoelaCunha

Install / Use

/learn @Vinicius2m/Quokkel
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1>Quokkel</h1>

📜 Grupo Quokka oferece hotelaria de um jeito simples e eficaz!

<div align="center"> <img src="https://i.imgur.com/XLiIFDJ.png" alt="quokka-logo" border="0"> </div> <p> 💡 O objetivo da nossa aplicação é facilitar o gerenciamento hoteleiro, oferecendo controle sobre reservas, hóspedes e acomodações. </p><br>

🛠️ Instalação

  1. Baixe o repositório utilizando o Git com o commando:<br>

utilizando HTTPS

$ https://github.com/Vinicius2m/Quokkel.git

ou SSh

$ git@github.com:Vinicius2m/Quokkel.git

Instale um ambiente virtual (<code>venv</code>) na raíz do projeto

$ python -m venv venv && source venv/bin/activate
  1. Instale as dependências presentes no arquivo <code>requirements.txt</code>: <br>: no terminal :
$ pip install -r requirements.txt

2 - Em seguida, inicie a aplicação: <br>: no terminal :

$ ./manage.py runserver

<br><hr><br>

<b> 🌄 Inicialização da API </b>

Base Url: https://quokkel.herokuapp.com/

<br>

🔚 Endpoints

Existem 22 endpoints nessa aplicação: 11 para gerenciamento de usuário (admin e hóspedes), 3 para gerenciamento de quartos, 2 para gerenciamento de categorias, 6 para gerenciamento de reservas. <br><br>

🧍Usuário:

Admins:

<br>

<span>Criação de admin:</span><br> <code>/admins/register/</code><br><br> Exemplo de entrada

{
  "email": "marmota@mail.com",
  "password": "1234",
  "first_name": "Marmota",
  "last_name": "Kel",
  "age": 32,
  "cpf": "07744455547",
  "phone": "123456789012347",
  "is_staff": true
}

Status: <code style="color: green; font-size: 16px;"> 201 CREATED</code> <br>Resposta:

{
  "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
  "email": "marmota@mail.com",
  "first_name": "Marmota",
  "last_name": "Kel",
  "age": 32,
  "cpf": "07744455547",
  "phone": "1234567890123",
  "is_staff": true
}

<br><br> <span>Login de admin:</span><br> <code>/admins/login/</code><br><br> Exemplo de entrada

{
  "email": "marmota@mail.com",
  "password": "1234"
}

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "token": "9c2db77e46128c7f612cfa7eabcbc1aa5b3bbb88"
}

<br><br> <span>Retornar todos os admins:</span><br> <code>/users/admins/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

[
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455547",
    "phone": "1234567890123",
    "is_staff": true
  },
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota1@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455546",
    "phone": "1234567890128",
    "is_staff": true
  },
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota2@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455545",
    "phone": "1234567890121",
    "is_staff": true
  }
]

<br><br> <span>Retornar um admin pelo ID:</span><br> <code>/users/admins/user_id</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
  "email": "marmota@mail.com",
  "first_name": "Marmota",
  "last_name": "Kel",
  "age": 32,
  "cpf": "07744455547",
  "phone": "1234567890123",
  "is_staff": true
}

<br><br> <span>Atualização de admin:</span><br> <code>/admins/admin_id/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Exemplo de entrada

{
  "age": 18
}

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
  "email": "marmota@mail.com",
  "first_name": "Marmota",
  "last_name": "Kel",
  "age": 18,
  "cpf": "07744455547",
  "phone": "1234567890123",
  "is_staff": true
}

<br><br> <span>Remover um admin:</span><br> <code>/admins/admin_id/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 204 NO CONTENT</code> <br>Resposta:

Hóspedes (Guests)

<br>

<span>Criação de hóspede:</span><br> <code>/guests/register/</code><br><br> Exemplo de entrada

{
  "email": "quokka@mail.com",
  "password": "1234",
  "first_name": "Quokka",
  "last_name": "Quita",
  "age": 30,
  "cpf": "99999999998",
  "phone": "1234567891113",
  "is_staff": false
}

Status: <code style="color: green; font-size: 16px;"> 201 CREATED</code> <br>Resposta:

{
  "user_id": "43908c43-0b3d-48ba-ab26-c696ca02b5df",
  "email": "quokka@mail.com",
  "first_name": "Quokka",
  "last_name": "Quita",
  "age": 30,
  "cpf": "99999999998",
  "phone": "1234567891113"
}

<br><br> <span>Login de hóspede:</span><br> <code>/guests/login/</code><br><br> Exemplo de entrada

{
  "email": "quokka@mail.com",
  "password": "1234"
}

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "token": "ccc24e532f6079b323c3fa09f72e0a012422fc39"
}

<br><br> <span>Retornar todos os hóspedes:</span><br> <code>/users/guests/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

[
  {
    "user_id": "f80431a8-c76a-459e-9818-1c4eb7ed76d3",
    "email": "quokka@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999998",
    "phone": "1234567891113",
    "is_staff": false
  },
  {
    "user_id": "7e4bd16a-7340-4089-89e3-a9071d983ce9",
    "email": "quokka2@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999999",
    "phone": "1234567891112",
    "is_staff": false
  },
  {
    "user_id": "db6ef5b0-5d11-4370-9548-87488491c32d",
    "email": "quokka3@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999997",
    "phone": "1234567891111",
    "is_staff": false
  }
]

<br><br> <span>Retornar um hóspede pelo ID:</span><br> <code>/users/guests/user_id</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "user_id": "f80431a8-c76a-459e-9818-1c4eb7ed76d3",
  "email": "quokka@mail.com",
  "first_name": "Quokka",
  "last_name": "Quita",
  "age": 30,
  "cpf": "99999999998",
  "phone": "1234567891113",
  "is_staff": false
}

<br><br> <span>Atualização de Hóspede(Guest):</span><br> <code>/guests/guest_id/</code><br> <code style="color: tomato;">Requer token de Hósoede(Guest)</code><br><br> Exemplo de entrada

{
  "age": 18
}

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

{
  "user_id": "f80431a8-c76a-459e-9818-1c4eb7ed76d3",
  "email": "quokka@mail.com",
  "first_name": "Quokka",
  "last_name": "Quita",
  "age": 18,
  "cpf": "99999999998",
  "phone": "1234567891113",
  "is_staff": false
}

<br><br> <span>Remover conta de Hóspede(Guest):</span><br> <code>/guests/guest_id/</code><br> <code style="color: tomato;">Requer token de Hósoede(Guest)</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 204 NO CONTENT</code> <br>Resposta:

<br><br> <span>Retornar todos os usuários:</span><br> <code>/users/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Sem corpo de requisição

Status: <code style="color: green; font-size: 16px;"> 200 OK</code> <br>Resposta:

[
  {
    "user_id": "f80431a8-c76a-459e-9818-1c4eb7ed76d3",
    "email": "quokka@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999998",
    "phone": "1234567891113",
    "is_staff": false
  },
  {
    "user_id": "7e4bd16a-7340-4089-89e3-a9071d983ce9",
    "email": "quokka2@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999999",
    "phone": "1234567891112",
    "is_staff": false
  },
  {
    "user_id": "db6ef5b0-5d11-4370-9548-87488491c32d",
    "email": "quokka3@mail.com",
    "first_name": "Quokka",
    "last_name": "Quita",
    "age": 30,
    "cpf": "99999999997",
    "phone": "1234567891111",
    "is_staff": false
  },
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455547",
    "phone": "1234567890123",
    "is_staff": true
  },
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota1@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455546",
    "phone": "1234567890128",
    "is_staff": true
  },
  {
    "user_id": "db8f63dc-cf00-4ba0-91cd-43ea968e73b3",
    "email": "marmota2@mail.com",
    "first_name": "Marmota",
    "last_name": "Kel",
    "age": 32,
    "cpf": "07744455545",
    "phone": "1234567890121",
    "is_staff": true
  }
]
<hr>

🧍Categorias:

<br>

<span>Criação de categoria:</span><br> <code>/rooms_categories/</code><br> <code style="color: tomato;">Requer token de ADMIN</code><br><br> Exemplo de entrada

{
  "category_name": "Standard",
  "price": 100.0,
  "max_guest_number": 1
}

Status: <code style="color: green; font-size: 16px;"> 201 CREATED</code> <br>Resposta:

{
View on GitHub
GitHub Stars5
CategoryDevelopment
Updated3y ago
Forks2

Languages

Python

Security Score

55/100

Audited on Jun 3, 2022

No findings