🧭 notion-workspace-app
Aplicação local completa para operar o Notion com API Django, SPA React, servidor MCP e launcher TUI.
📋 Índice
- 📖 Sobre o Projeto
- 📁 Estrutura do Projeto
- 🚀 Componentes
- ✨ Funcionalidades
- 🎯 Como Usar
- 🔐 Configuração e Segurança
- ✅ Qualidade
- 📄 Licença
- 👤 Autor
- 🤝 Contribuições
📖 Sobre o Projeto
O notion-workspace-app reúne quatro interfaces sobre o mesmo núcleo de dados:
uma API REST Django, uma SPA React, um servidor MCP para clientes de IA
e um launcher TUI que prepara e inicia o ambiente. A aplicação permite
gerenciar tarefas em kanban, grade ou lista, explorar o workspace e sincronizar
repositórios do GitHub com databases do Notion.
A regra de negócio compartilhada vem da biblioteca
notion-starter. Este
repositório mantém as bordas Django, React e MCP, além da configuração específica
do produto. A porta de entrada recomendada é python start_app.py.
O projeto integra o ecossistema Automações do Notion.
📁 Estrutura do Projeto
notion-workspace-app/
│
├── 📁 server/ # Backend Django e servidor MCP
│ ├── 📁 api/ # Views, serializers e rotas REST
│ ├── 📁 config/ # Configuração do projeto Django
│ ├── 📁 integrations/ # Notion local e shims de adaptadores
│ ├── 📁 operations/ # Estado operacional em SQLite
│ ├── 📁 services/ # Shims dos casos de uso compartilhados
│ └── mcp_server.py # Ferramentas notion.*
│
├── 📁 front/ # SPA React com Vite
│ ├── 📁 src/components/ # Interface, tarefas e exploração
│ ├── 📁 src/hooks/ # Estado e acesso à API
│ └── package-lock.json # Resolução reproduzível do frontend
│
├── 📁 tests/ # Suíte Python automatizada
├── .github/workflows/ci.yml # Gates Python e frontend
├── start_app.py # Menu interativo de entrada
├── requirements.txt # Dependências Python
├── QUALIDADE.md # Contrato de qualidade do módulo
├── README.md # Este arquivo
└── LICENSE # Licença MIT
Na distribuição 0.3.0, front/ é usado apenas no desenvolvimento: o workflow
de release compila a SPA para server/static/frontend/ e o wheel leva esse
bundle. Assim, a instalação de usuário não precisa de Node/npm.
🚀 Componentes
| Camada | Pasta | Descrição |
|---|---|---|
| Launcher | start_app.py |
TUI que instala dependências, configura e sobe servidor e front |
| API | server/api/ |
REST Django para tarefas, exploração e opções |
| Services | server/services/ |
Shims para tarefas, clonagem, ingestão, IA e GitHub |
| Integrações | server/integrations/ |
Notion local e shims para GitHub/OpenRouter |
| MCP | server/mcp_server.py |
Servidor que expõe operações notion.* para IAs |
| Front | front/ |
SPA React com kanban, filtros e exploração do workspace |
✨ Funcionalidades
- visualizar tarefas em kanban, grade e lista;
- buscar e filtrar tarefas por status, duração e área;
- criar e editar tarefas pela interface;
- explorar páginas e databases compartilhados;
- sincronizar repositórios GitHub com databases do Notion;
- expor operações para clientes de IA via MCP;
- iniciar Django e Vite em conjunto pelo launcher interativo.
Exemplo de fluxo: ação na SPA → API Django → serviço compartilhado → API do Notion.
🎯 Como Usar
Instalação distribuída
Para usar o ecossistema completo, instale a fachada única:
pipx install "notion-automacoes[app]"
# ou: uv tool install "notion-automacoes[app]"
notion-automacoes doctor
notion-automacoes app start
notion-automacoes mcp start
O release técnico candidato é 0.3.0; a publicação no PyPI aguarda confirmação
de nome/ownership/metadados legais. Consulte o guia do hub para a sequência de
release e o smoke em Windows, macOS e Linux.
Início rápido
O fluxo abaixo é o de desenvolvimento pelo checkout:
# Clone o repositório
git clone https://github.com/Felipe-Alcantara/notion-workspace-app.git
cd notion-workspace-app
# Instale as dependências Python de desenvolvimento
python -m pip install -e ".[dev]"
# Crie a configuração local e preencha os valores necessários
cp .env.example .env
# Abra o menu que instala, configura e inicia o produto
python start_app.py
No checkout, o launcher aplica as migrações, sobe Django e Vite e abre o navegador. Pelo menu também é possível instalar dependências, configurar o ambiente e conferir o status dos componentes.
Quando executado a partir do wheel, o mesmo launcher sobe apenas o Django e serve a SPA empacotada; Node/npm não são consultados.
🔐 Configuração e Segurança
Use .env.example como modelo e mantenha o .env apenas na máquina local. Para
operar o workspace, configure NOTION_TOKEN e, quando aplicável,
NOTION_DATABASE_ID.
Nunca versione tokens, IDs reais ou bancos SQLite. Os testes usam mocks e não dependem de credenciais reais.
✅ Qualidade
Gate Python, executado na raiz:
python -m ruff check .
python -m pytest
Gate da SPA:
cd front
npm run lint
npm run build
A CI executa Python 3.10–3.13 e um job Node 22 com npm ci. Consulte
QUALIDADE.md para o critério de pronto e a política de
dependências.
📄 Licença
Este projeto está sob a licença MIT — veja LICENSE.
👤 Autor
Felipe Martin
- GitHub: @Felipe-Alcantara
- Repositório: notion-workspace-app
🤝 Contribuições
Contribuições são bem-vindas. Algumas ideias para quem quiser colaborar:
- ampliar a escrita genérica na aba Explorar;
- criar novas visualizações e interações no kanban;
- melhorar o empacotamento do launcher;
- expandir acessibilidade, testes e documentação.
Leia CONTRIBUTING.md antes de enviar uma mudança.
⭐ Se o app foi útil, considere dar uma estrela no GitHub.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file notion_workspace_app-0.3.0.tar.gz.
File metadata
- Download URL: notion_workspace_app-0.3.0.tar.gz
- Upload date:
- Size: 149.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47a8e5c16e26d4ff74370008d75ab4fbf575759bb18df454663f3bb40cbf009c
|
|
| MD5 |
a74f86db0ca3f097c9bdc517ebcfa697
|
|
| BLAKE2b-256 |
134b690e8f0134090e735aa6f36155d14adb523cfc3dfb980647119e7eac7818
|
Provenance
The following attestation bundles were made for notion_workspace_app-0.3.0.tar.gz:
Publisher:
release.yml on Felipe-Alcantara/notion-workspace-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notion_workspace_app-0.3.0.tar.gz -
Subject digest:
47a8e5c16e26d4ff74370008d75ab4fbf575759bb18df454663f3bb40cbf009c - Sigstore transparency entry: 2714964308
- Sigstore integration time:
-
Permalink:
Felipe-Alcantara/notion-workspace-app@fc6db7cf5dce2ab1ca2e061e2c1e1db5f33b50c1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Felipe-Alcantara
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fc6db7cf5dce2ab1ca2e061e2c1e1db5f33b50c1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file notion_workspace_app-0.3.0-py3-none-any.whl.
File metadata
- Download URL: notion_workspace_app-0.3.0-py3-none-any.whl
- Upload date:
- Size: 165.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f56f8dbf287aef1be42b59cf4d0af255eefee51e23c5b20076b5a060f414a231
|
|
| MD5 |
4f796e0bf6fb7c00ff23f5a404a94be0
|
|
| BLAKE2b-256 |
7c15a4a20510c0becbb799c36ed1d973e55873f362880d59c8ae5d0557a47ba7
|
Provenance
The following attestation bundles were made for notion_workspace_app-0.3.0-py3-none-any.whl:
Publisher:
release.yml on Felipe-Alcantara/notion-workspace-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notion_workspace_app-0.3.0-py3-none-any.whl -
Subject digest:
f56f8dbf287aef1be42b59cf4d0af255eefee51e23c5b20076b5a060f414a231 - Sigstore transparency entry: 2714964404
- Sigstore integration time:
-
Permalink:
Felipe-Alcantara/notion-workspace-app@fc6db7cf5dce2ab1ca2e061e2c1e1db5f33b50c1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Felipe-Alcantara
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fc6db7cf5dce2ab1ca2e061e2c1e1db5f33b50c1 -
Trigger Event:
push
-
Statement type: