Flix API é um projeto desenvolvido com Django que fornece uma API para gerenciar informações sobre filmes, gêneros, atores e avaliações. O objetivo deste projeto é oferecer um backend robusto e funcional para um sistema de gerenciamento de filmes.
O projeto é organizado da seguinte forma:
- manage.py: Script para gerenciar comandos administrativos do Django.
- db.sqlite3: Banco de dados SQLite contendo os dados do sistema.
- app: Diretório principal do projeto.
- genres, movies, actors, authentication, reviews: Aplicações Django individuais para gerenciar diferentes aspectos do sistema.
- requirements.txt e requirements_dev.txt: Arquivos para gerenciar dependências do ambiente de produção e desenvolvimento.
- movies.csv e actors.csv: Dados de exemplo para importação.
Certifique-se de ter instalado:
- Python 3.8 ou superior
- Virtualenv
- Git
-
Clone o repositório:
git clone https://github.com/FelipeAngeli/flix_api.git cd flix_api
-
Crie e ative um ambiente virtual:
python3 -m venv venv source venv/bin/activate # No Windows: venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Configure o banco de dados e aplique as migrações:
python manage.py makemigrations python manage.py migrate
-
Popule o banco de dados com os arquivos CSV, se necessário:
python manage.py loaddata actors.csv movies.csv
-
Inicie o servidor de desenvolvimento:
python manage.py runserver
O servidor estará disponível em http://127.0.0.1:8000/
.
A API oferece os seguintes recursos:
- Filmes:
- Listar, criar, atualizar e deletar filmes.
- Gêneros:
- Listar gêneros disponíveis.
- Atores:
- Listar e gerenciar informações de atores.
- Autenticação:
- Gerenciamento de usuários e autenticação via JWT.
- Avaliações:
- Criar e listar avaliações para filmes.
GET /api/movies/
Resposta:
[
{
"id": 1,
"title": "O Poderoso Chefão",
"genre": "Crime",
"release_date": "1972-03-14",
"actors": ["Marlon Brando", "Al Pacino"]
}
]
Para executar os testes do projeto:
-
Instale as dependências de desenvolvimento:
pip install -r requirements_dev.txt
-
Execute os testes:
python manage.py test
Contribuições são bem-vindas! Siga estas etapas:
- Faça um fork do projeto.
- Crie uma branch para sua feature:
git checkout -b minha-feature
- Faça commit das suas alterações.
- Envie um pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.