victorgoveia /
flix_api
API REST completa feita em Python e Django Rest Framework. A API possui versionamento e autenticação com JWT.
27/100 healthLoading repository data…
Kauanrodrigues01 / repository
Flix API é uma API RESTful desenvolvida com Django REST Framework para gerenciar um catálogo de filmes. A API permite cadastrar, buscar, filtrar e avaliar filmes, além de contar com autenticação de usuários e documentação interativa.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Uma API REST completa para gerenciamento de filmes, atores, gêneros e avaliações, desenvolvida com Django REST Framework.
A Flix API é uma aplicação web que oferece um sistema completo para catalogação e avaliação de filmes. A API permite o gerenciamento de:
Selected from shared topics, language and repository description—not editorial ratings.
victorgoveia /
API REST completa feita em Python e Django Rest Framework. A API possui versionamento e autenticação com JWT.
27/100 health| Método | Endpoint | Descrição |
|---|---|---|
GET/POST | /api/v1/actors/ | Listar/Criar atores |
GET/PUT/DELETE | /api/v1/actors/{id}/ | Detalhar/Atualizar/Excluir ator |
GET/POST | /api/v1/movies/ | Listar/Criar filmes |
GET/PUT/DELETE | /api/v1/movies/{id}/ | Detalhar/Atualizar/Excluir filme |
GET | /api/v1/movies/stats/ | Estatísticas de filmes |
GET/POST | /api/v1/genres/ | Listar/Criar gêneros |
GET/PUT/DELETE | /api/v1/genres/{id}/ | Detalhar/Atualizar/Excluir gênero |
GET/POST | /api/v1/reviews/ | Listar/Criar avaliações |
GET/PUT/DELETE | /api/v1/reviews/{id}/ | Detalhar/Atualizar/Excluir avaliação |
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/token/ | Obter token de acesso |
POST | /api/token/refresh/ | Renovar token |
POST | /api/token/verify/ | Verificar token |
POST | /api/token/blacklist/ | Invalidar token |
POST | /api/users/ | Registrar usuário |
git clone https://github.com/Kauanrodrigues01/flix-api.git
cd flix-api
cp .env.example .env
docker-compose up --build
A API estará disponível em http://localhost:8000
git clone https://github.com/Kauanrodrigues01/flix-api.git
cd flix-api
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Para importar atores a partir do arquivo CSV:
python manage.py import_actors actors.csv
A documentação interativa da API está disponível em:
http://localhost:8000/swagger/http://localhost:8000/admin/Crie um arquivo .env baseado no .env.example:
# Django Settings
SECRET_KEY='sua-chave-secreta-aqui'
DEBUG=True
ALLOWED_HOSTS=*
LANGUAGE_CODE='pt-br'
TIME_ZONE='America/Fortaleza'
# Database
DATABASE_URL=postgresql://usuario:senha@localhost:5432/flixdb
# JWT Settings
ACCESS_TOKEN_LIFETIME_SECONDS=3600
REFRESH_TOKEN_LIFETIME_SECONDS=7200
curl -X POST http://localhost:8000/api/users/ \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@email.com",
"full_name": "Nome do Usuário",
"password": "senhaSegura123"
}'
curl -X POST http://localhost:8000/api/token/ \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@email.com",
"password": "senhaSegura123"
}'
curl -X POST http://localhost:8000/api/v1/movies/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"title": "Vingadores: Ultimato",
"genre": "uuid-do-genero",
"release_date": "2019-04-26",
"resume": "Os heróis mais poderosos da Terra...",
"actors": ["uuid-ator-1", "uuid-ator-2"]
}'
# Por gênero
curl "http://localhost:8000/api/v1/movies/?genre=uuid-do-genero"
# Por ano
curl "http://localhost:8000/api/v1/movies/?release_year=2019"
# Por ator
curl "http://localhost:8000/api/v1/movies/?actors=uuid-do-ator"
python manage.py test
flake8
flix-api/
├── accounts/ # Autenticação e usuários
├── actors/ # Gestão de atores
├── genres/ # Gestão de gêneros
├── movies/ # Gestão de filmes
├── reviews/ # Sistema de avaliações
├── utils/ # Utilitários (paginação)
├── app/ # Configurações principais
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
└── manage.py
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Kauan Rodrigues Lima