
SNCF SECAFI IA Reseau
Plataforma de Assistência Inteligente para Rede Ferroviária
Visão Geral
Contexto
A SNCF SECAFI necessitava de uma ferramenta interna inteligente para auxiliar na tomada de decisões estratégicas, fornecendo estimativas e previsões sobre cenários futuros da rede ferroviária através de inteligência artificial. O sistema permite que os funcionários façam consultas complexas e obtenham análises preditivas baseadas em dados históricos e padrões identificados.
Solução
Sistema completo com API REST robusta em NestJS e interface web moderna editável em React. Integração com Chatbase AI para processamento de consultas complexas e geração de estimativas, sistema de autenticação JWT, e painel administrativo para monitoramento de conversas e previsões. Interface totalmente configurável através da API.
Meu Papel
Atuei como Full Stack Developer responsável por todo o desenvolvimento do projeto. Desenvolvi sozinho toda a arquitetura da API backend com NestJS, TypeORM e MySQL, e implementei completamente o frontend em React, incluindo todas as animações e interações. Apenas o design UI/UX foi fornecido pela equipe House of Coding via Figma.
Stack Técnica
Frontend
Backend
Projetos
SNCF IA Reseau API
Backend NestJS com Interface Editável via API
API REST robusta desenvolvida em NestJS com arquitetura modular. Sistema completo de autenticação JWT, integração com Chatbase AI para processamento de consultas e geração de estimativas, e interface totalmente editável e configurável através de endpoints da API.
Features
Autenticação JWT
Sistema completo com register/login, refresh tokens, guards de proteção e estratégia Passport
Integração Chatbase AI
Proxy para API do Chatbase com gerenciamento de conversas, histórico e rate limiting
Monitoramento de Conversas
Histórico completo de conversas com filtros, paginação e estatísticas
API de Estatísticas
Dashboard com métricas de uso, conversas por período e análise de usuários ativos
Swagger/OpenAPI
Documentação automática e interativa da API com exemplos
Docker Setup
Containerização completa com MySQL, volumes persistentes e network isolada
Design Patterns
Decisões Técnicas
NestJS vs Express/Fastify
Estrutura enterprise-ready out-of-the-box, TypeScript first-class, arquitetura modular escalável, decorators para metaprogramação, integração Swagger nativa
TypeORM vs Prisma
Decorators para entities, migrations robustas, suporte a múltiplos bancos, active record pattern familiar, melhor para projetos NestJS complexos
JWT vs Session
Stateless, escalável horizontalmente, não requer armazenamento server-side, ideal para APIs REST, refresh tokens para segurança
Chatbase vs OpenAI Direct
Sistema de conversas gerenciado, treinamento específico do modelo, rate limiting incluído, métricas built-in, custo otimizado
Desafios & Soluções
Rate Limiting Chatbase
Implementação de fila de requisições com retry exponencial, cache de respostas frequentes, fallback messages para timeouts
Gestão de Tokens JWT
Refresh tokens com rotação, blacklist para tokens revogados, expiração configurável por ambiente
Persistência de Conversas
Schema otimizado com índices, relacionamento User-Conversation 1:N, soft delete para auditoria
Validação de Dados
DTOs com class-validator, transform pipes globais, custom validators para regras de negócio
Docker Development
Docker Compose com hot-reload, volumes para persistência MySQL, network isolada, variáveis de ambiente seguras
SNCF IA Reseau Front
Interface Web Moderna com Chat Inteligente
Aplicação React single-page com design fornecido pela equipe House of Coding via Figma. Interface moderna com chat em tempo real, painel administrativo completo, e sistema de autenticação integrado. Animações e interações desenvolvidas por mim.
Features
Chat Interface
Interface conversacional em tempo real com histórico, typing indicators e markdown rendering
Autenticação
Login/registro com validação, persistência de sessão, refresh automático de tokens
Painel Administrativo
Dashboard com estatísticas, gestão de usuários, visualização de conversas e analytics
Gestão de Usuários
CRUD completo, filtros avançados, roles e permissões, exportação de dados
Histórico de Conversas
Visualização detalhada de todas as conversas com filtros por data, usuário e conteúdo
Sistema de Notificações
Toasts com Sonner para feedback de ações e erros
Tabelas Interativas
TanStack Table com sorting, filtering, pagination e column visibility
Forms Validados
React Hook Form + Zod para validação robusta e type-safe
Animações Customizadas
Transições suaves, micro-interações e loading states desenvolvidos por mim
Design Responsivo
Layout adaptativo para desktop, tablet e mobile baseado no Figma da House of Coding
Design Patterns
Decisões Técnicas
React vs Next.js
SPA pura sem necessidade de SSR, autenticação client-side, deploy mais simples, routing client-side suficiente
TanStack Query vs Redux
Especializado em server state, cache inteligente, menos boilerplate, invalidation automática, devtools excelentes
shadcn/ui vs Material UI
Copy-paste sem dependências pesadas, customização total via Tailwind, acessibilidade Radix, componentes modernos
React Hook Form + Zod
Performance superior (menos re-renders), validação type-safe, integração perfeita, bundle menor que Formik
Recharts vs Chart.js
Composable, declarativo com React, customização via props, TypeScript nativo, responsivo out-of-the-box
Desafios & Soluções
Implementação do Design Figma
Fidelidade pixel-perfect ao design da House of Coding usando Tailwind, sistema de cores e espaçamentos consistentes, componentes reutilizáveis
Animações Personalizadas
Transições CSS customizadas, framer-motion para animações complexas, loading skeletons, micro-interações em botões e cards
Real-time Chat Experience
Polling otimizado com React Query, auto-scroll inteligente, typing indicators, formatação markdown
Gestão de Tokens
Interceptor axios para refresh automático, retry de requisições falhadas, logout em token expirado
Tabelas Performáticas
Virtualização com TanStack Table, paginação server-side, lazy loading, memoização de células