Skip to content

Repository files navigation

API de Citações do Sasuke

Uma API RESTful para gerenciar e recuperar citações de Sasuke Uchiha, o melhor personagem do anime Naruto!

Sasuke Uchiha

Funcionalidades

  • 🔄 Obter citações aleatórias do Sasuke
  • 📝 Visualizar todas as citações disponíveis
  • 🔍 Pesquisar citações por palavra-chave
  • 🏷️ Filtrar citações por categoria (Genin, Shippuden, etc.)
  • 📚 Informações de contexto e fonte para cada citação
  • ➕ Adicionar novas citações (com autenticação)
  • 🗑️ Excluir citações (com autenticação)
  • ⭐ Sistema de citações favoritas
  • 🌙 Modo escuro/claro com tema Uchiha
  • 🔒 Rotas protegidas com autenticação por token

Instalação

Usando Docker (Recomendado)

# Clone o repositório
git clone https://github.com/Augusto240/sasukeAPI.git
cd sasukeAPI
# Construa e inicie o contêiner
docker-compose up --build

Instalação Manual

# Clone o repositório
git clone https://github.com/Augusto240/sasukeAPI.git
cd sasukeAPI
# Crie um ambiente virtual
python -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate# Instale as dependências
pip install -r requirements.txt
# Execute a aplicação
python app.py

Endpoints da API

MétodoEndpointDescriçãoAutenticação
GET/sasuke/quoteObter uma citação aleatóriaNão
GET/sasuke/quotesObter todas as citaçõesNão
GET/sasuke/quote/:idObter uma citação específica por IDNão
GET/sasuke/search?q=termoPesquisar citações contendo o termoNão
GET/sasuke/quotes/category/:catFiltrar citações por categoriaNão
GET/sasuke/categoriesListar todas as categorias disponíveisNão
GET/sasuke/favoritesListar todas as citações favoritasNão
POST/sasuke/favorites/:idAdicionar uma citação aos favoritosSim
DELETE/sasuke/favorites/:idRemover uma citação dos favoritosSim
POST/sasuke/quotesAdicionar uma nova citaçãoSim
PUT/sasuke/quote/:idAtualizar uma citação existenteSim
DELETE/sasuke/quote/:idExcluir uma citaçãoSim

Exemplos de Uso

Obter uma Citação Aleatória

curl -X GET http://localhost:5000/sasuke/quote

Resposta:

{
"id": 3,
"quote": "Eu tenho um irmão... que eu preciso matar!",
"context": "Sobre sua ambição de vingança",
"source": "Episódio 3 (Naruto Clássico)",
"category": "Genin"
}

Obter Todas as Citações

curl -X GET http://localhost:5000/sasuke/quotes

Pesquisar Citações

curl -X GET http://localhost:5000/sasuke/search?q=vingança

Filtrar por Categoria

curl -X GET http://localhost:5000/sasuke/quotes/category/Shippuden

Adicionar uma Nova Citação (Requer Autenticação)

curl -X POST http://localhost:5000/sasuke/quotes \
-H "Authorization: Bearer sasuke_api_token" \
-H "Content-Type: application/json" \
-d '{ "quote": "Sua nova citação do Sasuke",  "context": "Contexto da citação", "source": "Episódio X", "category": "Shippuden" }'

Autenticação

Endpoints protegidos requerem um token Bearer no cabeçalho Authorization:

Authorization: Bearer sasuke_api_token

O token da API pode ser definido usando a variável de ambiente API_TOKEN.

Interface Web

A API inclui uma interface web simples e elegante que permite:

  • Visualizar citações aleatórias do Sasuke
  • Filtrar citações por categoria
  • Alternar entre modo claro e escuro
  • Ver a documentação da API

Acesse a interface web navegando para http://localhost:5000/ após iniciar o servidor.

Configuração

A configuração é gerenciada por variáveis de ambiente:

VariávelDescriçãoPadrão
DEBUGAtivar modo de depuraçãoTrue
SECRET_KEYChave secreta do Flasksasuke_uchiha_secret
API_TOKENToken para endpoints protegidossasuke_api_token
PORTPorta em que o servidor executa5000

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch para sua funcionalidade: git checkout -b minha-funcionalidade
  3. Faça commit das suas alterações: git commit -m 'Adiciona nova funcionalidade'
  4. Envie para o branch: git push origin minha-funcionalidade
  5. Abra um Pull Request

About

Uma API RESTful em Python para gerenciar e recuperar citações de Sasuke Uchiha, o melhor personagem do anime Naruto!

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages