Este projeto implementa uma API RESTful para um sistema de gerenciamento de receitas, construída utilizando Django REST Framework. A API oferece operações completas de CRUD para receitas e tags, além de diversas funcionalidades adicionais para garantir uma experiência robusta e eficiente.
- CRUD Completo: Crie, leia, atualize e exclua receitas e tags com facilidade.
- Paginação Eficiente: Navegue através de grandes conjuntos de dados de forma rápida e organizada.
- Validações Personalizadas: Garanta a integridade dos dados com validações específicas para receitas.
- Manipulação de Imagens: Redimensionamento automático de imagens para garantir uniformidade.
- Relacionamento entre Modelos: Relacione receitas com categorias e tags, oferecendo uma estrutura organizada e flexível.
-
Receitas:
GET /recipes/
- Lista todas as receitas publicadas.POST /recipes/
- Cria uma nova receita.GET /recipes/{id}/
- Recupera detalhes de uma receita específica.PATCH /recipes/{id}/
- Atualiza parcialmente uma receita.DELETE /recipes/{id}/
- Exclui uma receita.
-
Tags:
GET /tags/
- Lista todas as tags.DELETE /tags/{id}/
- Exclui uma tag específica.
- Django
- Django REST Framework
Siga estas etapas para configurar o projeto localmente:
-
Clone o repositório
git clone https://github.com/usuario/nome-do-repositorio.git
-
Navegue até o diretório do projeto
cd nome-do-repositorio
-
Crie e ative um ambiente virtual
Para Windows:
python -m venv venv .\venv\Scripts\activate
Para macOS e Linux:
python3 -m venv venv source venv/bin/activate
-
Instale as dependências
pip install -r requirements.txt
-
Configure as variáveis de ambiente
-
Instale o
python-dotenv
se ele não tiver sido instalado do arquivorequirements.txt
, para gerenciar variáveis de ambiente a partir de um arquivo.env
:pip install python-dotenv
-
Crie um arquivo
.env
na raiz do projeto e adicione as seguintes variáveis (ajuste os valores conforme necessário):DEBUG=True SECRET_KEY=sua_chave_secreta DATABASE_URL=postgres://usuario:senha@localhost:5432/nome_do_banco
-
Certifique-se de que o arquivo
.env
está listado no.gitignore
para não ser commitado no repositório.Exemplo de entrada no
.gitignore
:.env
-
Para carregar variáveis do
.env
em seu projeto Django, adicione o seguinte código no início do seusettings.py
:from dotenv import load_dotenv import os load_dotenv() SECRET_KEY = str(os.getenv('SECRET_KEY')) DEBUG = str(os.getenv('DEBUG'))
-
-
Gerar uma Nova
SECRET_KEY
Para gerar uma nova
SECRET_KEY
, execute o seguinte comando no terminal:python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
Copie a saída e adicione ao arquivo
.env
como o valor paraSECRET_KEY
. -
Execute as migrações do banco de dados
python manage.py makemigrations
python manage.py migrate
-
Crie um superusuário (opcional, para acessar o painel de administração)
python manage.py createsuperuser
-
Inicie o servidor de desenvolvimento
python manage.py runserver
O projeto da API estará disponível em
http://127.0.0.1:8000/recipes/api/v2/
O projeto de templates estará disponível em
http://127.0.0.1:8000/
.