|
|
|
# :triangular_ruler: Arquitetura
|
|
|
|
|
|
|
|
* [Backend](#backend)
|
|
|
|
* [Frontend](#frontend)
|
|
|
|
* [Diagrama de Deploy](#diagrama-de-deploy)
|
|
|
|
|
|
|
|
## :gear: Backend
|
|
|
|
|
|
|
|
#### Stacks definidas:
|
|
|
|
|
|
|
|
Linguagem de programação [![Static Badge](https://img.shields.io/badge/TypeScript-41B7FF?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org)
|
|
|
|
|
|
|
|
A decisão de utilizar o TypeScript se deve ao fato da busca por maior controle das variáveis e a familiaridade da equipe com o JavaScript.
|
|
|
|
|
|
|
|
Runtime [![Static Badge](https://img.shields.io/badge/Node_20.11.1-00BE23?style=flat-square&logo=tsnode&logoColor=white)](https://nodejs.org/en)
|
|
|
|
|
|
|
|
Utilizar Node.js com TypeScript proporciona um ambiente de desenvolvimento consistente tanto no lado do servidor quanto no cliente (se usar também o TypeScript no frontend). Isso pode simplificar o desenvolvimento full-stack.
|
|
|
|
|
|
|
|
Framework [![Static Badge](https://img.shields.io/badge/Nest-white?style=flat-square&logo=nestjs&logoColor=red)](https://nestjs.com/)
|
|
|
|
|
|
|
|
Nest (NestJS) é um framework para construção de aplicações eficientes e escaláveis no lado do servidor com Node.js. Ele utiliza JavaScript progressivo, é construído com suporte total a TypeScript (embora ainda permita que desenvolvedores programem em JavaScript puro) e combina elementos de OOP (Programação Orientada a Objetos), FP (Programação Funcional) e FRP (Programação Reativa Funcional).
|
|
|
|
|
|
|
|
## :computer: Frontend
|
|
|
|
|
|
|
|
#### Stacks definidas:
|
|
|
|
|
|
|
|
Linguagem de programação [![Static Badge](https://img.shields.io/badge/TypeScript-41B7FF?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org)
|
|
|
|
|
|
|
|
Runtime [![Static Badge](https://img.shields.io/badge/Node_20.11.1-00BE23?style=flat-square&logo=tsnode&logoColor=white)](https://nodejs.org/en)
|
|
|
|
|
|
|
|
Biblioteca [![REACT](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)](https://react.dev/)
|
|
|
|
|
|
|
|
React é uma biblioteca front-end de JavaScript, utilizada para definir a parte lógica, e criar componentes HTML, para aplicações web de página única.
|
|
|
|
|
|
|
|
Framework [![Vite](https://img.shields.io/badge/vite-%23646CFF.svg?style=for-the-badge&logo=vite&logoColor=white)](https://vitejs.dev/)
|
|
|
|
|
|
|
|
Vite é uma ferramenta de construção front-end moderna que melhora significativamente a experiência de desenvolvimento. Ele serve código via módulos ES nativos, permitindo um início rápido do servidor e substituição de módulos a quente (HMR). Durante o desenvolvimento, o Vite compila apenas o módulo atual quando um arquivo é editado, em vez de empacotar todos os módulos antecipadamente
|
|
|
|
|
|
|
|
Outras tecnologias [![Tailwindcss](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/)
|
|
|
|
|
|
|
|
Tailwind CSS é uma estrutura CSS de código aberto. A principal característica desta biblioteca é que, ao contrário de outros frameworks CSS como Bootstrap, ela não fornece uma série de classes predefinidas para elementos como botões ou tabelas.
|
|
|
|
|
|
|
|
## :rocket: Diagrama de Deploy
|
|
|
|
|
|
|
|
O diagrama a seguir apresenta a arquitetura em alto nível e o processo de deploy da infraestrutura do projeto:
|
|
|
|
|
|
|
|
![ages-deploy.drawio](uploads/fd67f3165ce42e0715a44b6afb500955/ages-deploy.drawio.png)
|
|
|
|
|
|
|
|
Segue aqui o diagrama utilizando as duas máquinas para criação de 2 ambientes:
|
|
|
|
|
|
|
|
![ages-deploy-Page-2.drawio](uploads/d12278249e7ad74ddf8cc9ac70da6f60/ages-deploy-Page-2.drawio.png)
|
|
|
|
|
|
|
|
## Estimativa de Preço AWS
|
|
|
|
|
|
|
|
[EstimativaDePrecoBuscaPeca.pdf](uploads/fa7d6966a390517367be0b478c356b2f/BuscaPeça_AWS_Estimated_-_AWS_Pricing_Calculator.pdf) |
|
|
|
\ No newline at end of file |