https://github.com/augusto240/sasukeapi
Uma API RESTful em Python para gerenciar e recuperar citações de Sasuke Uchiha, o melhor personagem do anime Naruto!
https://github.com/augusto240/sasukeapi
api flask-api naruto python sasuke
Last synced: 4 months ago
JSON representation
Uma API RESTful em Python para gerenciar e recuperar citações de Sasuke Uchiha, o melhor personagem do anime Naruto!
- Host: GitHub
- URL: https://github.com/augusto240/sasukeapi
- Owner: Augusto240
- License: mit
- Created: 2025-07-17T14:56:08.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T21:05:58.000Z (11 months ago)
- Last Synced: 2025-08-15T20:17:45.752Z (10 months ago)
- Topics: api, flask-api, naruto, python, sasuke
- Language: Python
- Homepage: https://sasuke-api.vercel.app
- Size: 627 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API de Citações do Sasuke
Uma API RESTful para gerenciar e recuperar citações de Sasuke Uchiha, o melhor personagem do anime Naruto!

## 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)
```bash
# 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
```bash
# 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étodo | Endpoint | Descrição | Autenticação |
|--------|-------------------------------|----------------------------------------|--------------|
| GET | /sasuke/quote | Obter uma citação aleatória | Não |
| GET | /sasuke/quotes | Obter todas as citações | Não |
| GET | /sasuke/quote/:id | Obter uma citação específica por ID | Não |
| GET | /sasuke/search?q=termo | Pesquisar citações contendo o termo | Não |
| GET | /sasuke/quotes/category/:cat | Filtrar citações por categoria | Não |
| GET | /sasuke/categories | Listar todas as categorias disponíveis | Não |
| GET | /sasuke/favorites | Listar todas as citações favoritas | Não |
| POST | /sasuke/favorites/:id | Adicionar uma citação aos favoritos | Sim |
| DELETE | /sasuke/favorites/:id | Remover uma citação dos favoritos | Sim |
| POST | /sasuke/quotes | Adicionar uma nova citação | Sim |
| PUT | /sasuke/quote/:id | Atualizar uma citação existente | Sim |
| DELETE | /sasuke/quote/:id | Excluir uma citação | Sim |
## Exemplos de Uso
### Obter uma Citação Aleatória
```bash
curl -X GET http://localhost:5000/sasuke/quote
```
Resposta:
```json
{
"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
```bash
curl -X GET http://localhost:5000/sasuke/quotes
```
### Pesquisar Citações
```bash
curl -X GET http://localhost:5000/sasuke/search?q=vingança
```
### Filtrar por Categoria
```bash
curl -X GET http://localhost:5000/sasuke/quotes/category/Shippuden
```
### Adicionar uma Nova Citação (Requer Autenticação)
```bash
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ável | Descrição | Padrão |
|---------------------|----------------------------------|-----------------------------|
| DEBUG | Ativar modo de depuração | True |
| SECRET_KEY | Chave secreta do Flask | sasuke_uchiha_secret |
| API_TOKEN | Token para endpoints protegidos | sasuke_api_token |
| PORT | Porta em que o servidor executa | 5000 |
## 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