Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Configurações do 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 instância de cluster docker swarm no AWS EC2.
-
Criar um AWS S3 Bucket.
-
Ajustar as variaveis de CI/CD gitlab para conter os novos endereços de IP da instância EC2 criadas anterirormente.
-
Adicionar scripts de configuração nas intâncias:
copiar código e inserir diretamente aqui destacando as partes que precisam ser alteradas
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)
- Criar conta no GitLab
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)
- Rodar Pipelines pode rodar commitando main ou a rodar o pipeline manualmente pelo menu (link pra isso).
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.