Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

code-cfernandes/Varion

Repository files navigation

Varion - Sistema de Gerenciamento de Projetos

Node.js Next.js TypeScript PostgreSQL Docker

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.

🚀 Início Rápido

Usando Docker (Recomendado)

# 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:

Desenvolvimento Local

# Instalar dependências
pnpm install
# Backend
cd backend
pnpm start:dev
# Frontend (novo terminal)
cd frontend
pnpm dev

📋 Funcionalidades

🎯 Core Features

  • 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

🎨 Interface

  • 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

🔧 Técnicas

  • 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

📚 Documentação

📖 Índice Completo da Documentação - Navegue por toda a documentação técnica

🏗️ Documentação Técnica

🔧 Documentação por Módulo

  • 🖥️ Frontend - Documentação técnica do frontend
  • 🔧 Backend - Documentação da API e arquitetura
    • 📚 API Docs - Referência completa da API REST

🛡️ Qualidade e Segurança

  • 🧪 Testes - Estratégias de teste e qualidade
  • 🔒 Segurança - Práticas de segurança e compliance

🎯 Planejamento e Roadmap

🛠️ Stack Tecnológico

Frontend

  • Next.js 15 - Framework React com App Router
  • TypeScript - Tipagem estática
  • TailwindCSS - Estilização utilitária
  • React 19 - Biblioteca de interface

Backend

  • 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

DevOps & Qualidade

  • Docker - Containerização
  • PostgreSQL - Banco de dados relacional
  • pnpm - Gerenciador de pacotes
  • ESLint + Prettier - Qualidade de código
  • Testes Automatizados - ✅ Backend completo, Frontend planejado

🏗️ Arquitetura

Estrutura do Projeto

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

Configuração do Banco de Dados

# Via Docker (recomendado)
docker-compose up -d db
# Ou configure manualmente:
# - PostgreSQL na porta 5432
# - Database: project_management
# - User: varion
# - Password: configurada no .env

⚙️ Configuração

Variáveis de Ambiente

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

Executar o Projeto

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

📖 Links Úteis

🤝 Como Contribuir

  1. Fork o repositório
  2. Clone seu fork: git clone https://github.com/seu-usuario/Varion.git
  3. Instale as dependências: pnpm install
  4. Crie uma branch: git checkout -b feature/nova-funcionalidade
  5. Faça suas alterações e commit: git commit -m "feat: adiciona nova funcionalidade"
  6. Push para sua branch: git push origin feature/nova-funcionalidade
  7. Abra um Pull Request

Padrões de Código

  • 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

📄 Licença

Este projeto é licenciado sob a MIT License.


📊 Status do Projeto

TypeScript Next.js Node.js PostgreSQL Docker

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 -

🌟 Recursos Destacados

  • 🚀 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

🧪 Testes e Qualidade de Código

Rodar Testes Automatizados

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

Checagem de Tipos e Lint

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.


About

Sistema de gerenciamento de projetos full-stack com Node.js, Next.js 15 e TypeScript. Kanban board, histórico de mudanças e 517 testes com 98.58% de cobertura.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /