diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 76b94f0..4b98b87 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -20,14 +20,15 @@ pacotes `Poetry `_. Se atente em instalar as versões corretas do Python e do Poetry, pois não há garantias de que o projeto funcionará em versões diferentes. -Docker -~~~~~~ +Docker e Docker Compose +~~~~~~~~~~~~~~~~~~~~~~~ -O projeto usa Docker para facilitar a instalação e execução do projeto. Nós -**recomendamos fortemente** que você use Docker para rodar o projeto, pois -isso facilitará a instalação e execução do projeto. Para instalar o Docker, -siga as instruções do -`site oficial `_. +O projeto usa Docker e Docker Compose para facilitar a instalação e execução do +projeto. Nós **recomendamos fortemente** que você use Docker para rodar o +projeto, pois isso facilitará a instalação e execução do projeto. Para instalar +o Docker, siga as instruções do +`Docker `_ e do +`Docker Compose `_. Instalação ---------- @@ -35,16 +36,84 @@ Instalação Assumindo que você tenha instalado o Python, o Poetry e o Docker, você pode instalar o projeto com os seguintes comandos: + .. code-block:: bash + # Clonando o repositório do projeto: git clone https://github.com/unb-mds/2023-2-Squad06.git + # Entrando na pasta do projeto: + cd 2023-2-Squad06 + +Tendo feito isso, instale as dependências do projeto com o Poetry: + +.. code-block:: bash + + poetry install + # Caso você precise das dependências de documentação, use: + poetry install --with docs + +Crie o arquivo de ambiente usando o script do próprio projeto: + +.. code-block:: bash + + poetry run ./bin/create_env + +Por fim, rode o projeto com o Docker: + +.. code-block:: bash + + docker compose build + docker compose up -d + +O site estará disponível em ``http://localhost:8000``. Entretanto, é necessário +rodar as migrações do banco de dados para que o site funcione corretamente. +Você pode fazer isso com o seguinte comando: + +.. code-block:: bash + # Isso criará um container temporário que executará as migrações. + docker compose run --rm web python manage.py migrate -.. code-block:: python - :emphasize-lines: 2 - :linenos: - :caption: Code block caption. - print("Don't highlight this") - print("But this!") - print("And this is unimportant again") +Desenvolvimento Local +--------------------- + +Git Hooks +~~~~~~~~~ + +Para desenvolver o projeto, recomendamos usar as ferramentas de desenvolvimento +do projeto. A primeira ferramenta são os Git hooks, que são scripts que são +executados automaticamente quando você executa certos comandos do Git. Para +instalar os Git hooks, use o seguinte comando: + +.. code-block:: bash + + poetry run pre-commit install \ + --hook-type pre-commit \ + --hook-type pre-push \ + --hook-type commit-msg + + +É importante instalar os Git hooks para que seu código seja formatado +da maneira correta e para que os testes sejam executados antes de cada +commit. Caso você não queira instalar os Git hooks, você pode pular essa +etapa, mas é importante que você execute os testes e formate seu código +manualmente antes de cada commit, caso contrário seu commit será rejeitado +pelo CI (GitHub Actions). + +Django +~~~~~~ + +Quando você rodar o projeto, você talvez precisará criar um superusuário para +acessar o painel de administração do Django. Para criar um superusuário, use o +seguinte comando: + +.. code-block:: bash + + docker compose run --rm web python manage.py createsuperuser + +E para criar migrações do banco de dados, use o seguinte comando: + +.. code-block:: bash + + docker compose run --rm web python manage.py makemigrations