Olá, este é um projeto open source para compartilhar links de animes de maneira fácil e rápida, sinta-se à vontade para contribuir com o projeto.
🚀 Novo aqui? Veja o Guia Rápido (QUICKSTART.md) para começar em 5 minutos!
- QUICKSTART.md - Guia rápido para começar
- TESTING.md - Guia completo de testes e exemplos
- Wiki - Documentação detalhada
- Docker e Docker Compose
- PHP 8.2 ou superior (para desenvolvimento local)
- Composer (para desenvolvimento local)
# Clone o repositório
git clone https://github.com/yzPeedro/SugoiAPI.git sugoiapi
# Entre no diretório
cd sugoiapi
# Suba os containers
docker compose up -dA API estará disponível em: http://localhost:1010
O projeto inclui um Makefile com comandos úteis:
# Ver todos os comandos disponíveis
make help
# Iniciar ambiente
make up
# Executar testes
make test
# Testar API
make api-test# Clone o repositório
git clone https://github.com/yzPeedro/SugoiAPI.git sugoiapi
cd sugoiapi
# Instale as dependências
composer install
# Inicie o servidor de desenvolvimento
php -S localhost:1010 -t public/GET /episode/{anime-slug}/{temporada}/{numero-episodio}
Parâmetros:
anime-slug(string): slug do anime (ex: "naruto", "one-piece")temporada(int): número da temporadanumero-episodio(int): número do episódio
Exemplo de Requisição:
curl http://localhost:1010/episode/naruto/1/1{
"error": false,
"message": "Success",
"status": 200,
"data": [
{
"name": "Anime Fire",
"slug": "anime-fire",
"has_ads": false,
"is_embed": false,
"episodes": [
{
"error": false,
"searched_endpoint": "https://animefire.plus/video/naruto/1",
"episode": "https://lightspeedst.net/s3/mp4/naruto/sd/1.mp4"
}
]
}
]
}{
"error": true,
"message": "Not Found",
"status": 404
}| Código | Status | Descrição |
|---|---|---|
| 200 | OK | Episódio encontrado com sucesso |
| 404 | Not Found | Episódio não encontrado |
O projeto utiliza PHPUnit para testes automatizados.
# Com Composer
composer test
# Ou diretamente com PHPUnit
./vendor/bin/phpunit
# Com o binário do projeto
php bin/phpunit# Testar apenas providers
./vendor/bin/phpunit tests/Unit/Providers
# Testar um arquivo específico
./vendor/bin/phpunit tests/Unit/Support/ResponseSupportTest.php
# Executar um teste específico
./vendor/bin/phpunit --filter testProvidersMustImplementsAllRequiredInterfaces# Gerar relatório de cobertura HTML
./vendor/bin/phpunit --coverage-html coverage/tests/
├── Unit/
│ ├── Providers/ # Testes dos providers
│ │ └── ProviderTest.php
│ ├── Support/ # Testes das classes de suporte
│ │ └── ResponseSupportTest.php
│ └── Traits/ # Testes dos traits
│ └── HandleProvidersTest.php
└── bootstrap.php
# Com curl
curl http://localhost:1010/episode/naruto/1/1
# Com HTTPie (se tiver instalado)
http GET http://localhost:1010/episode/naruto/1/1<?php
// test-api.php
$url = 'http://localhost:1010/episode/naruto/1/1';
$response = file_get_contents($url);
$data = json_decode($response, true);
echo "Status: " . ($data['error'] ? 'Erro' : 'Sucesso') . "\n";
echo "Message: " . $data['message'] . "\n";php test-api.php# Entrar no container
docker compose exec app bash
# Rodar os testes dentro do container
php bin/phpunit# Verificar problemas de estilo
./vendor/bin/php-cs-fixer fix --dry-run --diff
# Corrigir automaticamente
./vendor/bin/php-cs-fixer fixsrc/
├── Actions/ # Actions e serializadores
├── Command/ # Comandos do console
├── Controller/ # Controllers da API
├── EventListeners/ # Event listeners
├── Exceptions/ # Exceções customizadas
├── Providers/ # Implementações dos providers
│ └── Contracts/ # Interfaces dos providers
├── Services/ # Serviços da aplicação
└── Support/ # Classes de suporte
Providers são os provedores dos links de animes. Cada provider possui regras específicas de busca.
Providers Disponíveis:
- Anime Fire
- Animes Online CC
- Superflix
Para consultar regras específicas de cada provider, acesse a documentação de providers.
# Usar o comando CLI
php bin/console app:create-provider NomeDoProviderIsso criará um novo provider em src/Providers/ com a estrutura necessária.
# Limpar cache
php bin/console cache:clear
# Ver rotas disponíveis
php bin/console debug:router
# Criar novo provider
php bin/console app:create-provider NomeDoProviderAs configurações principais estão em:
config/services.yaml- Serviçosconfig/routes.yaml- Rotasconfig/packages/- Configurações de pacotes
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Para mais detalhes, consulte a documentação de contribuição.
- Código segue os padrões PSR-12
- Testes foram adicionados/atualizados
- Todos os testes passam (
./vendor/bin/phpunit) - Código foi verificado com PHP CS Fixer
- Documentação foi atualizada se necessário
Este projeto não tem o intuito de incentivar a pirataria. O projeto foi criado com o intuito de facilitar o acesso a animes de maneira gratuita. Caso você goste do anime, por favor considere apoiar o criador comprando o produto original.
Este projeto não hospeda nenhum conteúdo, apenas redireciona para sites de terceiros. Caso você seja o dono de algum dos links e deseja removê-lo, por favor entre em contato através do email: pedrocruzpessoa16@gmail.com
Este projeto é proprietário. Para mais informações sobre uso comercial ou em outros projetos, entre em contato: pedrocruzpessoa16@gmail.com
- Email: pedrocruzpessoa16@gmail.com
- Assunto sugerido: "SugoiAPI"
Adoraria conhecer projetos que utilizam esta API! 😊