Skip to content

w1ze55/ServiTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

248 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ServiTask - Sistema de Kanban Completo

ServiTask Status Version

Sistema completo de gerenciamento de tarefas com Kanban, autenticação robusta e perfil de usuário

🚀 Início Rápido📋 Funcionalidades🛠️ Tecnologias📚 Documentação


🚀 Início Rápido

1. Configurar Variáveis de Ambiente

# Clone o repositório (se necessário)
git clone https://github.com/w1ze55/ServiTask.git
cd ServiTask

# Copie o arquivo de exemplo e configure suas credenciais
cp .env.example .env

# É importante sempre deixar um token JWT para não haver conflito no sistema
# Edite o arquivo .env com suas credenciais seguras
# IMPORTANTE: Altere as senhas padrão por questões de segurança!

2. Iniciar o Sistema

cd frontend

# Faça download das dependências
npm i
cd ..

# Inicie todos os containers
docker-compose up -d --build
# (necessário possuir o docker desktop instalado e rodando na sua máquina)

3. Acessar a Aplicação

4. Primeiro Acesso

  1. Acesse http://localhost:3000/auth
  2. Clique em "Criar conta"
  3. Preencha seus dados com senha segura
  4. Faça login automaticamente
  5. Comece a usar o sistema!

📋 Funcionalidades

🔐 Autenticação e Perfil

  • Cadastro de usuários com validações robustas
  • Login seguro com JWT e sessões persistentes
  • Perfil completo com foto, nome e email
  • Upload de foto salva no banco de dados
  • Alteração de senha com validação da senha atual
  • Validação de senha forte (8+ chars, maiúscula, minúscula, número, especial)
  • Mensagens de erro específicas para cada problema

📊 Sistema Kanban

  • Quadros personalizados para organizar projetos
  • Colunas customizáveis (A Fazer, Em Progresso, Concluído, etc.)
  • Cards de tarefas com título, descrição e prioridade
  • Drag & Drop para mover cards entre colunas
  • Cores por prioridade (Alta=vermelho, Média=amarelo, Baixa=verde)
  • CRUD completo para quadros, colunas e cards

🎨 Interface e Experiência

  • Design moderno com gradientes e animações
  • Responsivo para desktop e mobile
  • Sidebar inteligente com foto do usuário
  • Feedback visual em tempo real
  • Temas escuros com efeitos de blur
  • Indicadores de validação em tempo real

🔒 Segurança

  • Autenticação JWT com refresh automático
  • Senhas criptografadas com BCrypt
  • Validação dupla (frontend + backend)
  • Isolamento de dados por usuário
  • Headers de segurança e CORS configurado

🛠️ Tecnologias

Backend

  • Java 17 - Linguagem principal
  • Spring Boot 3 - Framework principal
  • Spring Security 6 - Autenticação e autorização
  • JWT - Tokens de acesso
  • JPA/Hibernate - ORM para banco de dados
  • MySQL 8 - Banco de dados relacional
  • Maven - Gerenciamento de dependências

Frontend

  • React 18 - Framework JavaScript
  • Vite - Build tool moderno
  • CSS3 - Estilização avançada com gradientes
  • Fetch API - Comunicação com backend
  • Local Storage - Cache de dados do usuário

DevOps

  • Docker - Containerização
  • Docker Compose - Orquestração de containers
  • Nginx - Servidor web para frontend
  • Multi-stage builds - Otimização de imagens

📚 Documentação

Para informações detalhadas sobre o sistema, consulte a documentação completa na pasta Docs/:

📖 Documentos Disponíveis

Documento Descrição Link
🔄 Fluxos e Processos Diagramas e fluxos de trabalho do sistema Docs/FLUXOS_E_PROCESSOS.md
📋 Regras de Negócio Especificações detalhadas das funcionalidades Docs/REGRAS_DE_NEGOCIO.md
🚀 API Documentation Endpoints, requests, responses e exemplos Docs/API_DOCUMENTATION.md
🔐 Validação de Senha Sistema completo de validação robusta de senhas Docs/VALIDACAO_SENHA.md

🎯 Leitura Recomendada

  1. Iniciantes: Comece com REGRAS_DE_NEGOCIO.md
  2. Desenvolvedores: Continue com API_DOCUMENTATION.md
  3. Arquitetos: Consulte FLUXOS_E_PROCESSOS.md

🏗️ Arquitetura

ServiTask/
├── 📁 backend/                    # API Spring Boot
│   ├── 📄 pom.xml                # Configurações Maven
│   ├── 📄 Dockerfile             # Container do backend
│   ├── 🔧 mvnw / mvnw.cmd        # Maven Wrapper
│   └── 📁 src/
│       ├── 📁 main/
│       │   ├── 📁 java/com/servitask/
│       │   │   ├── 🎮 controller/     # Endpoints REST
│       │   │   ├── 📦 service/        # Lógica de negócio
│       │   │   ├── 🗃️ repository/     # Acesso aos dados
│       │   │   ├── 🏗️ entity/         # Modelos JPA
│       │   │   ├── 📋 dto/            # Objetos de transferência
│       │   │   ├── 🔧 config/         # Configurações (Security, JWT, CORS)
│       │   │   ├── 🛠️ util/           # Utilitários
│       │   │   ├── ⚠️ exception/       # Tratamento de exceções
│       │   │   └── 🚀 ServitaskApplication.java
│       │   └── 📁 resources/          # Configurações e recursos
│       └── 📁 test/                   # Testes unitários
├── 📁 frontend/                   # Interface React
│   ├── 📄 package.json           # Dependências Node.js
│   ├── 📄 vite.config.js         # Configurações Vite
│   ├── 📄 nginx.conf             # Configurações Nginx
│   ├── 📄 Dockerfile             # Container do frontend
│   └── 📁 src/
│       ├── 🎨 components/        # Componentes reutilizáveis
│       ├── 📄 pages/             # Páginas da aplicação
│       ├── 🔧 services/          # Comunicação com API
│       ├── 🎭 assets/            # Recursos estáticos
│       ├── 🛠️ utils/             # Funções utilitárias
│       ├── 📱 App.jsx            # Componente principal
│       └── 🎯 main.jsx           # Ponto de entrada
├── 📁 Docs/                      # Documentação completa
│   ├── 📋 REGRAS_DE_NEGOCIO.md   # Especificações das funcionalidades
│   ├── 🚀 API_DOCUMENTATION.md   # Documentação da API
│   ├── 🔄 FLUXOS_E_PROCESSOS.md  # Diagramas e fluxos
│   └── 🔐 VALIDACAO_SENHA.md     # Sistema de validação
├── 🐳 docker-compose.yml         # Orquestração dos containers
├── 📋 README.md                  # Documentação principal
├── ⚙️ .env                       # Configuração do MySql e JWT
└── 🔒 .gitignore                 # Arquivos ignorados pelo Git

🔧 Configuração Avançada

Variáveis de Ambiente

O projeto usa arquivo .env para configurações sensíveis:

# Copie o arquivo de exemplo
cp .env.example .env

# Edite o .env com suas credenciais:
MYSQL_ROOT_PASSWORD=sua_senha_root_segura
MYSQL_DATABASE=servitask
MYSQL_USER=seu_usuario_mysql
MYSQL_PASSWORD=sua_senha_mysql_segura
JWT_SECRET=sua-chave-jwt-muito-segura-de-pelo-menos-32-caracteres
JWT_EXPIRATION=86400000
SPRING_PROFILES_ACTIVE=docker

⚠️ IMPORTANTE:

  • Nunca commite o arquivo .env no Git
  • Use senhas fortes e diferentes para cada ambiente
  • O arquivo .env.example mostra quais variáveis são necessárias

Comandos Úteis

# Parar todos os containers
docker-compose down

# Reconstruir o sistema no Docker
docker-compose up --build -d

# Ver logs do backend
docker logs servitask-backend -f

# Acessar banco de dados
docker exec -it servitask-mysql mysql -u servitask -p # Senha utilizada no .env (MYSQL_PASSWORD=sua_senha)

👥 Colaboradores

Este projeto foi desenvolvido em colaboração com:

ServiTask - Sistema de Kanban Completo 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •