Skip to content

Repository files navigation

CADê


Objetivo | Visão do produto | Cronograma | Backlog Produto | Documentação | Video Apresentação | Requisitos | Tecnologias | Como usar | Equipe

🎯 Objetivo

O projeto CADê tem como objetivo desenvolver uma aplicação web que automatize a elaboração de documentações técnicas CAD. A plataforma permitirá a geração automática de Memoriais de Cálculo e Especificações Técnicas a partir de plantas em formato CAD, utilizando agentes de inteligência artificial e um modelo de dados relacional complexo.

👁️‍🗨️ Visão do Produto

O CADê busca ser uma plataforma web confiável e eficiente para a automação de documentos técnicos de infraestrutura. Ao interpretar plantas CAD e extrair parâmetros automaticamente, a solução elimina retrabalho manual, reduz erros humanos e padroniza a produção documental conforme as normas vigentes. A visão é entregar uma ferramenta que simplifique o fluxo de trabalho técnico, integrando modelagem de dados robusta, padrões de projeto modernos e interfaces intuitivas para os usuários finais.

🗓️ Cronograma

FASE INÍCIO FIM
Kick-off 02/03/2026 06/03/2026
Sprint 1 16/03/2026 05/04/2026
Planning 06/04/2026 10/04/2026
Sprint 2 13/04/2026 03/05/2026
Planning 04/05/2026 08/05/2026
Sprint 3 11/05/2026 31/05/2026
Review 01/06/2026 05/06/2026

📌 Product Backlog

Product Backlog
ID Prioridade Descrição Pontos Sprint
US-01 Alta Como projetista, quero que o sistema extraia automaticamente os materiais, dimensões e propriedades físicas dos arquivos para eliminar a digitação manual. 9 Sprint 1
US-02 Média Como administrador, quero gerenciar usuários, projetos e permissões para garantir a segurança dos dados. 5 Sprint 1
US-03 Baixa Como projetista, quero fazer o upload de arquivos CAD e realizar alterações nos dados do projeto para que o sistema reflita sempre o estado atual do meu trabalho. 4 Sprint 1
US-04 Alta Como projetista, quero que o sistema processe o memorial de cálculo vinculado ao projeto para validar a viabilidade técnica instantaneamente. 8 Sprint 2
US-05 Alta Como projetista, quero que o sistema cruze a lista de materiais extraída com um banco de preços atualizável para gerar o custo estimado de fabricação/montagem. 7 Sprint 2
US-06 Baixa Como administrador, quero gerenciar uma tabela de Variáveis Globais (ex: valor base dos materiais) para padronizar os cálculos. 3 Sprint 2
US-07 Alta Como projetista, quero gerar relatórios contendo resumo técnico, custos e gráficos para apresentação ao cliente. 7 Sprint 3
US-08 Média Como projetista, quero interagir com um chat de linguagem natural que leia os dados do meu projeto para tirar dúvidas rápidas. 9 Sprint 3

📚 Documentação do Projeto

Este repositório contém a documentação organizada por sprints.
Abaixo você encontra os links para cada documentação detalhada:

Sprint Período Documentação
Sprint 1 16/03 - 05/04 Acessar Documentação
Sprint 3 11/05 - 31/05 Acessar Documentação

🎥 Video Apresentação

CADê Video Youtube

🔎 Requisitos

Requisitos Funcionais

  • Upload e processamento de plantas em formato CAD.
  • Geração automática de Memorial de Cálculo.
  • Geração automática de Especificação Técnica conforme normas ABNT.
  • Interface conversacional para solicitação de documentos em linguagem natural.

Requisitos Não Funcionais

  • Manual de Instalação (requisito Fatec – obrigatório, no Git).
  • Manual do Usuário (requisito Fatec – obrigatório).
  • Usabilidade (requisito Fatec – obrigatório).
  • Privacidade de dados (requisito Fatec – obrigatório).
  • Uso de Agentes de IA (requisito Fatec – obrigatório).
  • Conversão de linguagem natural para chamada de funções, sem uso de API externa (requisito Fatec – obrigatório).
  • Extração de parâmetros da mensagem do usuário, sem uso de API externa (requisito Fatec – obrigatório).
  • Orquestração de chamadas de funções (requisito Fatec – obrigatório).
  • Banco de dados relacional (requisito Fatec – obrigatório).
  • Modelo de banco de dados normalizado até a 3ª Forma Normal (3FN) com MER documentado (requisito Fatec – obrigatório).
  • Modelagem de dados documentada antes de cada sprint, incluindo modelos conceitual, lógico, físico e dicionário de dados (requisito Fatec – obrigatório).
  • Implementação com NodeJS (requisito Fatec – obrigatório).

