Skip to content

Projeto Software

4.3. Projeto do Subsistema de Software

4.3.1. Tecnologias

Segue a Justificativa das tecnologias escolhidas:

4.3.2. Frontend

  • TypeScript: A escolha do TypeScript é vem da necessidade de uma abordagem mais estruturada que facilita no desenvolvimento e segura para o frontend. A adição de tipagem estática opcional ao JavaScript oferece uma camada adicional de verificação de tipos, o que resulta em um código mais robusto e com menor chance de erros devido a tipagem;

  • React: Optar pelo React como biblioteca principal para o frontend se deve à sua popularidade e vasto ecossistema de recursos e suporte. Sua abordagem de componentização simplifica o desenvolvimento de interfaces de usuário interativas e dinâmicas, enquanto sua sintaxe JavaScript familiar permite uma curva de aprendizado suave para desenvolvedores, também possui suporte para o TypeScript;

  • Next.js: A escolha do Next.js é motivada pela necessidade de alta performance e flexibilidade no desenvolvimento de aplicações web React. Sua capacidade de renderização no lado do servidor e geração de sites estáticos é particularmente vantajosa para o nosso projeto, possuindo também carregamentos rápidos. Next.js roda perfeitamente com React, permitindo uma fácil construção do nosso sistema;

4.3.3. Backend

  • Python: A seleção do Python como linguagem principal para o backend é guiada por sua versatilidade, simplicidade e vasta gama de bibliotecas e frameworks disponíveis. Sua sintaxe limpa e legível torna o processo de desenvolvimento mais eficiente e rápido. Também possui as bibliotecas necessárias para poder fazer o treinamento e desenvolvimento da I.A;

  • Django: A escolha do Django como framework backend é fundamentada em sua estrutura robusta, segura e altamente escalável. A arquitetura baseada em modelos, templates e views simplifica o processo de desenvolvimento. Além disso, a integração nativa do Django com bancos de dados SQL facilita na escolha do modelo de banco de dados.

4.3.4. Reconhecimento de Imagem

  • YOLOv8: A escolha do YOLOv8 para reconhecimento de imagem é vantajoso devido à sua combinação de alta precisão e velocidade. Ele aprimora a série YOLO com técnicas avançadas e otimizações que melhoram o desempenho em diversos cenários, inclusive em dispositivos de menor potência, tornando-o ideal para aplicações em sistemas embarcados.