Ambiente de desenvolvimento
Status: Finalizado ✅
Siga o tutorial do seu sistema operacional (OS), mas para entender melhor como ser um bom desenvolvedor, leia e veja todos os tutoriais.
Windows
Para windows, lembre-se que você sempre vai acabar tendo que usar o kernel do linux e então vamos ter que usar WSL (Windows subsystem for linux).
Programas a instalar
Python
- Acesse o site https://www.python.org/downloads/
 - Procure pela versão 3.9.x mais recente e clique
 - Procure pelo instalador do Windows e baixe-o
 - Ao abrir, clique para instalar
 - Depois que o Python tiver instalado, adicione o seu executável à variável de ambiente 
PATH- Para achar o executável, acesse o IDLE do Python e então execute os comandos:
import syssys.executable
 - Depois copie o caminho
 - Abra as configurações do Windows e vá em Sistema
 - No menu esquerdo, clique em sobre e depois na parte direita, clique em 
Configurações avançadas de sistema - Clique em 
Variáveis de ambiente - Na sessão de variáveis de sistema, pesquise pela variável PATH e depois clique para edita-la
 - Adicione mais um caminho para A PASTA DO EXECUTAVEL
 
 - Para achar o executável, acesse o IDLE do Python e então execute os comandos:
 
Git
Caso ainda não tenha, instalar o Git
JetBrains Toolkit
Para instalar IDEs, baixar a toolbox da JetBrains
- Acesse o site https://www.jetbrains.com/toolbox-app/
 - Depois de baixar, abra o instalador. Clique em instalar e em seguida em finalizar
 - Abra o JetBrains Toolkit, pesquise por PyCharm Community e clique em instalar. Caso possua uma licença, prefira baixar a versão Pro
 
Visual Studio Code
Para edição de código, baixar o Visual Studio Code
- Acesse o site https://code.visualstudio.com/Download
 - Baixe e depois abra o instalador
 - Passe pelo instalador colocando as configurações que prefere e depois clique em finalizar
 - Abra o VS Code e instela plugins para o Python e para o Django
 
Visual Studio
- Acesse o site https://visualstudio.microsoft.com/downloads/
 - Clique para baixar a versão Community
 - Abra o instalador
 - Depois de alguns instantes irá aparecer uma janela para selecionar os "módulos" do Visual Studio. Na sessão de Desktop & Mobile, selecione o
.NET desktop developmente depois clique para instalar. 
PostgreSQL
Para bando de dados, instalar o PostgreSQL 12
- Acessar o site https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
 - Clique para baixar o de versão 12.10 do Windows x86-64
 - Depois de baixar, abra o instalador
 - Clique em 
próximoaté que pessa para criar um usuário. Coloque o nome do usuário comopostgrese a senha comoadmin. Clique em próximo até finalizar a instalação - Abra o pgAdmin
 - Insira a senha cadastrada
 - Na parte esquerda superior, clique para expandir o conteúdo de 
Servers, depois de PostgreSQL - Então clique com o botão direito em Databases, vá em 
createe depois emDatabase... - Coloque 
obraplaycomo nome do bando de dados e depois clique emSave 
Terminal do Windows
Baixar o terminal do Windows (na Microsoft Store, versão produção - não preview)
- Acesse o site https://www.microsoft.com/pt-br/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
 - Clique em 
Instalar/abrir. Será aberto um popup para abrir a loja da Microsoft, clique em sim; - Depois clique em instalar.
 
Elastic Beanstalk CLI (ED CLI)
Essa é a ferramenta que utilizamos para fazer deploy tanto do frontend quanto do backend. Se preferir, tem a possibilidade de seguir de baixar o ED CLI pelo próprio tutorial da AWS.
Pré-requisitos:
- Git instalado
 - Python igual ou superior à versão 3.7
 - Ter o 
pipxinstalado - Ter o pacote 
virtualenvinstalado 
Caso não tenha o
pipxinstalado, rode o comandopython -m pip install --user pipxno CMD. Pode rodar o comando em qualquer diretório. Depois rode o comandopython -m pipx ensurepathpara adiciona-lo ao PATH.
Para saber mais, visite o site de Dowload
Para que seja possível usar o comando pipx, será necessário fechar e abrir o CMD.
Caso não tenho o
virtualenvinstalado, rode o comandopipx install virtualenvno CMD. Pode rodar o comando em qualquer diretório, não terá diferença.
Para saber mais, visite o site de Download (utilize a instalação via pipx).
Para que seja possível usar o comando virtualenv, será necessário fechar e abrir o CMD.
Se todos os itens do pré-requisitos estiverem OK, clone o repositório de instalação do Elastic Beanstalk e rode o seu Script.
- Acessar o CMD indo na barra de pesquisa do Windows e digitando Prompt de comando
 - Rode o comando 
git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.gitpara clonar o projeto. Pode ser clonado em qualquer pasta - Depois rode o comando 
python .\aws-elastic-beanstalk-cli-setup\scripts\ebcli_installer.py 
WSL
Instalar WSL (versão 2.0)
Pacotes básicos
Instalar os pacotes básicos de dev na WSL
Setar configurações
Habilitar o modo de desenvolvedor
- Vá até as configurações do windows. Aperte o botão do Windows no teclado e digite 
Configutações - Depois clique em 
Atualização e Segurança - No menu esquerdo, vá em 
Para desenvolvedorese então habilite o modo para desenvolvedor 
Criar váriavies de ambiente
- Abra as configurações do Windows e vá em Sistema
 - No menu esquerdo, clique em sobre e depois na parte direita, clique em 
Configurações avançadas de sistema - Clique em 
Variáveis de ambiente - Na sessão de variáveis de sistema, crie as variáveis listadas abaixo utilizando o botão 
Novo- DJANGO_SETTINGS_MODULE=config.settings.local
 
 
Clonar repositórios dos projetos
Cada projeto tem o seu repositório, sendo eles:
- Frontend: https://git-codecommit.us-east-1.amazonaws.com/v1/repos/obra-play
 - API: https://git-codecommit.us-east-1.amazonaws.com/v1/repos/obraplayapi
 - Documentação: https://git-codecommit.us-east-1.amazonaws.com/v1/repos/obraplaydocs
 
Abra o Prompt de comando, navegue até a pasta onde deseja clonar o projeto*, e então o comando git clone <repositório> sendo o <repositório> a url do repositório.
*É recomendado criar uma pasta apenas para guardar os repositórios do Obraplay
Fazer migrate do banco de dados
As migrates são responsáveis por guardar as modificações feitas em um banco de dados local para que depois sejam aplicadas em outros bancos de dados. Caso o seu banco de dados esteja zerado, será necessário aplicar as migrates ao seu banco de dados local para que ele esteja com as tabelas, registros e outras coisas que são usados pelo projeto
- Abra o projeto da API utilizando o PyCharm.
 - Abra o terminal do PyCharm e digite o comando 
python manage.py migratepara que seja feito o migrate 
Configurar o Elastic Beanstalk CLI
Se preferir, tem a possibilidade de configurar o EB CLI pelo próprio tutorial da AWS.
- Acesse o CMD indo na barra de pesquisa do Windows e digite 
Prompt de comando - Rode o comando 
eb, assim abrirá o CLI do Beanstalk - Na janela do Beanstalk, digite o comando 
eb init - Depois selecione a região 
us-east-1 : US East (N. Virginia) - Insira
 
PowerShell
É recomendado que use o PowerShell como prompt de comando padrão para este projeto. Porém se você ainda não estiver habituado com essa ferramenta, pode usar outras de sua preferência como o CMD, ou o Git Bash.
Possíveis configurações no PowerShell
Pode ser que na sua máquina o PowerShell não esteja configurado como autorizado a rodar alguns scripts, por questão de segurança, isso ocasionaria um erro na hora de rodar o projeto utilizando o yarn, por exemplo.

Dê uma olhada na documentação do poweshell sobre essa questão de Políticas de Execução.
Digite o comando Get-ExecutionPolicy -List no seu terminal.
Scope ExecutionPolicy
----- ---------------
MachinePolicy       Undefined
UserPolicy             Undefined
Process                 Undefined
CurrentUser            Undefined
LocalMachine        Undefined
Se o seu output for igual a esse, então você precisa configurar as permissões.
Digite o comando Set-ExecutionPolicy -ExecutionPolicy RemoteSigned no seu terminal, ele já deve ser o suficiente para você conseguir rodar os scripts no seu PowerShell.
Configurações/Programas opcionais
- Habilitar o Hyper V para usar Docker (mais para o final do projeto quando já estivermos com a base de dados concreta)
 - Instalar Ubuntu 20.04 como distribuição linux
 - Instalar asdf (no linux) para versionamento de linguagens de programação
 
Tutoriais sobre possíveis configurações
My Development Environment Set up on Windows to use Python for Web Dev & Data Science
A beginners guide to setting up a modern web development environment on Windows 10
MacOS
Não será usado.
Linux
Claramente existem diversas distros GNU/Linux. Por isso, o padrão é usar Ubuntu. Isso se deve ao fato de
ser a distro mais usada, mais fácil de colocar em uso e também de facilitar o setup dos usuários de Windows com WSL.
A versão usada é sempre a última versão LTS (Long Term Support).
- Instalar os pacotes básicos de desenvolvimento em linux
 - Instalar docker (mais para o final do projeto quando já estivermos com a base de dados concreta)
 - Baixar a toolbox da JetBrains para instalar IDEs
 - Baixar o VS Code
 - Instalar asdf (no linux) para versionamento de linguagens de programação
 - Instalar PostgreSQL