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
|
||||
|
||||
**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)
|
||||
**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
|
||||
|
||||
### Microservices Structure
|
||||
```
|
||||
.
|
||||
├── 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)
|
||||
│ ├── frontend/ # Vue.js 3 UI (port 3000-3005)
|
||||
│ └── 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
|
||||
├── deployment/ # Production deployment scripts
|
||||
└── 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
|
||||
- **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`
|
||||
@@ -266,6 +314,12 @@ const response = await api.get('/endpoint');
|
||||
### Quick Start & Commands
|
||||
→ **`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
|
||||
- **`docs/ARCHITECTURE_SCHEMA.md`** - Architecture diagrams, cache system, and schemas
|
||||
- `docs/MICROSERVICES_GUIDE.md` - Microservices architecture details
|
||||
|
||||
Reference in New Issue
Block a user