Skip to content

Tecnologias

Esta seção apresenta as principais tecnologias e plataformas adotadas no desenvolvimento e na operação do sistema Rentake. A seleção tecnológica visa atender aos requisitos funcionais e não funcionais, bem como facilitar a manutenção e evolução futura do sistema:


Front-end (Interface do Usuário)

Desenvolvido em Vue.js utilizando o framework Nuxt 3.x (framework web para criação de aplicações universais/SPA). Isso fornece uma interface dinâmica, responsiva e de fácil navegação aos usuários.

Estilização e UI

Tecnologias web padrão HTML5 e CSS3 (com uso de pre-processadores ou bibliotecas de UI conforme necessário) para garantir compatibilidade e acessibilidade. Design responsivo implementado com CSS flexbox/grid e media queries, eventualmente complementado por frameworks de CSS.

Back-end (Lógica de Aplicação)

Construído em Node.js usando o framework NestJS 10.x (arquitetura modular e suporte nativo a TypeScript). A linguagem primária do back-end é TypeScript 5.x, garantindo tipagem estática e maior robustez no desenvolvimento.

Banco de Dados

Sistema de gerenciamento de banco de dados PostgreSQL (versão 14 ou superior), escolhido por sua confiabilidade, recursos avançados (transações, procedures) e conformidade ACID, adequados para armazenar dados financeiros e cadastrais sensíveis. O modelo de dados é relacional, estruturado conforme as necessidades do negócio (ver seção Modelo de Dados).

ORM e Acesso a Dados

Utilização do Prisma ORM (v4.x) para interagir com o banco de dados de forma segura e produtiva, fornecendo mapeamento objeto-relacional, migrações de esquema versionadas e construção de consultas usando linguagem de alto nível.

APIs e Comunicação

O sistema expõe e consome APIs RESTful para as funcionalidades do back-end. A comunicação entre front-end e back-end se dá via HTTP/HTTPS em formato JSON. As integrações com serviços externos (pagamentos, e-mails) também são feitas via chamadas de API REST ou bibliotecas especializadas.

Autenticação e Autorização

Implementadas usando JWT (JSON Web Tokens) para autenticação stateless entre cliente e servidor. Cada usuário autenticado recebe um token que codifica suas credenciais/papéis, permitindo acesso às rotas autorizadas conforme seu perfil (RBAC).

Serviços Externos

Integração com serviços de terceiros para funcionalidades complementares: serviço de e-mail (SMTP ou API de envio de e-mails) para notificações e recuperação de senha; serviços de pagamento/Pix para geração de cobranças e confirmação de pagamentos (detalhado em APIs Externas).

DevOps e Implantação

Utilização de Docker (containers) para padronizar ambientes de execução (tanto desenvolvimento quanto produção), garantindo portabilidade. O controle de versão do código fonte é feito com Git (repositório GitHub), permitindo trabalho colaborativo e integração contínua.

Aplicativos Mobile e Desktop

A arquitetura web será complementada com portabilidade para outras plataformas: prevê-se o uso do Capacitor (ou similar) para empacotar a aplicação web em aplicativos móveis nativos (Android/iOS) e Electron para disponibilizar uma versão desktop, garantindo assim acesso multiplataforma aos usuários. Essas tecnologias reutilizam o front-end web, mantendo uma base de código unificada.


Em resumo, o stack tecnológico do Rentake privilegia tecnologias modernas, de código aberto e amplamente suportadas pela comunidade, equilibrando desempenho, segurança e facilidade de desenvolvimento. Essa configuração busca atender aos requisitos estabelecidos neste documento e permitir a evolução contínua do produto.