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