... | @@ -29,7 +29,22 @@ |
... | @@ -29,7 +29,22 @@ |
|
<img src="https://img.shields.io/badge/Qualidade-black?style=for-the-badge&logo=sonarqube&logoColor=white" alt="Qualidade" height="40"/>
|
|
<img src="https://img.shields.io/badge/Qualidade-black?style=for-the-badge&logo=sonarqube&logoColor=white" alt="Qualidade" height="40"/>
|
|
</a>
|
|
</a>
|
|
|
|
|
|
#Neste topico será descrito arquitetura do projeto desenvolvido
|
|
# Tecnologias
|
|
|
|
|
|
|
|
## React
|
|
|
|
React é uma biblioteca JavaScript amplamente utilizada para a construção de interfaces de usuário (UIs). Sua principal vantagem reside na componentização, permitindo a criação de componentes independentes e reutilizáveis. Isso facilita a manutenção e a escalabilidade do aplicativo, pois cada componente pode ser desenvolvido, testado e depurado de forma isolada. Além disso, React utiliza o Virtual DOM, uma representação virtual do DOM real, que otimiza as atualizações da interface. Em vez de re-renderizar a página inteira quando há uma mudança, React apenas atualiza os componentes que realmente mudaram, resultando em um desempenho mais eficiente. A vasta comunidade de desenvolvedores que contribui para React proporciona um ecossistema rico de bibliotecas e ferramentas, como Redux para gerenciamento de estado e React Router para navegação, o que acelera o desenvolvimento e permite a implementação de funcionalidades avançadas com menos esforço.
|
|
|
|
|
|
|
|
## TypeScript
|
|
|
|
TypeScript é uma extensão do JavaScript que adiciona tipagem estática ao código, proporcionando uma camada adicional de segurança. Com TypeScript, os desenvolvedores podem detectar erros em tempo de compilação, em vez de em tempo de execução, reduzindo assim bugs e melhorando a qualidade do código. A tipagem estática também torna o código mais previsível e fácil de entender, facilitando a colaboração entre desenvolvedores e a manutenção a longo prazo. Além disso, TypeScript oferece suporte a funcionalidades modernas do JavaScript e possui uma excelente integração com editores de código como Visual Studio Code, oferecendo uma experiência de desenvolvimento mais rica com autocompletar, refatoração e verificação de tipos em tempo real.
|
|
|
|
|
|
|
|
## NodeJS
|
|
|
|
Node.js é uma plataforma baseada no motor V8 do Chrome que permite a execução de JavaScript no lado do servidor. Sua principal vantagem é a capacidade de lidar com operações de I/O de forma não bloqueante, o que a torna ideal para aplicativos de rede em tempo real e de alto desempenho. No contexto de um aplicativo de seleção de suplementos, Node.js pode ser usado para gerenciar a lógica do servidor, processar as respostas do questionário e gerar recomendações em tempo real. Além disso, a utilização de JavaScript tanto no front-end quanto no back-end permite a criação de um stack de tecnologia unificado, facilitando a transferência de conhecimento entre diferentes partes do projeto e aumentando a eficiência do desenvolvimento.
|
|
|
|
|
|
|
|
## PostgreSQL
|
|
|
|
PostgreSQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código aberto conhecido por sua robustez e conformidade com os padrões SQL. Ele oferece uma ampla gama de funcionalidades avançadas, como suporte a tipos de dados avançados, integridade referencial, transações ACID e capacidade de lidar com grandes volumes de dados. Para um aplicativo que precisa armazenar informações dos usuários e suas respostas ao questionário, PostgreSQL proporciona uma solução confiável e eficiente. Sua capacidade de indexação e otimização de consultas garante que as respostas dos questionários possam ser processadas rapidamente para gerar recomendações personalizadas.
|
|
|
|
|
|
|
|
## Prisma
|
|
|
|
Prisma é uma ferramenta de ORM (Object-Relational Mapping) moderna que facilita a interação com o banco de dados de forma segura e eficiente. Ele permite que os desenvolvedores definam modelos de dados em um esquema declarativo e gera automaticamente consultas SQL otimizadas. Prisma também oferece um tipo de segurança estrita, garantindo que apenas dados válidos sejam enviados para o banco de dados. Para o projeto de seleção de suplementos, Prisma simplifica o gerenciamento de dados, desde a definição dos esquemas de questionário até a persistência das respostas dos usuários, permitindo um desenvolvimento mais rápido e menos propenso a erros.
|
|
|
|
|
|
# Diagrama de Deploy
|
|
# Diagrama de Deploy
|
|
![DeployDiagram](uploads/06c0d4cd78c1222fe62957de9ed50781/DeployDiagram.png) |
|
![DeployDiagram](uploads/06c0d4cd78c1222fe62957de9ed50781/DeployDiagram.png) |
|
|
|
\ No newline at end of file |