Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • aiprodutor-wiki aiprodutor-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
  • Ai Produtor Sistema de Cadastro e Gestao de Produtores de Hortifrutie
  • aiprodutor-wikiaiprodutor-wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Update arquitetura authored Aug 24, 2025 by Lucas Silveira Wolschick's avatar Lucas Silveira Wolschick
Hide whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 700c2311
<table>
<tr>
| [**Home**](home) | [Escopo e Cronograma](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [BD](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
| :--------------: | :---------------------------: | :------------------: | :--------------: | :--------------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
# Arquitetura do Frontend
## Descrição
O frontend foi desenvolvido utilizando **Next.js** com **React**, buscando uma arquitetura componentizada, que facilite manutenção, testes e escalabilidade.
A aplicação segue um padrão de rotas baseado em pastas, aproveitando a estrutura do Next para criação automática de rotas a partir do diretório `app/`.
---
## Tecnologias
- **Next.js** → Framework React para rotas e renderização.
- **React** → Biblioteca de UI, base do frontend.
- **Axios** → Consumo de APIs.
- **Tailwind CSS** → Estilização utilitária com paleta customizada.
- **ESLint** → Padronização de código.
- **Docker** → Conteinerização do ambiente.
- **GitLab** → Versionamento, Wiki e CI/CD.
---
## Estrutura de Arquivos do Frontend
src/
└── app/ # Diretório principal da aplicação (Next.js)
├── page.tsx # Página inicial (landing page)
├── globals.css # Estilos globais
├── layout.tsx # Layout base da aplicação
│
├── screen1/ # Tela específica 1
│ ├── page.tsx # Landing page da tela
│ ├── loading.tsx # Componente de loading da tela
│ ├── error.tsx # Tratamento de erros da tela
│ └── components/ # Componentes exclusivos dessa tela
│ ├── component1/
│ │ ├── index.tsx # Componente principal
│ │ ├── skeleton.tsx # Skeleton loader do componente
│ │ └── error.tsx # Tratamento de erro do componente
│ └── component2/
│ ├── index.tsx
│ ├── skeleton.tsx
│ └── error.tsx
│
├── screen2/ # Tela específica 2
│ ├── page.tsx
│ ├── loading.tsx
│ └── error.tsx
│
├── components/ # Componentes compartilhados entre telas
└── lib/ # Funções utilitárias e libs customizadas
---
## Explicativo dos Diretórios
- **app/** → raiz da aplicação, organiza as rotas e páginas.
- **page.tsx** → ponto de entrada de cada rota.
- **loading.tsx** → tela/estado de carregamento da rota.
- **error.tsx** → fallback para tratamento de erros da rota.
- **components/** → componentes **exclusivos da tela**, cada um em sua pasta com `index`, `skeleton` e `error`.
- **components (nível raiz)** → componentes compartilhados entre várias telas.
- **lib/** → utilitários gerais (funções auxiliares, hooks globais etc.).
---
## Justificativa da Arquitetura
A arquitetura foi escolhida para:
- Facilitar **debug** e manutenção, isolando erros e loaders por tela e por componente.
- Seguir o padrão de **componentização** do React, reaproveitando blocos de UI.
- Permitir futura expansão para **testes unitários** e **testes de integração** mais claros, já que erros e estados de loading estão isolados.
- Melhorar a **organização visual** do projeto, facilitando a navegação pelo código.
<th>
[Home](home)
</th>
<th>
[Escopo](escopo)
</th>
<th>
[Arquitetura](arquitetura)
</th>
<th>
[Configuração](configuracao)
</th>
<th>
[Mockups](mockups)
</th>
<th>
[BD](banco_dados)
</th>
<th>
[Instalação](instalação)
</th>
<th>
[Gerência](gerencia)
</th>
<th>
[Qualidade](qualidade)
</th>
<th>
[Processo](processo)
</th>
</tr>
</table>
\ No newline at end of file
Clone repository

📚 Wiki

🏠 Home 🔸Descrição do Projeto
🔸Sumário
🔸Equipe
📋 Escopo
🏗️ Arquitetura
🛠️ Configuração
🎨 Mockups
🗄️ Banco de Dados
📥 Instalação
📊 Gerência 🔸Termo de abertura do projeto
🔸Estrutura analítica de projeto (EAP)
🔸Cronograma
🔸Plano de comunicação
🔸Matriz de responsabilidades
🔸Plano de riscos
✅ Qualidade
🔄 Processo 🔸Papeis
🔸Sprints
🔸Apresentações
🔸Artefatos
🔸Acompanhamento das Entregas