Plataforma de transformação de manuscritos em livros profissionalmente formatados usando IA
- Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Development
- Testing
- Performance
- Deployment
- Contributing
TypeCraft Frontend é a interface do usuário para uma plataforma SaaS que automatiza a formatação de manuscritos em livros profissionais. Com inteligência artificial, o sistema aplica formatação ABNT, APA ou IEEE em minutos.
- Autores independentes: Publicar romances na Amazon KDP
- Acadêmicos: Formatar TCCs, dissertações e teses
- Editoras: Processar múltiplos livros em lote
- ⚡ Formatação automática em 10 minutos (vs. dias manualmente)
- 💰 Economia de R$ 2.500+ em designers profissionais
- ✅ 100% de conformidade com normas ABNT/APA/IEEE
- 🎨 Customização completa de design
- ✅ Landing Page: Hero, features, pricing, testimonials
- ✅ Autenticação: NextAuth com Supabase
- ✅ Gerenciamento de Projetos: CRUD completo
- ✅ Upload de Manuscritos: Drag-and-drop com validação
- ✅ Processamento AI: Integração com backend Python
- ✅ Design Customizer: Fontes, cores, templates
- ✅ Download de Arquivos: PDF, EPUB, MOBI
- ✅ Internacionalização: pt-BR e en
- ✅ Testes: Unit (40), Integration (26), E2E (34)
- ✅ Performance: Code splitting, lazy loading, caching
- ✅ Acessibilidade: WCAG 2.1 Level AA compliant
- ✅ Build Status: Zero TypeScript errors
- Editor de manuscritos inline
- Colaboração em tempo real
- Preview 3D de livro físico
- Marketplace de templates premium
- API pública para integração
- Next.js 16: React framework com App Router
- TypeScript: Type safety
- Tailwind CSS: Utility-first CSS
- React Query (TanStack Query): Server state management
- next-auth: Autenticação
- next-intl: Internacionalização
- react-hook-form: Formulários
- zod: Validação de schemas
- axios: HTTP client
- react-dropzone: File upload
- react-colorful: Color picker
- sonner: Toast notifications
- lucide-react: Icons
- Jest: Unit testing
- Testing Library: Component testing
- Playwright: E2E testing
- ESLint: Linting com jsx-a11y para acessibilidade
- Prettier: Code formatting
- Husky: Git hooks (opcional)
- Lighthouse CI: Performance budgets e monitoring
- Node.js 18+ e npm
- Backend Python rodando em
http://localhost:8000 - Conta Supabase (para auth)
# Clone o repositório
git clone https://github.com/seu-usuario/typecraft.git
cd typecraft/web
# Instale dependências
npm install
# Configure variáveis de ambiente
cp .env.example .env.local
# Edite .env.local com suas credenciais
# Execute em desenvolvimento
npm run devAbra http://localhost:3000 no navegador.
Crie .env.local:
# API Backend
NEXT_PUBLIC_API_URL=http://localhost:8000
# NextAuth
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key-here
# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-keyweb/
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router pages
│ │ ├── [locale]/ # Internationalized routes
│ │ └── api/ # API routes
│ ├── components/ # React components
│ │ ├── ui/ # Reusable UI components
│ │ ├── landing/ # Landing page sections
│ │ └── lazy/ # Lazy-loaded components
│ ├── lib/ # Utilities and configurations
│ │ ├── api/ # API client
│ │ ├── hooks/ # Custom React hooks
│ │ ├── providers/ # Context providers
│ │ └── validations/ # Zod schemas
│ ├── i18n/ # Internationalization
│ └── types/ # TypeScript types
├── e2e/ # Playwright E2E tests
├── docs/ # Documentation
└── scripts/ # Build and utility scripts
# Development
npm run dev # Start dev server with Turbopack
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Testing
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Generate coverage report
npm run test:e2e # Run E2E tests
npm run test:e2e:ui # Run E2E tests with UI
npm run test:e2e:report # Show E2E test report
# Analysis
npm run analyze # Analyze bundle size- TypeScript: Strict mode enabled
- ESLint: Configured for Next.js + React
- Formatting: 2 spaces, single quotes
- Components: PascalCase, one per file
- Hooks: Prefix with
use
# Create feature branch
git checkout -b feature/your-feature
# Make changes and commit
git add .
git commit -m "feat: your feature description"
# Push and create PR
git push origin feature/your-feature# Run all unit tests
npm test
# Run specific test file
npm test useProjects
# Watch mode for development
npm run test:watch
# Coverage report
npm run test:coverageTest Coverage:
- 40 unit tests (hooks)
- 26 integration tests (components)
- Target: >80% coverage
# Run all E2E tests
npm run test:e2e
# Run with UI mode (interactive)
npm run test:e2e:ui
# View HTML report
npm run test:e2e:reportE2E Scenarios:
- Complete user journey
- Manuscript upload flow
- Design customization
- Responsive design
- Accessibility
- FCP (First Contentful Paint): < 1.8s
- LCP (Largest Contentful Paint): < 2.5s
- TTI (Time to Interactive): < 3.8s
- CLS (Cumulative Layout Shift): < 0.1
- ✅ Code Splitting: Dynamic imports para componentes pesados
- ✅ Lazy Loading: Componentes carregados on-demand
- ✅ Image Optimization: Next.js Image com AVIF/WebP
- ✅ Caching: React Query com estratégias inteligentes
- ✅ Bundle Size: Otimização de imports e tree-shaking
- ✅ Prefetching: Rotas críticas prefetchadas
📚 Ver PERFORMANCE.md para detalhes completos.
TypeCraft Web foi desenvolvido com acessibilidade como prioridade:
- ✅ SC 1.1.1 - Textos alternativos em todos os elementos não-textuais
- ✅ SC 2.1.1 - Navegação completa por teclado
- ✅ SC 2.1.2 - Sem armadilhas de teclado
- ✅ SC 2.3.3 - Animações respeitam prefers-reduced-motion
- ✅ SC 2.4.1 - Skip-to-content link implementado
- ✅ SC 4.1.2 - ARIA roles, labels e live regions completos
- ARIA Live Regions: Anúncios de progresso e erros
- Keyboard Navigation: Tab order lógico em todos os componentes
- Screen Readers: Labels descritivos e ícones decorativos marcados
- Reduced Motion: Detecção automática de preferências de movimento
- Color Contrast: Mínimo 4.5:1 em todo o site
📚 Ver ACCESSIBILITY.md para documentação completa.
# Install Vercel CLI
npm i -g vercel
# Deploy to preview
vercel
# Deploy to production
vercel --prod# Build image
docker build -t typecraft-web .
# Run container
docker run -p 3000:3000 typecraft-webConfigure no dashboard da Vercel/hosting:
NEXT_PUBLIC_API_URL: URL do backend em produçãoNEXTAUTH_URL: URL do frontend em produçãoNEXTAUTH_SECRET: Secret forte (useopenssl rand -base64 32)- Credenciais do Supabase
- Fork o projeto
- Crie uma feature branch
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
- Escreva testes para novas features
- Mantenha cobertura de testes > 80%
- Siga o estilo de código existente
- Documente mudanças significativas
🎯 Qualidade de Código: Limpo, Semântico, Zero Warnings
- ✅ Stripe API Version: Atualizado para
2025-10-29.clover(compatível com stripe@19.2.0) - ✅ Build Production: Zero TypeScript errors, compilação bem-sucedida em 3.6s
- ✅ Type Safety: Removido unsafe casting
as never, substituído por type-safe readonly arrays - ✅ ESLint Configuration: Adicionado
jsx-a11y/recommendedpara validação automática de acessibilidade - ✅ Strict Mode: Mantido TypeScript strict mode com zero erros
-
✅ ManuscriptUpload Component:
- ARIA roles:
region,progressbar,alert,status - ARIA labels descritivos em todos os elementos interativos
- ARIA live regions:
polite(progresso) eassertive(erros) - Ícones decorativos marcados com
aria-hidden="true"
- ARIA roles:
-
✅ HeroSection Component:
- Suporte a
prefers-reduced-motioncom MediaQuery API - Animações desabilitadas automaticamente quando preferido
- Ícones decorativos com
aria-hidden="true"
- Suporte a
-
✅ Layout Global:
- Skip-to-content link implementado (WCAG SC 2.4.1)
- Navegação por teclado otimizada
- Landmark
<main>com ID para skip link
-
✅ Font Loading:
- Redução de 10+ famílias para 4 essenciais
- Carregamento assíncrono com técnica
media="print"+onLoad - ~60% de redução no tempo de carregamento de fontes
- Preconnect para fonts.googleapis.com e fonts.gstatic.com
-
✅ Lighthouse CI:
- Performance budgets configurados (FCP < 2s, LCP < 2.5s)
- Scores mínimos: Performance 90%, Accessibility 100%
-
✅ Build Metrics:
- Compilação: 3.6s
- 14 páginas estáticas geradas
- Zero warnings de produção
- ✅ ACCESSIBILITY.md: Documentação completa de recursos de acessibilidade
- ✅ PERFORMANCE.md: Guia de otimizações e métricas
- ✅ lighthouserc.json: Configuration para CI/CD com performance budgets
- ✅ README.md: Atualizado com novas funcionalidades
- Deploy to Vercel (frontend production ready)
- Integrar Lighthouse CI no pipeline de deploy
- Adicionar error tracking (Sentry)
- Testes de contraste de cores automatizados
Este projeto está sob a licença MIT. Ver LICENSE para detalhes.
- Juan Carlos: Founder & Lead Developer
- Email: suporte@typecraft.com
- Docs: https://docs.typecraft.com
- Issues: https://github.com/seu-usuario/typecraft/issues
Feito com ❤️ usando Next.js 16 e TypeScript