{"id":31839978,"url":"https://github.com/juanpinheirofiap/faceid","last_synced_at":"2026-08-01T07:31:37.574Z","repository":{"id":315849721,"uuid":"1060896747","full_name":"JuanPinheiroFIAP/FaceID","owner":"JuanPinheiroFIAP","description":"Aplicativo de reconhecimento facial com Oracle Database, DeepFace e OpenCV para autenticação via FaceID.","archived":false,"fork":false,"pushed_at":"2025-09-22T00:41:00.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-12T04:29:19.809Z","etag":null,"topics":["cryptography","embeddings","opencv","oracle-database","pyhton"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuanPinheiroFIAP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-20T20:17:54.000Z","updated_at":"2025-10-06T17:26:04.000Z","dependencies_parsed_at":"2025-09-21T07:11:52.764Z","dependency_job_id":null,"html_url":"https://github.com/JuanPinheiroFIAP/FaceID","commit_stats":null,"previous_names":["juanpinheirofiap/sprint3-iot","juanpinheirofiap/faceid"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/JuanPinheiroFIAP/FaceID","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanPinheiroFIAP%2FFaceID","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanPinheiroFIAP%2FFaceID/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanPinheiroFIAP%2FFaceID/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanPinheiroFIAP%2FFaceID/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuanPinheiroFIAP","download_url":"https://codeload.github.com/JuanPinheiroFIAP/FaceID/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanPinheiroFIAP%2FFaceID/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","embeddings","opencv","oracle-database","pyhton"],"created_at":"2025-10-12T04:29:18.126Z","updated_at":"2026-08-01T07:31:37.565Z","avatar_url":"https://github.com/JuanPinheiroFIAP.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n---\n\n# 🧠 SPRINT3-IoT — Reconhecimento Facial com Oracle DB\n\nAplicativo de **reconhecimento facial** utilizando **DeepFace**, **OpenCV** e **Oracle Database**, com suporte a **API para aplicativo mobile** desenvolvido em **React Native (Expo)**.\n\n---\n\n## 👥 Integrantes do Projeto\n\n| Aluno                          | RM     |\n| ------------------------------ | ------ |\n| Juan Pinheiro de França        | 552202 |\n| Kaiky Alvaro de Miranda        | 98118  |\n| Lucas Rodrigues da Silva       | 98344  |\n| Matheus Gusmão Aragão          | 550826 |\n| Júlia Marques Mendes das Neves | 98680  |\n\n---\n\n## 🧩 Estrutura do Projeto\n\n```\nSPRINT3-IoT/\n├─ config/\n│  ├─ settings.py\n│  ├─ settings_db.py\n│  └─ __init__.py\n├─ db/\n│  ├─ connection.py\n│  ├─ emedding_dao.py\n│  ├─ setup.py\n│  ├─ log/\n│  │  └─ app.log\n│  └─ __init__.py\n├─ security/\n│  ├─ secret.key\n│  └─ senha.enc\n├─ src/\n│  ├─ app.py               # fluxo principal da aplicação\n│  └─ log/\n│     └─ main.log\n├─ utils/\n│  ├─ config_db.py\n│  ├─ config_db_check.py\n│  ├─ cryptography_embendding.py\n│  ├─ listar_diretorios.py\n│  └─ log/\n│     └─ crypto.log\n├─ vision/\n│  ├─ embedding.py\n│  └─ log/\n│     └─ embedding.log\n├─ test/\n│  ├─ test_connection.py\n│  ├─ test_config_check.py\n│  ├─ test_cryptography_embedding.py\n│  ├─ test_decrypt_embedding.py\n│  ├─ conftest.py\n│  └─ __init__.py\n├─ FaceAuthApp/              # Aplicativo mobile (Expo)\n├─ api.py                    # API Flask para integração com o app mobile\n├─ setup.bat                 # Setup automatizado\n├─ requirements.txt\n├─ LICENSE\n├─ .gitignore\n└─ README.md\n```\n\n---\n\n## ⚙️ Pré-requisitos\n\n* **Python 3.10+**\n* **Oracle Database** acessível\n* **Webcam** funcional (para captura facial)\n* **Node.js + Expo CLI** (para o app mobile)\n* **Sistema Windows** (para o `setup.bat`)\n\n---\n\n## 🚀 Instalação e Setup\n\n### 1️⃣ Clonar o Repositório\n\n```bash\ngit clone https://github.com/seuusuario/SPRINT3-IoT.git\ncd SPRINT3-IoT\n```\n\n### 2️⃣ Executar o Setup Automático\n\nO `setup.bat` cria o ambiente virtual e instala todas as dependências automaticamente:\n\n```bat\nsetup.bat\n```\n\n---\n\n## 🗄️ Configuração do Banco de Dados\n\nAntes de rodar qualquer módulo, é **obrigatório configurar o banco de dados Oracle**.\n\nVocê pode fazer isso de **duas formas**:\n\n### 🔹 **1. Configuração Automática (via fluxo principal)**\n\nRode o aplicativo principal para seguir o fluxo guiado:\n\n```bash\npython src/app.py\n```\n\nO sistema verificará a configuração e permitirá gerar a **chave e senha criptografadas** automaticamente.\n\n### 🔹 **2. Configuração Manual**\n\nEdite o arquivo `config/settings_db.py`:\n\n```python\nDB_HOST = \"oracle.fiap.com.br\"\nDB_PORT = 1521\nDB_SID  = \"ORCL\"\nDB_USER = \"SEU_USUARIO\"\n```\n\nApós configurar, garanta que os arquivos de segurança (`security/secret.key` e `security/senha.enc`) estejam presentes e válidos.\n\nPara verificar se esta tudo certo rode o: `python src/app.py` ele vai garantir que tudo vai estar configurado.\n\n---\n\n## 🧠 Execução do Sistema de Reconhecimento Facial\n\nPara iniciar o sistema principal de reconhecimento facial:\n\n```bash\npython src/app.py\n```\n\nO aplicativo irá:\n\n* Verificar a configuração do banco\n* Inicializar a webcam\n* Capturar o rosto\n* Gerar e armazenar o **embedding facial** no Oracle DB\n\n---\n\n## 📱 Execução da API e Aplicativo Mobile\n\nO sistema conta com uma **API Flask** e um **aplicativo mobile Expo** para autenticação facial.\n\n### 🔹 Passo 1 — Iniciar a API\n\nEntre na pasta raiz do projeto e execute:\n\n```bash\npython api.py\n```\n\nIsso iniciará o servidor Flask responsável por processar as requisições do aplicativo mobile.\n\n### 🔹 Passo 2 — Rodar o Aplicativo Mobile\n\nEntre na pasta `FaceAuthApp`:\n\n```bash\ncd FaceAuthApp\n```\n\nEm seguida, altere a linha 18 do `FaceAuthApp\\App.js` e coloque seu ip de rede:\n```Javascript\nconst API_URL = 'http://SEU_IP_AQUI/api';\n```\n\nVocê pode achar ele indo no `CMD` do seu computador e digitando:\n```cmd\nipconfig\n```\nbasta compiar o que vim depois do `IPv4`\n\n\nEm seguida, inicie o app no Expo:\n\n```bash\nnpx expo start\n```\n\nAponte a câmera do celular para o QR Code exibido no terminal para abrir o app no Expo Go.\n\n⚠️ **Importante:**\nAntes de rodar a API ou o app, **confira se o banco de dados Oracle está corretamente configurado** e se o servidor Flask está em execução.\n\n---\n\n## 🧪 Testes\n\nO diretório `test/` contém scripts de verificação das funções principais, como:\n\n* Conexão com o banco (`test_connection.py`)\n* Criptografia de embeddings (`test_cryptography_embedding.py`)\n* Validação da configuração (`test_config_check.py`)\n\nExecute todos os testes com:\n\n```bash\npytest\n```\n\n---\n\n## 🧰 Dependências Principais\n\nAs principais bibliotecas utilizadas estão listadas em `requirements.txt`:\n\n* `deepface`\n* `opencv-python`\n* `cx_Oracle`\n* `cryptography`\n* `flask`\n* `pytest`\n\nInstale manualmente (se necessário):\n\n```bash\npip install -r requirements.txt\n```\n\n---\n\n## 📄 Licença\n\nEste projeto está licenciado sob os termos da **MIT License**.\nConsulte o arquivo [`LICENSE`](LICENSE) para mais detalhes.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuanpinheirofiap%2Ffaceid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuanpinheirofiap%2Ffaceid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuanpinheirofiap%2Ffaceid/lists"}