Pular para o conteúdo principal
Versão: Versão Mercados

Ferramentas Utilizadas

Esta página apresenta todas as tecnologias, linguagens e ferramentas utilizadas no desenvolvimento da plataforma Divino Alimento.

Linguagens de Programação

JavaScript / Node.js

Versão: Node.js (runtime backend)
Licença: MIT

Node.js é utilizado como runtime principal para o backend da aplicação, permitindo executar JavaScript no servidor. Escolhido por sua eficiência em operações I/O assíncronas e vasto ecossistema de pacotes.

Uso no projeto:

  • Backend API (Express.js)
  • Scripts de automação
  • Gerenciamento de dependências

TypeScript

Versão: ^5.8.3
Licença: Apache-2.0

TypeScript adiciona tipagem estática ao JavaScript, aumentando a segurança e manutenibilidade do código frontend.

Uso no projeto:

  • Todo o código do frontend React
  • Interfaces e tipos para API
  • Validação em tempo de desenvolvimento

SQL

Licença: Varia por implementação

PostgreSQL como banco de dados principal, com queries SQL para operações complexas.

Uso no projeto:

  • Definição de schemas
  • Queries otimizadas com JOINs
  • Migrations de banco de dados

Backend

Frameworks e Bibliotecas

Express.js

Versão: ^4.21.2
Site: expressjs.com
Licença: MIT

Framework web minimalista e flexível para Node.js, utilizado para criar o servidor HTTP e gerenciar rotas.

Características:

  • Roteamento robusto
  • Middleware flexível
  • Suporte a templates (EJS)
  • Grande comunidade

Sequelize

Versão: ^6.37.1
Site: sequelize.org
Licença: MIT

ORM (Object-Relational Mapping) para Node.js que facilita a interação com bancos de dados relacionais.

Características:

  • Suporte a PostgreSQL, MySQL, SQLite
  • Migrations e seeds
  • Validações de modelo
  • Relacionamentos complexos

EJS (Embedded JavaScript)

Versão: ^3.1.6
Site: ejs.co
Licença: Apache-2.0

Engine de templates para renderização server-side de páginas HTML.

Uso no projeto:

  • Views do sistema legado
  • Renderização de páginas dinâmicas
  • Partials reutilizáveis

APIs

GraphQL

Versão: ^16.11.0
Site: graphql.org
Licença: MIT

Linguagem de query para APIs que permite aos clientes solicitar exatamente os dados necessários.

Bibliotecas relacionadas:

  • graphql-http ^1.22.4 (MIT): Servidor GraphQL sobre HTTP
  • Ruru ^2.0.0-beta.30 (MIT): IDE GraphQL integrado

Vantagens:

  • Flexibilidade nas consultas
  • Tipagem forte
  • Menos requisições ao servidor
  • Documentação automática

Autenticação

express-openid-connect

Versão: ^2.4.0
Licença: MIT

Middleware para autenticação OAuth 2.0 / OpenID Connect no Express.

Características:

  • Suporte a múltiplos provedores
  • Gerenciamento automático de sessões
  • Integração com Auth0 e outros

Utilitários Backend

PDFKit

Versão: ^0.12.1
Site: pdfkit.org
Licença: MIT

Biblioteca para geração de documentos PDF no Node.js.

Uso no projeto:

  • Relatórios em PDF
  • Documentos de pedidos
  • Comprovantes

json2csv

Versão: ^5.0.7
Licença: MIT

Conversão de dados JSON para formato CSV.

Uso no projeto:

  • Exportação de relatórios
  • Dados de pedidos
  • Listas de produtos

dotenv

Versão: ^9.0.1
Licença: BSD-2-Clause

Carrega variáveis de ambiente de arquivos .env.

Uso no projeto:

  • Configurações sensíveis
  • URLs de APIs
  • Credenciais de banco

Frontend

Framework e Build Tools

React

Versão: ^18.3.1
Site: react.dev
Licença: MIT

Biblioteca JavaScript para construção de interfaces de usuário baseada em componentes.

Características:

  • Componentes reutilizáveis
  • Virtual DOM eficiente
  • Hooks para gerenciamento de estado
  • Grande ecossistema

Vite

Versão: ^5.4.19
Site: vitejs.dev
Licença: MIT

Build tool moderna e rápida para projetos frontend.

Vantagens:

  • Hot Module Replacement (HMR) instantâneo
  • Build otimizado para produção
  • Suporte nativo a TypeScript
  • Configuração simples

Roteamento e Estado

React Router DOM

Versão: ^6.30.1
Site: reactrouter.com
Licença: MIT

Biblioteca de roteamento para React, gerenciando navegação client-side.

Características:

  • Roteamento declarativo
  • Nested routes
  • Lazy loading de rotas
  • Hooks (useNavigate, useParams)

TanStack React Query

Versão: ^5.83.0
Site: tanstack.com/query
Licença: MIT

Biblioteca poderosa para gerenciamento de estado do servidor.

Características:

  • Cache automático
  • Refetch inteligente
  • Mutations
  • Otimização de performance

graphql-request

Versão: ^7.3.1
Licença: MIT

Cliente GraphQL minimalista para fazer requisições.

Uso no projeto:

  • Queries GraphQL
  • Mutations
  • Integração com React Query

UI e Estilização

Tailwind CSS

Versão: ^3.4.17
Site: tailwindcss.com
Licença: MIT

Framework CSS utility-first para construção rápida de interfaces.

Características:

  • Classes utilitárias
  • Responsivo por padrão
  • Customização completa
  • Tree-shaking automático

Plugins:

  • @tailwindcss/typography ^0.5.16: Estilização de conteúdo
  • tailwindcss-animate ^1.0.7: Animações

shadcn/ui

Site: ui.shadcn.com
Licença: MIT

Coleção de componentes React reutilizáveis e acessíveis, construídos com Radix UI e Tailwind CSS.

Componentes incluídos (50+):

  • Accordion, Alert Dialog, Avatar
  • Button, Card, Checkbox, Dialog
  • Dropdown Menu, Form, Input
  • Select, Table, Tabs, Toast
  • E muitos outros...

Radix UI

Site: radix-ui.com
Licença: MIT

Conjunto de componentes primitivos não-estilizados focados em acessibilidade.

Vantagens:

  • WAI-ARIA compliant
  • Suporte a teclado
  • Compatibilidade com screen readers
  • Customizável

Lucide React

Versão: ^0.462.0
Site: lucide.dev
Licença: ISC

Biblioteca de ícones para React, fork do Feather Icons.

Características:

  • 1000+ ícones
  • Tree-shakeable
  • Customizável
  • Consistente

Forms e Validação

React Hook Form

Versão: ^7.62.0
Site: react-hook-form.com
Licença: MIT

Biblioteca para gerenciamento de formulários com foco em performance.

Vantagens:

  • Mínimas re-renderizações
  • Validação fácil
  • Integração com Zod
  • TypeScript friendly

Zod

Versão: ^3.25.76
Site: zod.dev
Licença: MIT

Biblioteca de validação e parsing de schemas TypeScript-first.

Características:

  • Type-safe
  • Validações complexas
  • Mensagens de erro customizáveis
  • Integração com React Hook Form

Componentes Especializados

React Day Picker

Versão: ^8.10.1
Licença: MIT

Componente de seleção de datas flexível e acessível.

date-fns

Versão: ^3.6.0
Site: date-fns.org
Licença: MIT

Biblioteca moderna para manipulação de datas em JavaScript.

Vantagens:

  • Modular
  • Imutável
  • Tree-shakeable
  • Suporte a i18n

Recharts

Versão: ^2.15.4
Site: recharts.org
Licença: MIT

Biblioteca de gráficos para React construída com D3.

Tipos de gráficos:

  • Line, Bar, Area, Pie
  • Scatter, Radar
  • Composed charts

Versão: ^8.6.0
Site: embla-carousel.com
Licença: MIT

Carousel/slider leve e extensível.

Plugins:

  • embla-carousel-autoplay: Auto-play

Sonner

Versão: ^1.7.4
Licença: MIT

Biblioteca de toast notifications elegante e customizável.

Next Themes

Versão: ^0.3.0
Licença: MIT

Gerenciamento de temas (dark mode) para aplicações React.

Banco de Dados

PostgreSQL

Versão: 13+
Site: postgresql.org
Licença: PostgreSQL License

Sistema de gerenciamento de banco de dados relacional open-source.

Características:

  • ACID compliant
  • Suporte a JSON
  • Extensível
  • Performance robusta

Biblioteca de conexão:

  • pg ^8.11.3: Cliente PostgreSQL para Node.js
  • pg-hstore ^2.3.4: Serialização hstore

SQLite

Versão: ^5.0.2
Site: sqlite.org
Licença: Public Domain

Banco de dados SQL embutido, utilizado em ambiente de testes.

Vantagens para testes:

  • Rápido
  • Em memória
  • Sem configuração
  • Isolamento

Testes

Cucumber

Versão: ^12.2.0
Site: cucumber.io
Licença: MIT

Framework para testes BDD (Behavior-Driven Development).

Características:

  • Linguagem Gherkin legível
  • Feature files descritivos
  • Step definitions
  • Documentação viva

Jest

Site: jestjs.io
Licença: MIT

Framework de testes JavaScript com foco em simplicidade.

Características:

  • Zero configuração
  • Snapshot testing
  • Coverage reports
  • Mocking fácil

Mocha

Versão: ^11.7.4
Site: mochajs.org
Licença: MIT

Framework de testes flexível para Node.js.

Uso no projeto:

  • Testes E2E
  • Testes de integração

Chai

Versão: ^4.3.6
Site: chaijs.com
Licença: MIT

Biblioteca de asserções para testes.

Estilos:

  • Assert
  • Expect
  • Should

Faker.js

Versão: ^10.0.0
Site: fakerjs.dev
Licença: MIT

Geração de dados falsos para testes.

Uso no projeto:

  • Dados de teste realistas
  • Factories
  • Seeds

DevOps e Deployment

Docker

Site: docker.com
Licença: Apache-2.0

Plataforma de containerização para empacotamento e distribuição de aplicações.

Uso no projeto:

  • Containerização do backend
  • PostgreSQL em container
  • Frontend em container
  • Mock OAuth2 server

Docker Compose

Versão: v2
Site: docs.docker.com/compose
Licença: Apache-2.0

Ferramenta para definir e executar aplicações Docker multi-container.

Arquivos:

  • compose.live.yml: Ambiente de desenvolvimento/produção
  • compose.tests.yml: Ambiente de testes

Services:

  • app.dev (Backend)
  • db.dev (PostgreSQL)
  • frontend (React)
  • mock-oauth2-server (Auth)

Rake

Site: ruby.github.io/rake
Licença: MIT

Ferramenta de automação de tarefas em Ruby.

Tarefas no projeto:

rake vivo:constroi    # Build containers
rake vivo:liga # Start services
rake vivo:para # Stop services
rake vivo:popular # Seed database
rake vivo:migracao # Run migrations
rake vivo:psql # Access PostgreSQL
rake vivo:sh # Access app shell

Ferramentas de Desenvolvimento

Nodemon

Versão: ^2.0.7
Site: nodemon.io
Licença: MIT

Monitor de aplicações Node.js que reinicia automaticamente em mudanças.

Uso:

npm run dev  # Inicia com nodemon

ESLint

Versão: ^9.32.0
Site: eslint.org
Licença: MIT

Linter para identificar e corrigir problemas em código JavaScript/TypeScript.

Configurações:

  • eslint-plugin-react-hooks
  • eslint-plugin-react-refresh
  • typescript-eslint

Sequelize CLI

Versão: ^6.6.2
Licença: MIT

Interface de linha de comando para Sequelize ORM.

Comandos:

npx sequelize-cli db:migrate       # Run migrations
npx sequelize-cli db:seed:all # Run seeds
npx sequelize-cli migration:create # Create migration

PostCSS

Versão: ^8.5.6
Licença: MIT

Ferramenta para transformar CSS com plugins JavaScript.

Uso no projeto:

  • Autoprefixer
  • Tailwind CSS processing

UI/UX Libraries

Bootstrap

Versão: ^5.0.2
Site: getbootstrap.com
Licença: MIT

Framework CSS popular (usado em views legadas).

jQuery

Versão: ^3.6.0
Site: jquery.com
Licença: MIT

Biblioteca JavaScript (usada em views legadas).

Outras Ferramentas

clsx

Versão: ^2.1.1
Licença: MIT

Utilitário para construir strings de className condicionalmente.

class-variance-authority

Versão: ^0.7.1
Licença: Apache-2.0

Criação de variantes de componentes type-safe.

cmdk

Versão: ^1.1.1
Licença: MIT

Command menu para React (command palette).

vaul

Versão: ^0.9.9
Licença: MIT

Componente drawer não-estilizado para React.

input-otp

Versão: ^1.4.2
Licença: MIT

Input para códigos OTP (One-Time Password).

react-resizable-panels

Versão: ^2.1.9
Licença: MIT

Painéis redimensionáveis para layouts complexos.

Resumo por Categoria

CategoriaComponenteTecnologia/Ferramenta
BackendRuntimeNode.js
FrameworkExpress.js
ORMSequelize
DatabasePostgreSQL, SQLite
APIGraphQL, REST
AuthOAuth 2.0 / OpenID Connect
FrontendFrameworkReact 18 + TypeScript
BuildVite
StylingTailwind CSS
Componentsshadcn/ui + Radix UI
StateReact Query + Context API
RoutingReact Router v6
TestingBDDCucumber
UnitJest
E2EMocha + Chai
DataFaker.js
DevOpsContainersDocker + Docker Compose
AutomationRake
CI/CD(a definir)

Próximos Passos