Polo: Formosa
Integrantes do grupo: |
---|
ALESSANDRO LOZANO, RA 2006019 |
ANDERSON DOS SANTOS, RA 2015130 |
CAMILA FANELLI, RA 2006636 |
CRISTIAM VASQUES, RA 2000904 |
DAVID MACHADO AMARAL, RA 2015907 |
FERNANDO HENRIQUE GARCIA, RA 2007613 |
LUCAS MORAES DA SILVA, RA 2005237 |
A segurança pública é um tema de grande relevância no Brasil, especialmente em um contexto de crescente criminalidade e violência urbana. Diante dessa realidade desafiadora, surge a necessidade de soluções inovadoras e eficientes que auxiliem na prevenção e combate ao crime. Neste trabalho, apresentamos a proposta de desenvolvimento de um sistema inovador denominado "Os Olhos da Justiça". A solução se baseia em uma plataforma tecnológica que utiliza inteligência artificial e reconhecimento facial para auxiliar na identificação de pessoas em tempo real, permitindo a verificação de pendências com a justiça de forma rápida e precisa.
A estrutura do projeto consiste em uma API (backend), ao qual tem a implementação de uma biblioteca de IA para reconhecimento facial em javaScript denominada FaceAPI, um banco de dados não relacional MongoDB e uma interface de usuário desenvolvida com JavaScript (usando a biblioteca base ReactJS).
A API foi desenvolvida utilizando o padrão de projeto Clean Architecture, que tem como finalidade manter a organização do código de forma que seja de fácil entendimento, altamente testável e com alta escalabilidade para futuras novas melhorias e implementações, tendo como principal foco o desacoplamento de suas partes, para caso houver a necessidade da troca de bibliotecas, não ter grande demanda de atualização de outras partes do sistema.
A estrutura do projeto é organizada conforme imagem abaixo:
A interface foi desenvolvida utilizando o padrão de projeto Atomic Design, esse padrão consiste em organizar os diversos componentes que compõem a interface de acordo a sua complexidade de forma molecular, partindo de átomos para os menos componentes, moléculas para componentes que são compostos por componentes átomos assim por diante.
Para melhor entendimento, podemos esboçar a estrutura do projeto com o diagrama abaixo:
O Sistema captura uma imagem via interface, do perfil em tempo real de uma pessoa que vai ser consultada no banco de dados, após a captura, a imagem é convertida em byte-code de dados e são enviados para a API de reconhecimento facial, que avalia a imagem a fim de encontrar um rosto nela, e caso encontre, consulte o banco de dados, e ao reconhecer uma imagem enviar dos dados da imagem correspondente.
Optamos por deixar os dados baseados em um banco de dados não relacional, o MongoDB, pois guardando os dados em objetos fica mais facil o gerenciamento das imagens por perfil, e como não há a necessidade de relaciomentos entre tabelas, e também pela disponibilização de um banco de dados gratuito para testes disponbilizado pela Mongo Atlas.
Para rodar o projeto será necessário utilizar algumas ferramentas:
docker compose up -d
;cd backend && npm install && npm run dev
;cd frontend && npm install && npm run dev
;