docs: Update CLAUDE.md with data-entry-app references
- Add application-specific instructions section - Reference data-entry-app/CLAUDE.md for data entry work - Update architecture diagram with both apps - Add starting services commands for both apps - Add data-entry documentation to Documentation Index - Clarify when to use which instructions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
60
CLAUDE.md
60
CLAUDE.md
@@ -4,9 +4,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
|
|
||||||
## 🚀 Project Overview
|
## 🚀 Project Overview
|
||||||
|
|
||||||
**ROA2WEB** - Modern ERP Reports Application with FastAPI backend, Vue.js frontend, and Telegram bot interface using microservices architecture.
|
**ROA2WEB** - Modern ERP Application with two main modules:
|
||||||
|
1. **Reports App** (`reports-app/`) - Read-only reports from Oracle (raportări)
|
||||||
|
2. **Data Entry App** (`data-entry-app/`) - Data input with approval workflow (introduceri date)
|
||||||
|
|
||||||
**Active Branch**: `v2-roa2web-fastapi`
|
|
||||||
**Main Branch**: `main` (use for PRs)
|
**Main Branch**: `main` (use for PRs)
|
||||||
**Working Directory**: Repository root
|
**Working Directory**: Repository root
|
||||||
|
|
||||||
@@ -14,21 +15,68 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📁 Application-Specific Instructions
|
||||||
|
|
||||||
|
> **IMPORTANT**: When working on a specific application, ALWAYS read its dedicated CLAUDE.md first!
|
||||||
|
|
||||||
|
| Application | CLAUDE.md Location | Description |
|
||||||
|
|-------------|-------------------|-------------|
|
||||||
|
| **Data Entry** | `data-entry-app/CLAUDE.md` | Bonuri fiscale, chitanțe, workflow aprobare |
|
||||||
|
| **Reports** | This file (below) | Rapoarte Oracle read-only |
|
||||||
|
| **Telegram Bot** | `reports-app/telegram-bot/README.md` | Bot Telegram |
|
||||||
|
|
||||||
|
### When to Use Which Instructions
|
||||||
|
|
||||||
|
**Working on `data-entry-app/`**:
|
||||||
|
→ **FIRST read `data-entry-app/CLAUDE.md`** for:
|
||||||
|
- SQLModel + Alembic patterns (NOT Oracle)
|
||||||
|
- SQLite database (NOT Oracle pool)
|
||||||
|
- Workflow states (DRAFT → PENDING → APPROVED)
|
||||||
|
- Receipt/Attachment/AccountingEntry models
|
||||||
|
- Expense types and auto-generation logic
|
||||||
|
|
||||||
|
**Working on `reports-app/` or `shared/`**:
|
||||||
|
→ Use instructions from this file (below)
|
||||||
|
|
||||||
|
**Working on shared components** (`shared/auth/`, `shared/database/`):
|
||||||
|
→ These are used by BOTH apps - be careful with changes!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🏗️ Architecture
|
## 🏗️ Architecture
|
||||||
|
|
||||||
### Microservices Structure
|
### Microservices Structure
|
||||||
```
|
```
|
||||||
.
|
.
|
||||||
├── shared/ # Shared components (DB pool, auth, utils)
|
├── shared/ # Shared components (DB pool, auth, utils)
|
||||||
├── reports-app/
|
│ ├── database/ # Oracle pool (used by reports-app)
|
||||||
|
│ └── auth/ # JWT auth (used by both apps)
|
||||||
|
│
|
||||||
|
├── reports-app/ # READ-ONLY reports from Oracle
|
||||||
│ ├── backend/ # FastAPI API (port 8001)
|
│ ├── backend/ # FastAPI API (port 8001)
|
||||||
│ ├── frontend/ # Vue.js 3 UI (port 3000-3005)
|
│ ├── frontend/ # Vue.js 3 UI (port 3000-3005)
|
||||||
│ └── telegram-bot/ # Telegram bot (port 8002 internal)
|
│ └── telegram-bot/ # Telegram bot (port 8002 internal)
|
||||||
|
│
|
||||||
|
├── data-entry-app/ # DATA INPUT with approval workflow
|
||||||
|
│ ├── backend/ # FastAPI API (port 8003) - SQLite + SQLModel
|
||||||
|
│ ├── frontend/ # Vue.js 3 UI (port 3010)
|
||||||
|
│ └── CLAUDE.md # ⚠️ READ THIS for data-entry work!
|
||||||
|
│
|
||||||
├── docs/ # Architecture & style guides
|
├── docs/ # Architecture & style guides
|
||||||
├── deployment/ # Production deployment scripts
|
├── deployment/ # Production deployment scripts
|
||||||
└── ssh-tunnel/ # SSH tunnel for Oracle DB access
|
└── ssh-tunnel/ # SSH tunnel for Oracle DB access
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Starting Services
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Reports App (Oracle reports)
|
||||||
|
./start-test.sh # Backend :8001, Frontend :3000-3005, Telegram :8002
|
||||||
|
|
||||||
|
# Data Entry App (fiscal receipts)
|
||||||
|
./start-data-entry.sh # Backend :8003, Frontend :3010
|
||||||
|
```
|
||||||
|
|
||||||
### Key Architectural Decisions
|
### Key Architectural Decisions
|
||||||
- **Shared Database Pool**: Singleton `OraclePool` in `shared/database/oracle_pool.py` (python-oracledb with connection pooling)
|
- **Shared Database Pool**: Singleton `OraclePool` in `shared/database/oracle_pool.py` (python-oracledb with connection pooling)
|
||||||
- **Centralized Auth**: JWT-based auth in `shared/auth/` with middleware auto-injecting `request.state.user`
|
- **Centralized Auth**: JWT-based auth in `shared/auth/` with middleware auto-injecting `request.state.user`
|
||||||
@@ -266,6 +314,12 @@ const response = await api.get('/endpoint');
|
|||||||
### Quick Start & Commands
|
### Quick Start & Commands
|
||||||
→ **`README.md`** - Project overview, setup, development commands, testing, deployment
|
→ **`README.md`** - Project overview, setup, development commands, testing, deployment
|
||||||
|
|
||||||
|
### Data Entry App (Bonuri Fiscale)
|
||||||
|
- **`data-entry-app/CLAUDE.md`** - ⚠️ **READ FIRST** when working on data-entry
|
||||||
|
- `data-entry-app/README.md` - Quick start guide
|
||||||
|
- `docs/data-entry/REQUIREMENTS.md` - Functional requirements
|
||||||
|
- `docs/data-entry/ARCHITECTURE.md` - Technical architecture (SQLModel, workflow)
|
||||||
|
|
||||||
### Architecture & Planning
|
### Architecture & Planning
|
||||||
- **`docs/ARCHITECTURE_SCHEMA.md`** - Architecture diagrams, cache system, and schemas
|
- **`docs/ARCHITECTURE_SCHEMA.md`** - Architecture diagrams, cache system, and schemas
|
||||||
- `docs/MICROSERVICES_GUIDE.md` - Microservices architecture details
|
- `docs/MICROSERVICES_GUIDE.md` - Microservices architecture details
|
||||||
|
|||||||
Reference in New Issue
Block a user