|
|
|
| [Home](home) | [Escopo](escopo) | [Gerência](Gerencia) | [Processo](processo) | [Design](design) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Banco de Dados](Banco de Dados) | [Transferência](transferência) |
|
|
|
|
|-|-|-|-|-|-|-|-|-|
|
|
|
|
|
|
|
|
# Configurações do Projeto
|
|
|
|
|
|
|
|
Este projeto utiliza Docker Compose para facilitar a execução dos serviços de backend (Java Spring Boot) e frontend (React Native/Expo).
|
|
|
|
|
|
|
|
## Pré-requisitos
|
|
|
|
|
|
|
|
- [Docker](https://docs.docker.com/get-docker/) instalado
|
|
|
|
- [Docker Compose](https://docs.docker.com/compose/install/) instalado
|
|
|
|
|
|
|
|
## Passos para rodar o projeto
|
|
|
|
|
|
|
|
1. **Clone o repositório**
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://tools.ages.pucrs.br/opera-es-gaeco/operacoes-gaeco-infra
|
|
|
|
cd operacoes-gaeco-infra
|
|
|
|
```
|
|
|
|
|
|
|
|
2. **Construa e inicie os containers**
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# construir imagens (todas)
|
|
|
|
docker-compose build
|
|
|
|
|
|
|
|
# subir serviços e reconstruir se necessário
|
|
|
|
docker-compose up --build
|
|
|
|
|
|
|
|
# subir em segundo plano
|
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
> O parâmetro `--build` garante que as imagens sejam reconstruídas caso haja alterações.
|
|
|
|
|
|
|
|
3. **Acesse os serviços**
|
|
|
|
|
|
|
|
- **Backend (Java Spring Boot):**
|
|
|
|
- URL: [http://localhost:8080](http://localhost:8080)
|
|
|
|
- **Frontend (Expo/React Native):**
|
|
|
|
- Expo DevTools: [http://localhost:19000](http://localhost:19000)
|
|
|
|
- Web: [http://localhost:8081](http://localhost:8081)
|
|
|
|
|
|
|
|
> Para testar o app mobile, utilize o QR Code gerado pelo Expo DevTools ou configure o Expo Go no seu dispositivo.
|
|
|
|
|
|
|
|
- **Banco de Dados (Postgres):**
|
|
|
|
- O serviço de banco de dados é iniciado automaticamente pelo Docker Compose.
|
|
|
|
- Configurações padrão:
|
|
|
|
- Host: `localhost`
|
|
|
|
- Porta: `5432`
|
|
|
|
- Usuário: `postgres`
|
|
|
|
- Senha: `postgres`
|
|
|
|
- Database: `postgres`
|
|
|
|
- Para acessar o banco de dados, você pode usar ferramentas como [DBeaver](https://dbeaver.io/) ou [pgAdmin](https://www.pgadmin.org/) com as credenciais acima.
|
|
|
|
- Para subir apenas o banco de dados:
|
|
|
|
```bash
|
|
|
|
docker-compose up db
|
|
|
|
```
|
|
|
|
- Para parar o banco de dados:
|
|
|
|
```bash
|
|
|
|
docker-compose stop db
|
|
|
|
```
|
|
|
|
|
|
|
|
## Comandos úteis
|
|
|
|
|
|
|
|
- **Build (todas as imagens):**
|
|
|
|
```bash
|
|
|
|
docker-compose build
|
|
|
|
```
|
|
|
|
- **Subir (foreground / background):**
|
|
|
|
```bash
|
|
|
|
docker-compose up --build
|
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
- **Parar e remover containers/rede:**
|
|
|
|
```bash
|
|
|
|
docker-compose down
|
|
|
|
# com volumes
|
|
|
|
docker-compose down -v
|
|
|
|
```
|
|
|
|
- **Listar status:**
|
|
|
|
```bash
|
|
|
|
docker-compose ps
|
|
|
|
```
|
|
|
|
- **Reiniciar um serviço:**
|
|
|
|
```bash
|
|
|
|
docker-compose restart backend
|
|
|
|
docker-compose restart frontend
|
|
|
|
```
|
|
|
|
- **Ver logs (seguindo):**
|
|
|
|
```bash
|
|
|
|
docker-compose logs -f backend
|
|
|
|
docker-compose logs -f frontend
|
|
|
|
```
|
|
|
|
- **Inicializar front com expo (caso o Docker não funcione)**
|
|
|
|
```bash
|
|
|
|
npx expo start
|
|
|
|
```
|
|
|
|
|
|
|
|
## Rodar no iOS (Simulador)
|
|
|
|
|
|
|
|
Com os containers rodando, você pode abrir o app no simulador iOS:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# iniciar o simulador (se ainda não estiver ligado)
|
|
|
|
xcrun simctl boot "iPhone 15"
|
|
|
|
|
|
|
|
# abrir o link do Expo no simulador
|
|
|
|
xcrun simctl openurl booted "exp://link-do-expo"
|
|
|
|
```
|
|
|
|
|
|
|
|
Observações:
|
|
|
|
- Substitua `exp://link-do-expo` pelo link exibido no terminal/Expo DevTools (QR Code) ao rodar `expo start` dentro do container.
|
|
|
|
- Como o container usa host "tunnel", o link do Expo geralmente funciona fora da rede local também.
|
|
|
|
|
|
|
|
## Rodar no Android (Emulador ou Dispositivo Físico via USB)
|
|
|
|
|
|
|
|
1) Verifique dispositivos/emuladores conectados e configure o reverse de portas para o Metro/Expo:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
adb devices
|
|
|
|
adb reverse tcp:8081 tcp:8081
|
|
|
|
adb reverse tcp:19000 tcp:19000
|
|
|
|
adb reverse tcp:19001 tcp:19001
|
|
|
|
```
|
|
|
|
|
|
|
|
2) Abra o app pelo Expo Go (escaneando o QR code do Expo DevTools) ou use o link `exp://...` exibido no terminal.
|
|
|
|
|
|
|
|
Notas:
|
|
|
|
- O `adb reverse` é útil quando usando USB; com túnel habilitado, pode não ser necessário, mas ajuda a estabilidade.
|
|
|
|
- Certifique-se de ter o Android SDK/Platform Tools instalados e o "USB debugging" habilitado no dispositivo.
|
|
|
|
|
|
|
|
## Rodar em dispositivo físico (Expo Go)
|
|
|
|
|
|
|
|
- Instale o app Expo Go no seu celular (iOS/Android).
|
|
|
|
- Com o Docker rodando e o Expo em modo "tunnel", escaneie o QR Code no terminal ou abra o link `exp://...` exibido pelo Expo DevTools.
|
|
|
|
- Para Android conectado via USB, os comandos `adb reverse` acima ajudam a garantir a comunicação com o bundler. |
|
|
\ No newline at end of file |