Portal TransformaΓ§Γ£o Digital
MODULO 4.2

πŸ“ Estrutura do Projeto

Organizacao de pastas, arquivos principais e configuracoes do NotebookLMX.

6
Topicos
~35
Minutos
Avanc.
Nivel
Pratico
Tipo
1

πŸ“ Organizacao de pastas

A estrutura segue padroes de projetos Python modernos com separacao clara de responsabilidades.

notebooklmx/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ main.py              # Entry point FastAPI
β”‚   β”œβ”€β”€ config.py            # Configuracoes
β”‚   β”œβ”€β”€ database.py          # SQLite setup
β”‚   β”œβ”€β”€ routers/             # Endpoints
β”‚   β”‚   β”œβ”€β”€ notebooks.py
β”‚   β”‚   β”œβ”€β”€ sources.py
β”‚   β”‚   └── chat.py
β”‚   β”œβ”€β”€ services/            # Logica de negocio
β”‚   β”‚   β”œβ”€β”€ pipeline.py      # Pipeline Universal
β”‚   β”‚   └── persona_utils.py # Governanca Cognitiva
β”‚   β”œβ”€β”€ generators/          # Geradores de artefatos
β”‚   β”‚   β”œβ”€β”€ docx_gen.py
β”‚   β”‚   β”œβ”€β”€ audio_gen.py
β”‚   β”‚   └── video_gen.py
β”‚   └── models/              # Schemas Pydantic
β”œβ”€β”€ static/                  # Frontend
β”œβ”€β”€ tests/
β”œβ”€β”€ .env.example
β”œβ”€β”€ requirements.txt
└── README.md
2

πŸ“‹ Principais arquivos

main.py

Inicializacao FastAPI, CORS, routers, lifespan events

pipeline.py

Implementacao dos 9 passos do Pipeline Universal

persona_utils.py

Sistema de personas e preferencias

database.py

Conexao SQLite, modelos, queries de auditoria

3

πŸ”§ Configuracoes

Variaveis de ambiente e configuracoes do sistema.

# .env
GEMINI_API_KEY=your_api_key
DATABASE_URL=sqlite:///./notebooklmx.db
LOG_LEVEL=INFO
MAX_TOKENS=8192
DEFAULT_PERSONA=professional
ENABLE_COST_TRACKING=true
STORAGE_PATH=./storage
4

πŸ“Š Dependencias

# requirements.txt
fastapi==0.109.0
uvicorn==0.27.0
google-generativeai==0.3.2
python-dotenv==1.0.0
pydantic==2.5.3
python-multipart==0.0.6
python-docx==1.1.0
gtts==2.5.0
moviepy==1.0.3
aiosqlite==0.19.0
structlog==24.1.0
5

πŸš€ Setup e instalacao

Passos para rodar

# 1. Clone o repositorio
git clone https://github.com/example/notebooklmx.git
cd notebooklmx

# 2. Crie ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou: venv\Scripts\activate  # Windows

# 3. Instale dependencias
pip install -r requirements.txt

# 4. Configure variaveis
cp .env.example .env
# Edite .env com sua GEMINI_API_KEY

# 5. Execute
uvicorn app.main:app --reload

# Acesse: http://localhost:8000
6

πŸ§ͺ Ambiente de desenvolvimento

Ferramentas Recomendadas

  • β€’VSCode + Python extension
  • β€’Black - formatacao
  • β€’Ruff - linting rapido
  • β€’pytest - testes

Hot Reload

# Desenvolvimento com auto-reload
uvicorn app.main:app \
  --reload \
  --reload-dir app \
  --host 0.0.0.0 \
  --port 8000

πŸ“ Resumo do Modulo

βœ“Estrutura - Organizacao clara por responsabilidade
βœ“Configuracao - Variaveis de ambiente para flexibilidade
βœ“Dependencias - Stack minimo e focado
βœ“Setup - Ambiente pronto em minutos