Uma aplicação web completa para gestão de projetos e tarefas, inspirada no Asana, desenvolvida com React (frontend) e Flask (backend).
- Sistema de Autenticação: Login e registro de usuários com JWT
- Dashboard: Interface principal com listagem de projetos
- Gestão de Projetos: Criação, visualização e gerenciamento de projetos
- Gestão de Tarefas: Criação, edição, conclusão e exclusão de tarefas
- Workspaces: Organização de projetos em workspaces
- Interface Responsiva: Design moderno e responsivo
- Grafo de Trabalho: Implementação completa dos modelos de dados (User, Workspace, Project, Task)
- API RESTful: Endpoints completos para todas as operações CRUD
- Autenticação JWT: Sistema seguro de autenticação
- Banco de Dados: SQLite com SQLAlchemy ORM
- Flask: Framework web Python
- SQLAlchemy: ORM para banco de dados
- Flask-CORS: Suporte a CORS
- PyJWT: Autenticação JWT
- SQLite: Banco de dados
- React: Biblioteca JavaScript
- TypeScript: Tipagem estática
- React Router: Roteamento
- Axios: Cliente HTTP
- CSS3: Estilização moderna
projeto-clareza/
├── server/
│ └── projeto-clareza-backend/
│ ├── src/
│ │ ├── models/
│ │ │ └── work_graph.py # Modelos de dados
│ │ ├── routes/
│ │ │ ├── auth.py # Autenticação
│ │ │ ├── projects.py # Gestão de projetos
│ │ │ ├── tasks.py # Gestão de tarefas
│ │ │ ├── workspaces.py # Gestão de workspaces
│ │ │ └── user.py # Gestão de usuários
│ │ └── main.py # Aplicação principal
│ ├── run_server.py # Servidor de desenvolvimento
│ ├── requirements.txt # Dependências Python
│ └── venv/ # Ambiente virtual
└── client/
├── src/
│ ├── components/
│ │ ├── Auth/ # Componentes de autenticação
│ │ ├── Dashboard/ # Dashboard principal
│ │ └── Projects/ # Componentes de projetos
│ ├── contexts/ # Contextos React
│ ├── services/ # Serviços de API
│ └── App.tsx # Componente principal
├── package.json # Dependências Node.js
└── .env # Configurações
- Python 3.11+
- Node.js 20+
- npm ou yarn
cd server/projeto-clareza-backend
source venv/bin/activate
pip install -r requirements.txt
python run_server.pyO backend estará disponível em: http://localhost:5001
cd client
npm install
npm startO frontend estará disponível em: http://localhost:3000
gid: ID úniconame: Nome do usuárioemail: Email (único)photo: URL da foto (opcional)
gid: ID úniconame: Nome do workspaceis_organization: Booleano para organizaçãoemail_domains: Domínios de email permitidos
gid: ID úniconame: Nome do projetoworkspace_gid: ID do workspaceowner_gid: ID do proprietáriodefault_view: Visualização padrão (list, board, calendar, timeline)color: Cor do projetoprivacy_setting: Configuração de privacidadedue_on: Data de vencimentostart_on: Data de início
gid: ID úniconame: Nome da tarefanotes: Descrição detalhadaassignee_gid: ID do responsávelcompleted: Status de conclusãoworkspace_gid: ID do workspacedue_on: Data de vencimentostart_on: Data de inícioparent_gid: ID da tarefa pai (para subtarefas)
POST /api/auth/register- Registrar usuárioPOST /api/auth/login- LoginGET /api/auth/me- Obter usuário atual
GET /api/workspaces- Listar workspacesPOST /api/workspaces- Criar workspaceGET /api/workspaces/{id}- Obter workspacePUT /api/workspaces/{id}- Atualizar workspaceDELETE /api/workspaces/{id}- Deletar workspace
GET /api/projects- Listar projetosPOST /api/projects- Criar projetoGET /api/projects/{id}- Obter projetoPUT /api/projects/{id}- Atualizar projetoDELETE /api/projects/{id}- Deletar projetoGET /api/projects/{id}/tasks- Listar tarefas do projeto
GET /api/tasks- Listar tarefasPOST /api/tasks- Criar tarefaGET /api/tasks/{id}- Obter tarefaPUT /api/tasks/{id}- Atualizar tarefaDELETE /api/tasks/{id}- Deletar tarefaPOST /api/tasks/{id}/projects- Adicionar tarefa ao projetoDELETE /api/tasks/{id}/projects/{project_id}- Remover tarefa do projeto
- Design moderno com gradiente
- Alternância entre login e registro
- Validação de formulários
- Feedback de erros
- Header com informações do usuário
- Seletor de workspace
- Listagem de projetos em cards
- Botão para criar novos projetos
- Cabeçalho com informações do projeto
- Barra de progresso visual
- Listagem de tarefas organizadas por status
- Funcionalidade para marcar tarefas como concluídas
- Botão para criar novas tarefas
-
Registro de Usuário: ✅ Funcionando
- Criação de usuário "João Silva" com email "joao@teste.com"
- Redirecionamento automático para dashboard
-
Autenticação: ✅ Funcionando
- Login com credenciais válidas
- Persistência de sessão
- Proteção de rotas
-
Backend APIs: ✅ Funcionando
- Criação de workspace via API
- Criação de projeto via API
- Criação de tarefa via API
- Todas as APIs retornando dados corretos
-
Interface de Projeto: ✅ Funcionando
- Visualização de detalhes do projeto
- Contagem de tarefas
- Barra de progresso
- Design responsivo
REACT_APP_API_URL: URL da API (padrão: http://localhost:5001/api)JWT_SECRET: Chave secreta para JWT (backend)
- Frontend: 3000
- Backend: 5001
Para expandir a aplicação, considere implementar:
- Upload de arquivos
- Comentários em tarefas
- Notificações em tempo real
- Relatórios e dashboards
- Integração com calendário
- Aplicativo mobile
- Deploy em produção
Este projeto foi desenvolvido seguindo as especificações da documentação técnica fornecida, implementando uma versão completa e funcional da plataforma de gestão de trabalho.
Projeto desenvolvido para fins educacionais e demonstrativos.