TODO
✅ Checklist de Unificação do Projeto Pikachu
Olá, Pedro! Este é o seu plano de tarefas, em formato de checklist, para unificar todos os módulos do projeto sob um único backend (main.py) e um único frontend (project_kanban_pro_2025).
Siga estes passos com calma. Cada etapa é desenhada para ser um bloco de construção para a próxima.
Fase 1: Centralização e Limpeza do Backend
O objetivo desta fase é definir o main.py como o coração do backend e organizar a estrutura de pastas para refletir isso.
-
1.1: Mover o
main.pypara a pastabackend:- Mova o arquivo
main.pyda raiz do projeto para a pasta/backend. Isso consolidará todo o código Python do servidor em um único lugar. - Renomeie o arquivo
/backend/main.pypara/backend/app.pypara seguir um padrão mais comum em projetos Flask.
- Mova o arquivo
-
1.2: Unificar Dependências:
- Revise todos os arquivos
requirements.txtdos subprojetos (pikachu-API,astro-system, etc.). - Copie todas as dependências (Flask, pandas, openpyxl, crewai, etc.) para o arquivo
/backend/requirements.txt. - Delete os outros arquivos
requirements.txtpara evitar confusão.
- Revise todos os arquivos
-
1.3: Arquivar Servidores Antigos:
- Delete os arquivos de servidor que não serão mais usados, como
server/app.py,pikachu_server_sqlite.py, e os váriosmain.pyeapp.pydentro de/pikachu-API. - Objetivo: Ao final desta etapa, o único servidor a ser executado no projeto será o
/backend/app.py.
- Delete os arquivos de servidor que não serão mais usados, como
Fase 2: Integração do Kanban com o Backend (main.py)
Agora, vamos fazer seu frontend do Kanban (project_kanban_pro_2025) usar o main.py para persistir dados, mantendo a sua arquitetura com Repository.jsx.
-
2.1: Adicionar o
KanbanStrategyno Backend:- Abra o arquivo
/backend/app.py(o antigomain.py). - Crie uma nova classe
KanbanCRUDStrategy(CRUDStrategy), similar àTodoCRUDStrategy. - Implemente os métodos
create,read,updateedeletepara que eles leiam e salvem os dados em um novo arquivoKanban.xlsxe em uma nova tabelaKanbanno SQLite.
- Abra o arquivo
-
2.2: Adicionar as Rotas da API do Kanban:
- Dentro da classe
FlaskServerno seu/backend/app.py, adicione as rotas para o Kanban:GET /api/kanban: Deve chamar o métodoreaddoKanbanCRUDStrategy.POST /api/kanban: Deve chamar o métodocreate.PUT /api/kanban/<item_id>: Deve chamar o métodoupdate.DELETE /api/kanban/<item_id>: Deve chamar o métododelete.
- Dentro da classe
-
2.3: Modificar o
Repository.jsxdo Frontend:- Edite o arquivo
/frontend/project_kanban_pro_2025/app/Repository.jsx. - Altere o método
loadProjectspara fazer uma chamadafetchpara a nova rotaGET /api/kanban. - Altere o método
saveProjectspara fazer uma chamadaPOST /api/kanban(ou crie métodos mais granulares comoupdateProjectInApi, se preferir, e chame-os dentro do hookuseProjects). - Importante: O
page.jsxnão precisa mudar, pois ele continuará chamando os métodos doRepository.jsx, como você pediu.
- Edite o arquivo
Fase 3: Integração dos Outros Microserviços
Vamos trazer as funcionalidades dos outros projetos para dentro do main.py como Strategies ou Blueprints.
-
3.1: Integrar a API “Astro”:
- Copie a lógica das rotas do arquivo
/pikachu-API/astro-system/src/routes/astro.py. - Crie um novo Blueprint,
/backend/controllers/astro_routes.py. - Cole a lógica das rotas lá.
- No
/backend/app.py, registre este novo blueprint com o prefixo/api/astro.
- Copie a lógica das rotas do arquivo
-
3.2: Integrar a API de Gestão de Projetos:
- Esta é a API do
raichu_web_server.pyque gerenciaUsers,TaskseProjects. - Para cada um (User, Task, Project), crie uma nova
Strategycorrespondente no/backend/app.py. - Adicione as tabelas
User,TaskeProjectao métodoinit_sqliteno/backend/app.py. - Adicione as rotas CRUD (
/api/users,/api/tasks,/api/projects) na classeFlaskServer, cada uma usando sua respectivaStrategy.
- Esta é a API do
Fase 4: Documentação e Finalização
Com tudo unificado, o passo final é documentar e facilitar o uso.
-
4.1: Atualizar o
README.mdPrincipal:- Revise o
README.mdda raiz do projeto para garantir que ele reflete a nova estrutura final, com o/backend/app.pycomo único servidor. - Atualize as instruções de “Como Executar”.
- Revise o
-
4.2: Criar o
Dockerfile:- Crie um
Dockerfilena raiz do projeto. - Use um multi-stage build:
1. Um estágio
nodepara compilar o frontend Next.js (npm run build). 2. Um estágio finalpythonque copia o backend e o frontend compilado, instala as dependências Python e usagunicornpara executar o/backend/app.py.
- Crie um
-
4.3: Documentar o Padrão de Desenvolvimento:
- Adicione uma seção ao
README.mdexplicando como um novo desenvolvedor pode adicionar uma nova funcionalidade seguindo o padrão que criamos (criar aStrategy, adicionar a rota naFlaskServer, etc.).
- Adicione uma seção ao
Use esta checklist para guiar seus próximos passos. Quando você se sentir pronto para continuar, podemos começar pelo item que você escolher.