Skip to content

Commit 5e3f340

Browse files
committed
Change project name to LogicPaper
1 parent 7b0fa79 commit 5e3f340

File tree

11 files changed

+40
-40
lines changed

11 files changed

+40
-40
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DocGenius | Document Generation Engine
1+
# LogicPaper | Document Generation Engine
22

33
![Build Status](https://img.shields.io/badge/build-passing-brightgreen?style=for-the-badge&logo=github)
44
![Python](https://img.shields.io/badge/Python-3.11-3776AB?style=for-the-badge&logo=python&logoColor=white)
@@ -15,7 +15,7 @@
1515

1616
## 📖 Overview
1717

18-
**DocGenius** is a tool designed to automate document creation workflows. It takes structured data from Excel files and populates Microsoft Office templates (`.docx`, `.pptx`) using a custom Jinja2-based templating system.
18+
**LogicPaper** is a tool designed to automate document creation workflows. It takes structured data from Excel files and populates Microsoft Office templates (`.docx`, `.pptx`) using a custom Jinja2-based templating system.
1919

2020
Developed with **FastAPI** and **Docker**, it provides a web-based dashboard for managing batch jobs and includes a headless LibreOffice integration for converting generated documents into PDF format. It is suitable for generating contracts, reports, certificates, and presentations at scale.
2121

@@ -46,7 +46,7 @@ Developed with **FastAPI** and **Docker**, it provides a web-based dashboard for
4646

4747
```mermaid
4848
graph LR
49-
A[Excel Data] --> B(DocGenius Engine)
49+
A[Excel Data] --> B(LogicPaper Engine)
5050
C[Word/PPT Templates] --> B
5151
D[Assets ZIP] --> B
5252
B --> E{Processing Core}
@@ -72,8 +72,8 @@ graph LR
7272

7373
1. **Clone the Repository**
7474
```bash
75-
git clone https://github.com/rubensbraz/DocGenius.git
76-
cd DocGenius
75+
git clone https://github.com/rubensbraz/LogicPaper.git
76+
cd LogicPaper
7777
```
7878

7979
2. **Start the Engine**
@@ -92,7 +92,7 @@ graph LR
9292
The project separates the processing logic (backend) from the user interface (frontend).
9393

9494
```text
95-
DocGenius/
95+
LogicPaper/
9696
├── app/
9797
│ ├── core/
9898
│ │ ├── engine.py # Document Processing (Docx/Pptx/Pdf)
@@ -115,8 +115,8 @@ DocGenius/
115115

116116
## 📘 Templating Syntax
117117

118-
DocGenius uses the pipe character (`|`) to apply formatting filters to variables.
119-
*For a complete list of filters, refer to the "How to Use" section in the application ([Documentation in Github Pages](https://rubensbraz.github.io/DocGenius/help.html)).*
118+
LogicPaper uses the pipe character (`|`) to apply formatting filters to variables.
119+
*For a complete list of filters, refer to the "How to Use" section in the application ([Documentation in Github Pages](https://rubensbraz.github.io/LogicPaper/help.html)).*
120120

121121
### 1. Text Formatting
122122
```jinja2
@@ -165,7 +165,7 @@ A utility script is included to generate sample data for testing purposes.
165165

166166
1. **Generate Sample Data (Inside Container):**
167167
```bash
168-
docker exec -it docgenius python /data/mock_data/generate_seeds.py
168+
docker exec -it logicpaper python /data/mock_data/generate_seeds.py
169169
```
170170
*This creates a `mock_data.xlsx`, `assets.zip`, and sample templates in the data folder.*
171171

README_pt.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DocGenius | Motor de Geração de Documentos
1+
# LogicPaper | Motor de Geração de Documentos
22

33
![Build Status](https://img.shields.io/badge/build-passing-brightgreen?style=for-the-badge&logo=github)
44
![Python](https://img.shields.io/badge/Python-3.11-3776AB?style=for-the-badge&logo=python&logoColor=white)
@@ -15,7 +15,7 @@
1515

1616
## 📖 Visão Geral
1717

18-
**DocGenius** é uma ferramenta projetada para automatizar fluxos de trabalho de criação de documentos. Ele recebe dados estruturados de arquivos Excel e preenche templates do Microsoft Office (`.docx`, `.pptx`) usando um sistema de templates customizado baseado em Jinja2.
18+
**LogicPaper** é uma ferramenta projetada para automatizar fluxos de trabalho de criação de documentos. Ele recebe dados estruturados de arquivos Excel e preenche templates do Microsoft Office (`.docx`, `.pptx`) usando um sistema de templates customizado baseado em Jinja2.
1919

2020
Desenvolvido com **FastAPI** e **Docker**, ele fornece um painel web para gerenciar trabalhos em lote e inclui integração com LibreOffice (headless) para converter documentos gerados em formato PDF. É adequado para gerar contratos, relatórios, certificados e apresentações em escala.
2121

@@ -46,7 +46,7 @@ Desenvolvido com **FastAPI** e **Docker**, ele fornece um painel web para gerenc
4646

4747
```mermaid
4848
graph LR
49-
A[Dados Excel] --> B(Motor DocGenius)
49+
A[Dados Excel] --> B(Motor LogicPaper)
5050
C[Templates Word/PPT] --> B
5151
D[ZIP de Assets] --> B
5252
B --> E{Núcleo de Processamento}
@@ -72,8 +72,8 @@ graph LR
7272

7373
1. **Clonar o Repositório**
7474
```bash
75-
git clone [https://github.com/rubensbraz/DocGenius.git](https://github.com/rubensbraz/DocGenius.git)
76-
cd DocGenius
75+
git clone [https://github.com/rubensbraz/LogicPaper.git](https://github.com/rubensbraz/LogicPaper.git)
76+
cd LogicPaper
7777
```
7878

7979
2. **Iniciar o Motor**
@@ -92,7 +92,7 @@ graph LR
9292
O projeto separa a lógica de processamento (backend) da interface do usuário (frontend).
9393

9494
```text
95-
DocGenius/
95+
LogicPaper/
9696
├── app/
9797
│ ├── core/
9898
│ │ ├── engine.py # Processamento de Documentos (Docx/Pptx/Pdf)
@@ -115,8 +115,8 @@ DocGenius/
115115

116116
## 📘 Sintaxe de Templates
117117

118-
DocGenius usa o caractere pipe (`|`) para aplicar filtros de formatação às variáveis.
119-
*Para a lista completa de filtros, consulte a seção "How to Use" na aplicação ([Documentação no Github Pages](https://rubensbraz.github.io/DocGenius/help.html)).*
118+
LogicPaper usa o caractere pipe (`|`) para aplicar filtros de formatação às variáveis.
119+
*Para a lista completa de filtros, consulte a seção "How to Use" na aplicação ([Documentação no Github Pages](https://rubensbraz.github.io/LogicPaper/help.html)).*
120120

121121
### 1. Formatação de Texto
122122
```jinja2
@@ -165,7 +165,7 @@ Um script utilitário está incluído para gerar dados de exemplo para fins de t
165165

166166
1. **Gerar Dados de Exemplo (Dentro do Container):**
167167
```bash
168-
docker exec -it docgenius python /data/mock_data/generate_seeds.py
168+
docker exec -it logicpaper python /data/mock_data/generate_seeds.py
169169
```
170170
*Isso cria `mock_data.xlsx`, `assets.zip`, e templates de exemplo na pasta de dados.*
171171

TODO.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🚀 DocGenius Project To-Do List
1+
# 🚀 LogicPaper Project To-Do List
22

33
## 1. 🛡️ Security & Production Hardening (Priority: HIGH)
44

app/core/strategies/string_std.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@ def process(self, value: Any, ops: List[str]) -> str:
8282

8383
# --- Advanced Formats ---
8484
elif op == "snake":
85-
# "Doc Genius" -> "doc_genius"
85+
# "Logic Paper" -> "logic_paper"
8686
text = re.sub(r"[\s\-]+", "_", text).lower()
8787
elif op == "kebab":
88-
# "Doc Genius" -> "doc-genius"
88+
# "Logic Paper" -> "logic-paper"
8989
text = re.sub(r"[\s_]+", "-", text).lower()
9090
elif op == "slug":
9191
# Remove non-alphanumeric, lowercase, dashes

app/main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
logging.basicConfig(
2727
level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s"
2828
)
29-
logger = logging.getLogger("DocGenius")
30-
app = FastAPI(title="DocGenius API", version="1.0")
29+
logger = logging.getLogger("LogicPaper")
30+
app = FastAPI(title="LogicPaper API", version="1.0")
3131

3232
# Middleware
3333
app.add_middleware(
@@ -143,7 +143,7 @@ def generate_styled_report(
143143
ws_dash.title = "Executive Summary"
144144
ws_dash.sheet_view.showGridLines = False
145145

146-
ws_dash["B2"] = "DocGenius Execution Report"
146+
ws_dash["B2"] = "LogicPaper Execution Report"
147147
ws_dash["B2"].font = title_font
148148

149149
# Metrics
@@ -576,7 +576,7 @@ async def generate_sample(
576576

577577
zip_file_path = f"{zip_base_name}.zip"
578578
timestamp = end_time.strftime("%Y-%m-%d_%H-%M")
579-
download_filename = f"DocGenius_Sample_{row_identifier}_{timestamp}.zip"
579+
download_filename = f"LogicPaper_Sample_{row_identifier}_{timestamp}.zip"
580580

581581
return FileResponse(
582582
path=zip_file_path, filename=download_filename, media_type="application/zip"
@@ -799,7 +799,7 @@ async def download_result(session_id: str) -> Any:
799799
"""
800800
Downloads the final ZIP file with a timestamped filename.
801801
802-
Format: DocGenius_YYYY-MM-DD_HH-MM.zip
802+
Format: LogicPaper_YYYY-MM-DD_HH-MM.zip
803803
"""
804804
try:
805805
file_path = os.path.join(TEMP_DIR, f"{session_id}_result.zip")
@@ -809,7 +809,7 @@ async def download_result(session_id: str) -> Any:
809809
now = datetime.now()
810810
# Format: YYYY-MM-DD_HH-MM
811811
timestamp = now.strftime("%Y-%m-%d_%H-%M")
812-
filename = f"DocGenius_{timestamp}.zip"
812+
filename = f"LogicPaper_{timestamp}.zip"
813813

814814
return FileResponse(
815815
path=file_path, filename=filename, media_type="application/zip"

data/mock_data/generate_seeds.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ def _create_contract(self, path: str) -> None:
423423
# Parties
424424
doc.add_heading("1. The Parties", level=1)
425425
p = doc.add_paragraph()
426-
p.add_run("PROVIDER: DocGenius Systems Ltd.\n").bold = True
426+
p.add_run("PROVIDER: LogicPaper Systems Ltd.\n").bold = True
427427
p.add_run("CLIENT: ")
428428
run = p.add_run("{{ company | format_string('title') }}")
429429
run.bold = True
@@ -458,7 +458,7 @@ def _create_contract(self, path: str) -> None:
458458
# Signatures
459459
doc.add_paragraph().add_run().add_break()
460460
table = doc.add_table(rows=2, cols=2)
461-
table.rows[0].cells[0].text = "Signed for DocGenius:"
461+
table.rows[0].cells[0].text = "Signed for LogicPaper:"
462462
table.rows[0].cells[1].text = "Signed for Client:"
463463

464464
# Client Sig Image

docker-compose.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
services:
22
# ==========================================
3-
# DocGenius Core Service
3+
# LogicPaper Core Service
44
# Hosts FastAPI Backend & LibreOffice Engine
55
# ==========================================
6-
docgenius-app:
6+
logicpaper-app:
77
build:
88
context: .
99
dockerfile: Dockerfile
10-
image: docgenius:v1
11-
container_name: docgenius
10+
image: logicpaper:v1
11+
container_name: logicpaper
1212

1313
# Network Configuration
1414
# Maps localhost:8000 to container:8000

static/help.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7-
<title>DocGenius | Documentation</title>
7+
<title>LogicPaper | Documentation</title>
88
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📘</text></svg>">
99
<script src="https://cdn.tailwindcss.com"></script>
1010
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">
@@ -22,7 +22,7 @@
2222
<div class="relative z-10 flex flex-col md:flex-row justify-between items-start md:items-center gap-6">
2323
<div>
2424
<h2 class="text-3xl font-bold text-white tracking-tight">Template Engine Reference</h2>
25-
<p class="text-gray-400 mt-2 text-sm max-w-2xl leading-relaxed"> Comprehensive documentation for the DocGenius formatting engine. Learn how to transform raw Excel data using <strong>Jinja2 Pipes</strong> directly inside your Word and PowerPoint templates. </p>
25+
<p class="text-gray-400 mt-2 text-sm max-w-2xl leading-relaxed"> Comprehensive documentation for the LogicPaper formatting engine. Learn how to transform raw Excel data using <strong>Jinja2 Pipes</strong> directly inside your Word and PowerPoint templates. </p>
2626
</div>
2727
<div>
2828
<a href="/" class="px-6 py-3 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-blue-500/50 rounded-xl text-sm font-bold text-white transition flex items-center gap-2 shadow-lg hover:shadow-blue-500/20">
@@ -73,7 +73,7 @@ <h4 class="text-yellow-400 font-bold text-sm mb-2 flex items-center gap-2">
7373
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
7474
</svg> What happens if I don't use a formatter?
7575
</h4>
76-
<p class="text-sm text-yellow-200/80"> If you use <code>{{ variable }}</code> without a pipe (<code>|</code>), DocGenius inserts the <strong>Raw Data</strong> exactly as it appears in the Excel cell. <br><br> Examples:
76+
<p class="text-sm text-yellow-200/80"> If you use <code>{{ variable }}</code> without a pipe (<code>|</code>), LogicPaper inserts the <strong>Raw Data</strong> exactly as it appears in the Excel cell. <br><br> Examples:
7777
<ul class="list-disc ml-5 mt-1 space-y-1 opacity-80">
7878
<li>Dates may appear as <code>2023-12-25 00:00:00</code>.</li>
7979
<li>Money may appear as <code>1500.5</code> (no symbol, no comma).</li>

static/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7-
<title>DocGenius | Auto Docs Generation</title>
7+
<title>LogicPaper | Auto Docs Generation</title>
88
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📘</text></svg>">
99
<script src="https://cdn.tailwindcss.com"></script>
1010
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">

static/js/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ async function generateSample() {
373373
const response = await fetch(CONFIG.endpoints.sample, { method: 'POST', body: formData });
374374

375375
if (response.ok) {
376-
downloadBlob(await response.blob(), "DocGenius_Sample.zip");
376+
downloadBlob(await response.blob(), "LogicPaper_Sample.zip");
377377
logToTerminal('✅ Sample generated successfully.', 'success');
378378
Swal.fire({
379379
icon: 'success', title: 'Sample Ready',

0 commit comments

Comments
 (0)