Backend da aplicação StudioInk, desenvolvido com Django REST Framework.
- Python 3.13.7: Gerenciado via pyenv.
- Poetry: Para gerenciamento de dependências e tarefas install.
- Docker e Docker Compose: Para subir o ambiente completo (banco, Redis, RabbitMQ).
- VS Code: Recomendado para desenvolvimento, com o workspace configurado.
Clone o repositório:
git clone https://github.com/F3-Organization/studioink-backend.git
cd studioink-backendInstale a versão do Python especificada:
pyenv install 3.13.7
pyenv local 3.13.7Instale as dependências:
poetry installIsso criará um ambiente virtual e instalará todas as dependências (produção e desenvolvimento).
Copie o arquivo de exemplo e configure as variáveis:
cp .env.example .envEdite .env com suas configurações (ex.: chaves de API, senhas do banco).
Build e suba todos os serviços (API, banco PostgreSQL, Redis, RabbitMQ):
poetry run poe upOu diretamente:
docker compose up --buildA API estará disponível em http://localhost:8000.
Para parar:
poetry run poe downSe preferir rodar apenas a API localmente (banco e serviços externos via Docker):
Suba apenas os serviços externos:
docker compose up db redis rabbitmqAtive o ambiente virtual e rode o servidor Django:
poetry shell
python manage.py migrate
python manage.py runserverO projeto usa Poe the Poet para tarefas personalizadas. Execute com poetry run poe <comando>.
poetry run poe up: Sobe todos os serviços.poetry run poe down: Para os serviços.poetry run poe build: Build das imagens.poetry run poe logs: Visualiza logs.poetry run poe restart: Reinicia serviços.poetry run poe clean: Limpa sistema Docker.
poetry run poe migrate: Aplica migrações.poetry run poe makemigrations: Cria migrações.poetry run poe shell: Abre shell Django.poetry run poe bash: Abre bash no container da API.poetry run poe createsuperuser: Cria superusuário.
poetry run pytest: Roda testes.poetry run black .: Formata código.poetry run isort .: Organiza imports.poetry run ruff check .: Linting.poetry run mypy .: Type checking.
Abra o workspace:
code studioink.code-workspaceO workspace já está configurado com:
- Formatação automática ao salvar (Black, isort, Ruff).
- Linting habilitado.
- Testes com pytest.
- Interpretador Python apontando para o venv do Poetry.
src/: Código fonte da aplicação Django.docker-compose.yaml: Configuração dos serviços.Dockerfile: Imagem da API..env.example: Exemplo de variáveis de ambiente.pyproject.toml: Configurações Poetry, dependências e tarefas.
- Instale pre-commit hooks:
poetry run pre-commit install. - Siga conventional commits para mensagens.
- Rode testes e linting antes de commitar.
Proprietary