|
|
# :triangular_ruler: Arquitetura
|
|
|
|
|
|
* [Backend](#backend)
|
|
|
* [Frontend](#frontend)
|
|
|
* [Diagrama de Deploy](#diagrama-de-deploy)
|
|
|
|
|
|
## :gear: Backend
|
|
|
|
|
|
#### Stacks definidas:
|
|
|
|
|
|
Linguagem de programação [](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 [](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 [](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 [](https://www.typescriptlang.org)
|
|
|
|
|
|
Runtime [](https://nodejs.org/en)
|
|
|
|
|
|
Biblioteca [](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 [](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 [](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:
|
|
|
|
|
|

|
|
|
|
|
|
Segue aqui o diagrama utilizando as duas máquinas para criação de 2 ambientes:
|
|
|
|
|
|

|
|
|
|
|
|
## Estimativa de Preço AWS
|
|
|
|
|
|
[EstimativaDePrecoBuscaPeca.pdf](uploads/fa7d6966a390517367be0b478c356b2f/BuscaPeça_AWS_Estimated_-_AWS_Pricing_Calculator.pdf) |
|
|
\ No newline at end of file |