Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Excedentes
  • Wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Update arquitetura authored Apr 15, 2024 by Adriana Anacleto Serpa's avatar Adriana Anacleto Serpa
Hide whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 971103a6
......@@ -27,11 +27,38 @@ Esta seção irá abordar os detalhes sobre a arquitetura selecionada para o bac
**Repositório:** https://tools.ages.pucrs.br/excedentes/excedentes-backend
### Definições de linguagem e bibliotecas
<table align="center"><tr><td align="center" >
![image](uploads/29d80ec1f57449913c6627d579358eb2/image.png)
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).
<img src="uploads/7029705623cb87afc8dd7026d9df5646/image.png" >
TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft. É um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.
![image](uploads/9867d4df7634284f2593d81001377256/image.png)
npm é um gerenciador de pacotes para o Node.JS npm, Inc. é uma subsidiária do GitHub, que fornece hospedagem para desenvolvimento de software e controle de versão com o uso do Git. npm é o gerenciador de pacotes padrão para o ambiente de tempo de execução JavaScript Node.js.
<img src="uploads/27c280ce5e76e815212b5e7f33ba1fd8/image.png" width="260px">
O TypeORM é um ORM que pode ser executado em NodeJS, nos navegadores, React Native, NativeScript, Expo e Electron, e pode ser usado com TypeScript e JavaScript. Seu objetivo é sempre suportar os recursos mais recentes do JavaScript e oferecer funcionalidades adicionais que nos ajudam a desenvolver qualquer tipo de aplicação que utilize bancos de dados - desde pequenas aplicações com poucas tabelas até aplicações empresariais de grande escala com múltiplos bancos de dados.
</table>
### Rotas - Objetos e métodos API
### Módulos do Sistema
- **Api:**
- **Auth:**
- **Base/Entities:**
- **Client:**
- **Commons/Validators:**
- **ContractorCompanies:**
- **Products:**
### Diagrama do Fluxo
## Frontend
......@@ -39,8 +66,54 @@ Esta seção irá abordar os detalhes sobre a arquitetura selecionada para o bac
**Repositório:** https://tools.ages.pucrs.br/excedentes/excedentes-frontend
### Definições de Tecnologias
<table align="center"><tr><td align="center" >
<img src="uploads/b22e4fcf81aff1307bbdb937e32bd080/image.png">
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.
![image](uploads/d65078e8aaea73bd7e19a1250bafe54c/image.png)
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.
![image](uploads/e0fc9642a7fde5b940f9c2e57107ba9d/image.png)
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.
<img src="uploads/7029705623cb87afc8dd7026d9df5646/image.png" >
TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft. É um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.
![image](uploads/13510ec0ada0259579da1083a0911b7a/image.png)
Chakra UI é uma biblioteca de componentes simples, modular e acessível que oferece os blocos de construção necessários para desenvolver suas aplicações React.
![image](uploads/5a6773c0551ccbefa5cdf20d3160c4c9/image.png)
O Zod é uma biblioteca de declaração e validação de dados, ou “schema validation” em TypeScript. Dessa forma, é possível criar uma estrutura com os requisitos de dados que você deseja validar. Ele permite definir tipos de dados utilizando uma sintaxe concisa, garantindo que apenas dados válidos sejam aceitos, o que assegura a segurança do código. Além disso, possui integração com o TypeScript, permitindo o uso de tipos estáticos e inferência de tipos.
![image](uploads/9867d4df7634284f2593d81001377256/image.png)
npm é um gerenciador de pacotes para o Node.JS npm, Inc. é uma subsidiária do GitHub, que fornece hospedagem para desenvolvimento de software e controle de versão com o uso do Git. npm é o gerenciador de pacotes padrão para o ambiente de tempo de execução JavaScript Node.js.
![image](uploads/0f27e0f8288aa20480636b5c79ab1a30/image.png)
Node.js é um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web. A principal característica do Node.js é sua arquitetura assíncrona e orientada por eventos.
</table>
### Módulos do Sistema
Estrutra de pastas
o nosso sistema foi dividido da seguinte maneira:
- **App:** Contém os componentes principais do React, como App e o roteador principal.
- **Assets/styles:** Diretório para arquivos estáticos, como imagens e estilos globais.
- **Components:** Componentes React reutilizáveis utilizados em todo o projeto.
- **Config:** Configurações globais do projeto, como as do Axios.
- **Core:** Contém tipos essenciais, APIs, modelos e serviços centrais.
- **Helpers:** Funções auxiliares para formatação de dados, validações, etc.
- **Modules:** Features modulares da aplicação, cada uma com seu próprio contexto, páginas, estilos e tipos.
### Diagrama de Componentes
......
Clone repository
  • Banco de Dados
  • arquitetura
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • gerencia
  • Home
  • materiais_de_estudo
  • processo
  • requisitos
  • sprints