Projeto feito como meio para práticar habilidades.
- Clone o projeto com
git clone https://github.com/prince-neres/wallbox-api.git - Entre no diretório do projeto com cd
wallbox-api - Crie um ambiente python o comando
python3 -m venv venv - Ative o ambiente
. venv/bin/activate - Instale as dependências da aplicação
pip install -r requirements.txt - Inicie o servidor
python run.py
A seguir, estão listados os endpoints disponíveis nesta API, juntamente com sua descrição, método aceito e payload:
/user/<int:id> [PUT]
Este endpoint permite atualizar as informações de um usuário existente. É necessário que o usuário autenticado possua permissão para editar o usuário em questão.
Os dados a serem atualizados devem ser enviados através de um formulário (multipart/form-data). O campo image é opcional e deve conter um arquivo de imagem.
| Campo | Tipo | Descrição |
|---|---|---|
username |
string |
Nome de usuário do usuário. |
image |
file |
(Opcional) Arquivo de imagem representando a foto de perfil do usuário. |
/register [POST]
Este endpoint permite criar um novo usuário na aplicação.
Os dados do novo usuário devem ser enviados em formato JSON no corpo da requisição.
| Campo | Tipo | Descrição |
|---|---|---|
username |
string |
Nome de usuário do usuário a ser criado. |
email |
string |
Endereço de e-mail do usuário a ser criado. |
password |
string |
Senha do usuário a ser criado. |
confirm_password |
string |
Confirmação da senha do usuário a ser criado. |
/login [POST]
Este endpoint permite autenticar um usuário na aplicação.
Os dados de login devem ser enviados em formato JSON no corpo da requisição.
| Campo | Tipo | Descrição |
|---|---|---|
email |
string |
Endereço de e-mail do usuário a ser autenticado. |
password |
string |
Senha do usuário a ser autenticado. |
Nota: Todos os endpoints desta API são acessíveis apenas por usuários autenticados, que devem enviar um token JWT válido no cabeçalho Authorization da requisição.
/wallpapers [GET]
Este endpoint permite obter uma lista de wallpapers. Os resultados podem ser paginados e filtrados por uma string de busca.
Os parâmetros de busca podem ser passados como query string.
| Campo | Tipo | Descrição |
|---|---|---|
query |
string |
(Opcional) String para busca nos campos title e description dos wallpapers. |
page |
int |
(Opcional) Página dos resultados. Começa do valor 1 e cada página contém 6 wallpapers. Valor padrão: 1. |
/user-wallpapers [GET]
Este endpoint permite obter uma lista de wallpapers criados por um usuário específico. É necessário que o usuário autenticado seja o mesmo que está sendo consultado, o payload é o mesmo para o endpoint de obter wallpapers.
/wallpaper/<int:id> [PUT]
Este endpoint permite atualizar as informações de um wallpaper existente. É necessário que o usuário autenticado seja o mesmo que criou o wallpaper em questão.
Os dados a serem atualizados devem ser enviados através de um formulário (multipart/form-data).
| Campo | Tipo | Descrição |
|---|---|---|
title |
string |
(Opcional) Título do wallpaper. |
description |
string |
(Opcional) Descrição do wallpaper. |
tags |
array de strings |
(Opcional) lista de tags relacionadas ao wallpaper |
/wallpapers [POST]
Este endpoint permite criar um novo wallpaper.
Os dados do novo wallpaper devem ser enviados através de um formulário (multipart/form-data).
| Campo | Tipo | Descrição |
|---|---|---|
title |
string |
Título do wallpaper. |
tags |
array de strings |
(Opcional) lista de tags relacionadas ao wallpaper |
description |
string |
Descrição do wallpaper. |
image |
file |
Arquivo de imagem representando o wallpaper. |
/wallpaper/<int:id> [DELETE]
Este endpoint remover um wallpaper.
ID do wallpaper