🖥️Tecnologias:

🛠️ Ferramentas:

🚀 Como Usar

Pré-requisitos

  • Node.js 18+ instalado
  • Python 3.14+ instalado
  • uv instalado (gerenciador de pacotes Python) — pip install uv
  • MySQL 8.0 instalado e rodando na porta 3306
  • Chave de API do OpenRouter (para IA generativa)

Passo 1 — Clonar o repositório

git clone https://github.com/SoftWorksAPI/CADe.git
cd CADe

Passo 2 — Configurar o MySQL

Crie o banco de dados no MySQL:

CREATE DATABASE cadedb;

Ou utilize um cliente MySQL (Workbench, DBeaver, etc.) para criar o banco cadedb. O Node.js cria as tabelas automaticamente ao iniciar (sequelize.sync).


Passo 3 — Configurar e iniciar o Backend Python

# Entrar no diretório
cd Python_Backend_CADe

# Instalar dependências com uv
uv sync

# Criar o arquivo .env na raiz do diretório

Conteúdo do arquivo Python_Backend_CADe/.env:

OPENROUTER_API_KEY=sua_chave_aqui
OPENROUTER_MODEL=openai/gpt-oss-120b:free
NODE_BACKEND_URL=http://localhost:3000
INTERNAL_API_KEY=cade-internal-key-2026
CHROMA_PERSIST_PATH=./chroma_db
DEBUG=false

Substitua sua_chave_aqui pela sua chave de API do OpenRouter.

Iniciar o servidor:

uv run uvicorn src.main:app --host 0.0.0.0 --port 8080 --reload

O Python estará disponível em http://localhost:8080. Swagger interativo: http://localhost:8080/docs


Passo 4 — Configurar e iniciar o Backend Node.js

Em um novo terminal:

# Entrar no diretório
cd Backend_CADe

# Instalar dependências
npm install

# Criar o arquivo .env na raiz do diretório

Conteúdo do arquivo Backend_CADe/.env:

PORT=3000
DB_HOST=localhost
DB_PORT=3306
DB_NAME=cadedb
DB_USER=root
DB_PASSWORD=sua_senha_mysql
JWT_SECRET=cade-jwt-secret-2026
ADMIN_EMAIL=admin@admin.com
ADMIN_PASSWORD=admin123
PYTHON_API_URL=http://localhost:8080
INTERNAL_API_KEY=cade-internal-key-2026

Substitua sua_senha_mysql pela senha do seu MySQL. Os valores de ADMIN_EMAIL e ADMIN_PASSWORD definem o usuário administrador padrão criado automaticamente.

Iniciar o servidor:

npm start

O Node.js estará disponível em http://localhost:3000. Swagger: http://localhost:3000/api-docs

Na primeira execução, o Node.js cria todas as tabelas no banco e o usuário admin padrão.


Passo 5 — Configurar e iniciar o Frontend Vue.js

Em um novo terminal:

# Entrar no diretório
cd Vue_Frontend_CADe

# Instalar dependências
npm install

# Criar o arquivo .env na raiz do diretório

Conteúdo do arquivo Vue_Frontend_CADe/.env:

VITE_API_URL=http://localhost:3000

Iniciar o servidor de desenvolvimento:

npm run dev

O frontend estará disponível em http://localhost:5173.


Passo 6 — Acessar a aplicação

Abra o navegador em http://localhost:5173 e faça login com as credenciais do admin padrão:

Email: admin@admin.com
Senha: admin123

👥 Equipe:

Static Badge - Arthur Silva:

Static Badge - Igor Andrade :

Static Badge - Guilherme Henrique :

Static Badge - Tiago Bortoline :

About

Projeto de alunos do 4º Semestre de Análise e Desenvolvimento da FATEC

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors