Certifique-se de que as dependências de desenvolvimento Python estejam instaladas:
sudo apt-get install build-essential python3-dev libpq-dev
Instale a ferramenta cross-env globalmente:
npm install --global cross-env
Recomendamos o uso de um ambiente virtual para isolar as dependências do projeto. Para configurar um ambiente virtual, execute os seguintes comandos: (https://docs.python.org/3/library/venv.html)
python3 -m virtualenv venv
source venv/bin/activate
Com o ambiente virtual ativado, instale as dependências do projeto:
pip install -r requirements.txt
pip install -r requirements-dev.txt
Verifique as variáveis de ambiente necessárias no arquivo .env.example e crie um arquivo chamado .env na raiz do projeto para configurá-las. As informações podem ser obtidas no Portainer.
Nota: Não compartilhe informações sensíveis publicamente.
Para executar o projeto localmente, são necessários dois terminais.
Terminal 1: Inicie o servidor Django para renderizar as páginas:
python manage.py runserver
Terminal 2: S Inicie o script Node.js responsável por compilar o TailwindCSS. Certifique-se de usar a versão 18 do Node:
nvm use 18
cd theme/
npm i
npm run dev
Acesse o projeto em http://127.0.0.1:8000/
Utilizamos a plataforma Moodle para realizar a capacitação das voluntárias (psicólogas e advogadas). As orientações sobre modificações na plataforma estão nessa documentação.
Execute o seguinte comando para formatar todos os arquivos .py:
black . --extend-exclude="/(theme|cypress|\.github|moodle-training|deploy|migrations)/"
Execute o seguinte comando para realizar a análise estática dos arquivos .py:
pylint --load-plugins pylint_django --django-settings-module=project.settings --rcfile=.pylintrc $(git ls-files '*.py')
Antes de publicar alterações nos bancos de STG ou PROD, altere a variável de ambiente DATABASE_URL para a URI do seu banco local.
Ao fazer alterações nos arquivos models do seu aplicativo, crie uma migração para registrar essas alterações:
python manage.py makemigrations --name [nome da sua migration]
Após rodar esse comando, um arquivo será gerado dentro da pasta [app name]/migrations
.
Em seguida, aplique as alterações no banco de dados:
python manage.py migrate