Varion é uma aplicação full-stack moderna para gerenciamento de projetos, construída com as melhores práticas de desenvolvimento. Oferece uma interface intuitiva para criar, acompanhar e gerenciar projetos com estados customizáveis, sistema de tarefas, comentários e histórico completo de mudanças.
# Clone o repositório
git clone <repository-url>
cd Varion
# Copie as variáveis de ambiente
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# Execute com Docker Compose
docker-compose up --build
URLs da Aplicação:
- 🌐 Frontend: http://localhost:3000
- 🔧 Backend API: http://localhost:3001
- 📚 Documentação da API: http://localhost:3001/api-docs
- 🗄️ Banco de Dados: localhost:5432
# Instalar dependências
pnpm install
# Backend
cd backend
pnpm start:dev
# Frontend (novo terminal)
cd frontend
pnpm dev
- Gerenciamento de Projetos - CRUD completo com códigos únicos
- Sistema de Estados - Estados customizáveis com cores e transições
- Tarefas e To-do - Criação e acompanhamento de tarefas
- Comentários - Sistema de comentários para projetos
- Histórico - Rastreamento completo de mudanças
- Soft Delete - Proteção contra perda acidental de dados
- Design Responsivo - Funciona em desktop, tablet e mobile
- Dark/Light Mode - Tema adaptável
- Drag & Drop - Interface intuitiva para organização
- Kanban Board - Visualização em quadros
- Timeline - Acompanhamento temporal dos projetos
- API RESTful - Documentação Swagger completa
- Validação Robusta - Schemas Zod para validação de dados
- TypeScript - Tipagem forte em todo o projeto
- Testes - Cobertura de testes automatizados
- Docker - Containerização para deploy fácil
📖 Índice Completo da Documentação - Navegue por toda a documentação técnica
- 📋 Arquitetura - Visão geral da arquitetura do sistema
- 🔧 Configuração - Guia completo de instalação e configuração
- 🌍 Variáveis de Ambiente - Documentação completa das variáveis
- 🎯 Desenvolvimento - Ambiente de desenvolvimento e workflow
- 🚀 Deploy - Guia de deploy em produção
- 🐳 Docker - Configuração e deploy com Docker
- 🖥️ Frontend - Documentação técnica do frontend
- 🔧 Backend - Documentação da API e arquitetura
- 📚 API Docs - Referência completa da API REST
- 🚀 Próximos Objetivos - Roadmap estratégico e objetivos 2025
- Next.js 15 - Framework React com App Router
- TypeScript - Tipagem estática
- TailwindCSS - Estilização utilitária
- React 19 - Biblioteca de interface
- Node.js - Runtime JavaScript
- Express - Framework web
- TypeORM - ORM para PostgreSQL
- Zod - Validação de schemas
- Swagger - Documentação da API
- Jest - ✅ 517 testes com 98.58% cobertura
- Docker - Containerização
- PostgreSQL - Banco de dados relacional
- pnpm - Gerenciador de pacotes
- ESLint + Prettier - Qualidade de código
- Testes Automatizados - ✅ Backend completo, Frontend planejado
Varion/
├── backend/ # API REST com Node.js, Express, TypeScript e TypeORM
├── frontend/ # Interface com Next.js 15, React 19 e Tailwind CSS
├── docs/ # Documentação técnica completa
├── docker-compose.yml # Configuração do ambiente Docker
├── pnpm-workspace.yaml # Configuração do workspace pnpm
└── README.md # Este arquivo
# Via Docker (recomendado)
docker-compose up -d db
# Ou configure manualmente:
# - PostgreSQL na porta 5432
# - Database: project_management
# - User: varion
# - Password: configurada no .env
Backend (.env):
DATABASE_URL=postgres://varion:senha@localhost:5432/project_management
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=varion
DB_PASSWORD=sua_senha_aqui
DB_DATABASE=project_management
PORT=3001
JWT_SECRET=seu-jwt-secret-muito-forte
NODE_ENV=development
Frontend (.env.local):
NEXT_PUBLIC_API_URL=http://localhost:3001
📖 Configuração completa: docs/SETUP.md
Desenvolvimento Local:
# Backend (porta 3001)
cd backend && pnpm run start:dev
# Frontend (porta 3000) - em outro terminal
cd frontend && pnpm run dev
Com Docker:
# Ambiente completo de desenvolvimento
docker-compose up --build
# Apenas banco de dados
docker-compose up -d db
🐳 Docker completo: docs/DOCKER.md
- 🔧 README do Backend - Documentação completa da API
- 🎨 README do Frontend - Guia da interface do usuário
- 📚 Documentação da API - Referência completa dos endpoints
- 📊 Avaliação do Frontend - Análise técnica detalhada
- 🛠️ Melhorias do Frontend - Recomendações técnicas
- Fork o repositório
- Clone seu fork:
git clone https://github.com/seu-usuario/Varion.git
- Instale as dependências:
pnpm install
- Crie uma branch:
git checkout -b feature/nova-funcionalidade
- Faça suas alterações e commit:
git commit -m "feat: adiciona nova funcionalidade"
- Push para sua branch:
git push origin feature/nova-funcionalidade
- Abra um Pull Request
- Use TypeScript para tipagem forte
- Siga as configurações do ESLint e Prettier
- Execute
pnpm type-check
antes de fazer commit - Documente novos endpoints na documentação Swagger
Este projeto é licenciado sob a MIT License.
Componente | Status | Versão |
---|---|---|
Backend API | ✅ Funcional | 2.2.0 |
Frontend UI | ✅ Funcional | 0.1.0 |
Documentação | ✅ Atualizada | - |
Docker Setup | ✅ Configurado | - |
Testes Automatizados | ✅ 517 testes passando | 98.58% cobertura |
Autenticação | 🚧 Em desenvolvimento | - |
CI/CD Pipeline | 📋 Planejado | - |
- 🚀 API RESTful Completa - Documentação Swagger interativa
- ⚡ Performance Otimizada - Next.js 15 com App Router
- 🎨 Design Moderno - Interface responsiva com Tailwind CSS
- 🔄 Estados Flexíveis - Sistema customizável de workflow
- 📊 Histórico Completo - Rastreamento de mudanças de status
- 🛡️ Type Safety - TypeScript em todo o stack
- 🧪 Testes Robustos - 517 testes com 98.58% de cobertura
- 🐳 Docker Ready - Ambiente containerizado
Última atualização da documentação: 07 de junho de 2025 Status dos testes: ✅ IMPLEMENTADOS - Ver documentação técnica Status da documentação: ✅ COMPLETA - Ver resumo
Feito com ❤️ usando Next.js, TypeScript e PostgreSQL
Backend:
cd backend
pnpm test
# Para relatório de cobertura:
pnpm test -- --coverage
Frontend:
cd frontend
pnpm test
# Para relatório de cobertura:
pnpm test -- --coverage
Backend:
cd backend
pnpm type-check
pnpm lint
Frontend:
cd frontend
pnpm type-check
pnpm lint
Consulte docs/TESTING.md para detalhes sobre a estratégia de testes.