Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Configurações do Projeto
Descrição
Esta seção apresentará todas as configurações para executar o projeto.
Sumário
Configurações Gerais
Aqui serão encontradas as instruções de configuração de ambos ambientes de desenvolvimento.
Clonando os Repositórios
Backend:
Para clonar o repositório do backend em seu computador basta executar um dos comandos abaixo:
Via HTTP:
https://tools.ages.pucrs.br/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-backend.git
Via SSH:
ssh://[email protected]:8822/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-backend.git
Frontend:
Para clonar o repositório do frontend em seu computador basta executar um dos comandos abaixo:
Via HTTP:
https://tools.ages.pucrs.br/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-mobile.git
Via SSH:
ssh://[email protected]:8822/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-mobile.git
Admin:
Para clonar o repositório do Admin em seu computador basta executar um dos comandos abaixo:
Via HTTP:
https://tools.ages.pucrs.br/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-admin.git
Via SSH:
ssh://[email protected]:8822/orientacao-bucal-no-envelhecimento/orientacao-bucal-no-envelhecimento-admin.git
Backend
Configurando a Máquina
Java SE Development Kit 11
Necessário para rodar o projeto backend pode ser instalado pelo site oficial ou dentro do Intellij
Maven
Necessário para a instalação dos pacotes do projeto pode ser instalado pelo site oficial porem ele já vem integrado no Intellij
Docker e Docker Compose
Não é obrigatorio para rodar o projeto mais auxilia a rodar o banco de dados. Os container docker levantam aplicação com apenas 1 comando. Tutorial de instação docker e docker compose
Postgres
A aplicação utiliza o banco relacional postgres ele pode ser levando a partir do docker-compose.yml na pasta do projeto.
docker-compose up
Caso desejar também pode instalar o postgres recomendasse utilizar a porta padrão 5432.
Compilando e Executando
Na raiz do projeto execute
./mvnw spring-boot:run
O comando ira baixar as dependências do Springboot e inicializar a aplicação
Frontend
Configurando a Máquina
NVM
Uma tecnologia interessante de se ter para gerenciar várias versões do node sem grande estresse.
Instruções de como instalar podem ser encontradas aqui:
É sempre bom verificar se a instalação foi concluida com sucesso, logo use o seguinte comando para realizar a verificação.
nvm --version
Node e NPM
Através dos comandos abaixo é possível instalar o node:
nvm install --lts
ou
nvm install <versao-desejada>
Verifique se a instalação foi concluida com sucesso com o comando:
node -v
e
npm -v
Utilizamos o npm
para instalar as dependências do projeto e rodar outros comandos importantes.
Expo
O download do Expo é feito utilizando o NPM (Node Package Manager) que é instalado junto com o Node.
O seguinte comando instala globalmente o cliente:
npm install -g expo-cli eas-cli
Para verificar se o Expo foi instalado execute o comando
expo --version
JetBrains Toolbox e Android Studio
O JetBrains Toolbox facilita a instalação do Android Studio e suas dependências.
O JetBrains Toolbox também simplifica o processo de encontrar onde estão os arquivos instalados. Abrindo a aplicação, nas configurações do Android Studio, mais abaixo na aba de configuração, está indicado o caminho da pasta.
IDE
Para o desenvolvimento do código e fácil controle de versionamento (GitLab) sugerimos a instalação do Visual Studio Code. O mesmo além de ser uma ótima ferramenta para desenvolvimento conta com extensões que serão essenciais para padronização do código.
Depois de instalar o Visual Studio Code, acesse sua aba de extensões e instale as seguintes: ESLint e Prettier para identificar padrões e formatar o código, mantendo a consistência.
Executando
Admin
A aplicação foi criada através do uso do CRA.
Antes de começar a desenvolver, instalar as dependências do projeto, executando o comando:
npm install
Para iniciar o servidor de desenvolvimento, executar o comando:
npm start
Aplicação Mobile
A aplicação foi criada através do uso do cliente do Expo.
Antes de começar a desenvolver, instalar as dependências do projeto, executando o comando:
npm install
Para iniciar o servidor de desenvolvimento, executar o comando:
npm start
Para visualizar as telas é possível escolher uma das seguintes maneiras:
Celular
A maneira mais simples é utilizando um celular (seja iOS ou Android).
Primeiro é necessário fazer o download do aplicativo do Expo para Android ou para iOS.
Depois de instalar o aplicativo acesse as ferramentas de desenvolvimento no endereço indicado no terminal e escaneie o QR code. Caso o celular esteja conectado em uma rede diferente do computador selecione a opção Tunnel nas ferramentas de desenvolvimento.
Com o Expo também da para abrir direto caso o celular esteja conectado por USB:
Emulador
Caso você não tenha um Smartphones disponíveis para o desenvolvimento e opte por usar o emulador, existem diferenças entre MacOS e Windows/Linux.
MacOS
Para o emular um dispositivo no MacOS acesse o local do programa Xcode, clique com o botão direito e siga os seguintes passos:
Show Package Contents -> Contents -> Developer -> Applications -> Simulator
Recomendo arrastar o Simulator para o seu Dock para fácil acesso.
Depois de iniciar o Simulator acesse as ferramentas de desenvolvimento no endereço indicado no terminal e selecione a opção Run on iOS Simualtor.
Windows
Abra o Android Studio e siga os seguintes passos:
Configure -> AVD Manager -> Create Virtual Device -> Phone -> Pixel 2 (recomendado) -> Next
Fazer download do release que deseja utilizar (recomendo o "R") e clique em "Next".
Clique em "Finish".
Para executar o simulador clique no simbolo de "Play" ao lado esquerdo dele.
Depois de iniciar o simulador acesse as ferramentas de desenvolvimento no endereço indicado no terminal e selecione a opção Run on Android device/emulator.
Deploy do Aplicativo
Para fazer o deploy do aplicativo é necessário ter uma conta expo e realizar o login interativo via CLI com o comando:
expo login
Em seguida execute o seguinte comando para configurar o build tanto para iOS quanto Android:
eas build:configure
Android
Após feita a configuração através do comando anterior, ao executar o comando:
eas build --platform android
Irá gerar um arquivo *.aab
que é o executável pronto para publicar na Play Store. Neste projeto o que queremos é um arquivo com extensão *.apk
para gerarmos o QRCode e compartilharmos nas apresentações, logo podemos adicionar uma nova configuração de build ao arquivo gerado pelo eas. Temos como exemplo o arquivo abaixo:
{
"cli": {
"version": ">= 0.49.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"preview-android": {
"distribution": "internal",
"android": {
"buildType": "apk"
}
},
"production": {}
},
"submit": {
"production": {}
}
}
Onde adicionamos o preview-android que ira gerar o arquivo necessário para instalar e testar sem a necessidade de publicar na Play Store. Agora é só rodar o comando para gerar a *.apk
:
eas build -p android --profile preview-android
Para criar o QRCode é só copiar o link da localização do arquivo e usar um site que faça QRCodes personalizados e está tudo pronto para compartilhar. Temos um exemplo no nosso guia de intalação.
Implantação
Criar uma instancia da amazon EC2. Material para criar um cluster docker swarm no amazon EC2. Criar um bucket do amazon S3. @Todo Ajustar as variaveis de CI/CD gitlab para apontar para os novos endereços ips (link pra isso) da ec2.
no drive da odontogeriatria aws tem um file runpostgres.sh, foi copiado pra dentro da ec2 para executar o banco dentro do swarm.
depois que o banco subiu, tem que por pra rodar o gitlab runner, ele é o mesmo esquema tem que copiar o script do drive p dentro da ec2 (tudo na master)
copiado isso já era aí aí ele vai se registrar na conta do gitlab (pra fazer o registro tem que mudar o token no file de config do gitlab runner)
configurado o runner e postgres tá de boas aí é só rodar as pipes de ci/cd e tá tudo 10. Commit na main já faz o trigger do pipe.
ir na sessão de pipes do repo é possível criar novos pipes.
(printar códigos aqui e destacar partes que tem que ser alteradas)