Este projeto React foi desenvolvido para a classificação de dados utilizando algoritmos de Inteligência Artificial (IA) como KNN (K-Nearest Neighbors), Árvore de Decisão e Algoritmo Genético. Para utilizar este projeto, é necessário configurar e executar a API Flask que fornece os serviços de classificação de dados.
A estrutura de pastas e arquivos do projeto é organizada da seguinte forma:
app/
├── assets/
├── components/
├── constants/
├── hooks/
├── scripts/
├── .gitignore
├── README.md
├── app.json
├── babel.config.js
├── package-lock.json
├── package.json
└── tsconfig.json
- assets/: Contém recursos estáticos como imagens, ícones, etc.
- components/: Componentes React reutilizáveis para a interface do usuário.
- constants/: Arquivos contendo constantes ou configurações específicas do projeto.
- hooks/: Hooks personalizados para lógica compartilhada entre componentes.
- scripts/: Scripts de utilidade para tarefas específicas do projeto.
- .gitignore: Arquivo de configuração do Git para ignorar arquivos/diretórios específicos.
- README.md: Documentação principal do projeto (este arquivo).
- app.json: Configurações específicas do Expo para a aplicação.
- babel.config.js: Configuração do Babel para transpilação de código.
- package-lock.json: Arquivo de bloqueio do npm para controle preciso de dependências.
- package.json: Arquivo de manifesto do npm com informações sobre o projeto e suas dependências.
- tsconfig.json: Configurações do TypeScript, se aplicável ao projeto.
Este projeto segue o padrão do Expo para desenvolvimento de aplicativos móveis. Ao iniciar o projeto, siga as instruções abaixo:
-
Instale as dependências:
npm install -
Inicie o aplicativo:
npx expo startNo output, você encontrará opções para abrir o aplicativo em um:
- Build de desenvolvimento
- Emulador Android
- Simulador iOS
- Expo Go, um ambiente sandbox limitado para experimentar o desenvolvimento de aplicativos com Expo
-
Você pode começar a desenvolver editando os arquivos dentro do diretório
app. Este projeto utiliza o roteamento baseado em arquivos. -
Quando estiver pronto para iniciar um novo projeto, execute:
npm run reset-projectEste comando moverá o código inicial para o diretório
app-examplee criará um diretório de aplicativo em branco onde você pode começar a desenvolver.
Para utilizar as funcionalidades de classificação de dados, é necessário configurar e executar a API Flask que fornece os serviços. Siga os passos abaixo para configurar e executar a API:
-
Clone o repositório da API Flask:
git clone https://github.com/mayarakaren/API-Flask.git
-
Navegue até o diretório do projeto da API Flask:
cd API-Flask -
Instale as dependências Python listadas no arquivo
requirements.txt:pip install -r requirements.txt
-
Execute o servidor Flask para iniciar a API:
python app.py
O servidor Flask será iniciado e a API estará disponível localmente em http://localhost:5000/.
A API oferece funcionalidades para classificação de dados usando diferentes algoritmos de aprendizado de máquina. A base URL da API é http://localhost:5000/.
-
Classificação
-
Endpoint: /classify
-
Método: POST
-
Parâmetros de Requisição:
algorithm(string): O algoritmo a ser utilizado (knn, algGenetico, arvore)filePath(string): (Somente para algoritmo 'arvore') Caminho do arquivo contendo os dados (opcional)
-
Corpo da Requisição:
{ "algorithm": "knn" } -
Resposta de Sucesso:
{ "output": "Resultado da classificação", "acurácia": "Valor da acurácia (N/A se não aplicável)", "imagem": "URL para a imagem de saída (se aplicável)" } -
Resposta de Erro:
{ "erro": "Descrição do erro" }
-
-
Servir Imagem
- Endpoint: /imagens/path:filename
- Método: GET
- Parâmetros de Requisição:
filename(string): Nome do arquivo de imagem
No trecho do código do projeto React onde é feita a requisição à API, é necessário atualizar o IP para o endereço da sua máquina física. Por exemplo:
const classifyResponse = await fetch('http://SEU_IP_AQUI:5000/classify', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filePath: filePath,
algorithm: algorithm,
}),
});Substitua SEU_IP_AQUI pelo endereço IP da sua máquina física onde a API Flask está sendo executada.
Para aprender mais sobre o desenvolvimento do seu projeto com Expo, consulte os recursos a seguir:
- Documentação do Expo: Aprenda os fundamentos ou aprofunde-se em tópicos avançados com nossos guias.
- Tutorial do Expo: Siga um tutorial passo a passo onde você criará um projeto que roda em Android, iOS e web.
- Expo no GitHub: Visualize nossa plataforma de código aberto e contribua.
- Comunidade Discord: Converse com usuários do Expo e faça perguntas.
Para qualquer dúvida ou sugestão, entre em contato conosco na nossa comunidade do Discord ou abra uma issue em nosso repositório no GitHub.