Plataforma SaaS moderna de gestão de projetos e tarefas estilo Linear/Notion, construída com Django 5 + HTMX + Bootstrap 5.3. Kanban com drag-and-drop, analytics em tempo real, colaboração em equipe, dark mode e muito mais.
- Autenticação completa: cadastro, login, perfil com avatar e configurações.
- Workspaces multi-tenant: cada workspace agrupa projetos, membros e convites.
- Projetos: status, prioridade, cor, prazos, etiquetas e marcos (milestones).
- Kanban inteligente: 6 colunas (Backlog → Concluído), drag-and-drop com Sortable.js e atualização de posição via HTMX.
- Tarefas ricas: responsável, prioridade, etiquetas, subtarefas (checklist), comentários, anexos, log de atividades e suporte a Markdown na descrição.
- Dashboard: cards de métricas, gráfico de linha (criadas vs concluídas em 30 dias), minhas tarefas pendentes e feed de atividade recente.
- Analytics por projeto: gráficos de status e prioridade com Chart.js.
- Dark / Light mode: alternância persistida por usuário via HTMX.
- Convites por e-mail: backend de console (imprime no terminal em dev).
| Camada | Tecnologia |
|---|---|
| Backend | Python 3.12, Django 5.0 |
| Banco | SQLite (dev) / PostgreSQL (produção, via DATABASE_URL) |
| Frontend | Bootstrap 5.3, HTMX 1.9, Alpine.js 3 |
| Gráficos | Chart.js 4 |
| Kanban | Sortable.js |
| Formulários | django-crispy-forms + crispy-bootstrap5 |
| Imagens | Pillow |
| Configuração | django-environ (.env) |
| Testes | pytest-django + factory-boy |
- Python 3.12+ (testado também em 3.13)
- pip e venv
- (Opcional) PostgreSQL para produção
# 1. Clone o repositório
git clone <url-do-repo> nexusflow
cd nexusflow
# 2. Crie e ative um ambiente virtual
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
# 3. Instale as dependências
pip install -r requirements.txt
# 4. Crie o arquivo .env a partir do exemplo
copy .env.example .env # Windows
cp .env.example .env # Linux/macOS
# 5. Aplique as migrações
python manage.py migrate
# 6. Crie um superusuário
python manage.py createsuperuser
# 7. Rode o servidor
python manage.py runserverAcesse http://127.0.0.1:8000/.
Nota sobre Python 3.13: o
requirements.txtfixaPillow==10.3.0(com wheel para Python 3.12). Se você usa Python 3.13, instalePillow>=11no lugar.
| Variável | Descrição |
|---|---|
SECRET_KEY |
Chave secreta do Django. Gere uma única em produção. |
DEBUG |
True em desenvolvimento, False em produção. |
ALLOWED_HOSTS |
Lista de hosts permitidos, separados por vírgula. |
DATABASE_URL |
URL do banco. Ex.: sqlite:///db.sqlite3 ou postgres://.... |
MEDIA_URL |
URL base para uploads (avatares, anexos). |
STATIC_URL |
URL base para arquivos estáticos. |
python manage.py makemigrations # Gera novas migrações
python manage.py migrate # Aplica migrações
python manage.py createsuperuser # Cria admin
python manage.py runserver # Servidor de desenvolvimento
python manage.py collectstatic # Coleta estáticos (produção)
pytest # Roda a suíte de testesnexusflow/
├── manage.py
├── requirements.txt
├── pytest.ini
├── .env.example
├── config/ # Configuração do projeto (settings, urls, wsgi)
├── apps/
│ ├── accounts/ # Usuário customizado, perfil, autenticação
│ ├── workspaces/ # Workspaces, membros, convites
│ ├── projects/ # Projetos, etiquetas, marcos
│ ├── tasks/ # Tarefas, subtarefas, comentários, anexos
│ └── dashboard/ # Dashboard com métricas e gráficos
├── templates/ # base.html, home.html, componentes
├── static/ # CSS e JS customizados
└── tests/ # Testes pytest (models e views)
- Faça login e acesse o Dashboard.
- Clique em "+ Novo Workspace".
- Informe nome, descrição e plano. Você se torna automaticamente o owner.
- Dentro do workspace, crie projetos e comece a adicionar tarefas no kanban.
- Convide membros em Membros → Convidar membro (o link do convite aparece no terminal, pois o e-mail usa o backend de console).
| URL | Descrição |
|---|---|
/ |
Landing page (ou dashboard se logado) |
/accounts/register/ |
Cadastro |
/accounts/login/ |
Login |
/dashboard/ |
Dashboard |
/workspace/<slug>/projects/ |
Lista de projetos |
/admin/ |
Django Admin |
Execute os comandos abaixo, em ordem, a partir da pasta nexusflow/:
# 1. Criar o ambiente virtual
python -m venv .venv
# 2. Ativar o ambiente virtual (Windows)
.venv\Scripts\activate
# (Linux/macOS)
# source .venv/bin/activate
# 3. Instalar as dependências
pip install -r requirements.txt
# (Python 3.13: pip install "Pillow>=11")
# 4. Criar o arquivo de ambiente
copy .env.example .env # Windows
# cp .env.example .env # Linux/macOS
# 5. Gerar as migrações
python manage.py makemigrations
# 6. Aplicar as migrações
python manage.py migrate
# 7. Criar o superusuário
python manage.py createsuperuser
# 8. (Opcional) Rodar os testes
pytest
# 9. Iniciar o servidor de desenvolvimento
python manage.py runserver
# 10. Abrir no navegador
# http://127.0.0.1:8000/© 2026 NexusFlow — feito com Django.