Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CAFernandes/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

No description or website provided.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages