Sistema completo de gerenciamento de tarefas com Kanban, autenticação robusta e perfil de usuário
🚀 Início Rápido • 📋 Funcionalidades • 🛠️ Tecnologias • 📚 Documentação
# 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!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)- 🌐 Frontend: http://localhost:3000
- ⚡ Backend API: http://localhost:8080
- 🗄️ MySQL: localhost:3309
- Acesse http://localhost:3000/auth
- Clique em "Criar conta"
- Preencha seus dados com senha segura
- Faça login automaticamente
- Comece a usar o sistema!
- ✅ 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
- ✅ 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
- ✅ 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
- ✅ 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
- 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
- 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
- Docker - Containerização
- Docker Compose - Orquestração de containers
- Nginx - Servidor web para frontend
- Multi-stage builds - Otimização de imagens
Para informações detalhadas sobre o sistema, consulte a documentação completa na pasta Docs/:
| 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 |
- Iniciantes: Comece com
REGRAS_DE_NEGOCIO.md - Desenvolvedores: Continue com
API_DOCUMENTATION.md - Arquitetos: Consulte
FLUXOS_E_PROCESSOS.md
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
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- Nunca commite o arquivo
.envno Git - Use senhas fortes e diferentes para cada ambiente
- O arquivo
.env.examplemostra quais variáveis são necessárias
# 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)Este projeto foi desenvolvido em colaboração com:
- @fshenrique6 - Henrique Ferreira
- @Txddyt1 - Igor Schuller
- @w1ze55 - Caue Peres
ServiTask - Sistema de Kanban Completo 🚀