Instruções para Rodar Localmente
Estado atual do projeto
Nessa sprint, a equipe SOD aprimorou a solução a ponto de torná-la viável do início ao fim via plataforma. Apesar de a solução não estar em sua versão de mercado, ela já apresenta recursos como login, cadastro, envio de fotos (RF01), processamento de imagem (RF02), classificação pelo tipo de fissura (RF03) e até geração de relatórios (RF04). Além disso, adicinou-se um requisito não presente no escopo até essa sprint:
Descrição:
O usuário deve conseguir puxar as imagens do servidor que foram enviadas pelo aplicativo do drone.
Tipo de usuário:
Operador técnico / Especialista.
Propósito:
Garantir a facilidade no processo de análise de imagem desde o uso do drone.
Este requisito está quase finalizado. O fluxo necessário para o seu funcionamento já acontece: é possível enviar imagens do aplicativo SOD para o servidor e recuperá-las via webapp. Entretanto, é necessário aumentar a usabilidade, principalmente no que tange à quais imagens recuperar.
Os requisitos não funcionais RNF01, RNF02 e RNF07 também foram cumpridos nessa sprint.
Entretanto, devido ao aumento da complexidade do aplicativo, aumentou-se também suas instruções de uso, conforme demonstrado abaixo.
Devido a não finalização do app, ainda não será possível testá-lo nessa sprint
Pré-requisitos:
- Ter o arquivo .env contendo NEXT_PUBLIC_SUPABASE_URL e NEXT_PUBLIC_SUPABASE_ANON_KEY - Enviado à parte
- Ter o arquivo .pt do modelo treinado swin-transformer - Enviado à parte
- VSCode - siga o tutorial de instalação do programa de acordo com seu sistema operacional;
- Python versão 3.12 - siga o tutorial de instalação do programa de acordo com seu sistema operacional.
- Node.js versão 10.2.4 - siga o tutorial de instalação do programa de acordo com seu sistema operacional
Instruções de Uso
Siga as etapas abaixo para executar o aplicativo corretamente.
1. Clonando este repositório
Para clonar o repositório, você pode seguir esse tutorial
2. Incluindo os arquivos
2.1. Arquivo de Configuração do Servidor
Por meio de um arquivo de pastas, acesse o diretório do repositório clonado e inclua o arquivo ".env" no diretório src/sod-webapp
2.2. Arquivo do modelo Swin-Transformer-V2
Por meio de um arquivo de pastas, acesse o diretório do repositório clonado acesse a seguinte pasta: src/IA/IA_v2/src/swin-transformer-v2
. Em seguida, crie um diretório com o nome models e inclua dentro dele o seu arquivo ".pt".
3. Rodando o web app
3.1. Instale as dependências do Node.js
No VSCode, abra o repostório clonado e abra o terminal. Em seguida, acesse o diretório src/sod-webapp
colando o seguinte comando no terminal.
cd src/sod-webapp
Então, para instalar as dependências do Node.js, cole o seguinte comando:
npm install
3.2. Inicie o servidor de desenvolvimento
Rode o servidor Next.js:
npm run dev
O terminal exibirá uma mensagem semelhante a:
▲ Next.js 14.1.0
- Local: http://localhost:3000
- Environments: .env.local
✓ Ready in 4s
Para que a aplicação funcione corretamente, é necessário rodar o servidor em Flask. Essas instruções serão dadas abaixo. Caso tente rodar a aplicação sem ele, ao clicar "Iniciar Processamento" da IA, a tela permanecerá em carregamento infinito
4. Rodando o servidor Flask
4.1. Crie um ambiente virtual Python
Abra um novo terminal do VSCode, acesse o diretório src/IA_v2
colando o seguinte comando no terminal.
cd src/IA_v2
Em seguida, a depender do seu sistema operacional cole o seguinte comando:
Linux
python3 -m venv venv
Windows
python -m venv venv
4.2. Ative seu ambiente virtual
Então, para ativar seu ambiente virtual, cole o seguinte comando no mesmo terminal:
Linux
source venv/bin/activate
Windows
.\venv\Scripts\activate
4.3. Instale as dependências do projeto
Para instalar as dependências do projeto, cole o seguinte comando no mesmo terminal:
pip install -r requirements.txt
4.4. Inicie o servidor
Ainda no mesmo terminal, rode o servidor. Para tanto, cole o seguinte comando no mesmo terminal:
Linux
python3 ./src/server.py
Windows
python ./src/server.py
Pronto, agora você pode aproveitar plenamente das funcionalidades da aplicação web do Sistema Óptico de Detecção.