Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ NexusFlow

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.


✨ Features

  • 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).

🛠️ Tech Stack

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

📋 Pré-requisitos

  • Python 3.12+ (testado também em 3.13)
  • pip e venv
  • (Opcional) PostgreSQL para produção

🚀 Instalação passo a passo

# 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 runserver

Acesse http://127.0.0.1:8000/.

Nota sobre Python 3.13: o requirements.txt fixa Pillow==10.3.0 (com wheel para Python 3.12). Se você usa Python 3.13, instale Pillow>=11 no lugar.


🔧 Variáveis de ambiente (.env)

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.

🧰 Comandos úteis

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 testes

📁 Estrutura de pastas

nexusflow/
├── 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)

➕ Como adicionar um novo workspace

  1. Faça login e acesse o Dashboard.
  2. Clique em "+ Novo Workspace".
  3. Informe nome, descrição e plano. Você se torna automaticamente o owner.
  4. Dentro do workspace, crie projetos e comece a adicionar tarefas no kanban.
  5. Convide membros em Membros → Convidar membro (o link do convite aparece no terminal, pois o e-mail usa o backend de console).

🔐 Admin e URLs principais

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

🚀 PASSOS PARA RODAR O PROJETO

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.

About

Plataforma SaaS de gestão de projetos e tarefas com Django 5, HTMX e Bootstrap 5.3, com kanban drag-and-drop, dashboard analítico em tempo real, colaboração por workspaces e autenticação completa.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages