feat: Migrate to ultrathin monolith architecture
Consolidate 3 separate applications (reports-app, data-entry-app, telegram-bot) into a unified
architecture with single backend and frontend:
Backend Changes:
- Unified FastAPI backend at backend/ with modular structure
- Modules: reports, data_entry, telegram in backend/modules/
- Centralized config.py and main.py with all routers registered
- Single worker mode (--workers 1) for Telegram bot compatibility
- Shared Oracle connection pool and JWT authentication
- Unified requirements.txt and environment configuration
Frontend Changes:
- Single Vue.js SPA with module-based routing
- Unified frontend at src/ with modules in src/modules/{reports,data-entry}/
- Shared components and stores in src/shared/
- Error boundaries for module isolation
- Dual API proxy in Vite for module communication
Infrastructure:
- New unified startup scripts: start-prod.sh, start-test.sh, start-backend.sh
- Environment templates: .env.dev.example, .env.test.example, .env.prod.example
- Updated deployment scripts for Windows IIS
- Simplified SSH tunnel management
Documentation:
- Comprehensive CLAUDE.md with architecture overview
- Module-specific docs in docs/{data-entry,telegram}/
- Architecture decision records in docs/ARCHITECTURE-DECISIONS.md
- Deployment guides consolidated in deployment/windows/docs/
This migration reduces complexity, improves maintainability, and enables easier
deployment while maintaining all existing functionality.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,30 +23,20 @@
|
||||
},
|
||||
"paths": {
|
||||
"installRoot": "C:\\inetpub\\wwwroot\\roa2web",
|
||||
"reportsBackend": "C:\\inetpub\\wwwroot\\roa2web\\backend",
|
||||
"reportsFrontend": "C:\\inetpub\\wwwroot\\roa2web\\frontend",
|
||||
"telegramBot": "C:\\inetpub\\wwwroot\\roa2web\\telegram-bot",
|
||||
"dataEntryBackend": "C:\\inetpub\\wwwroot\\roa2web\\data-entry-backend",
|
||||
"dataEntryFrontend": "C:\\inetpub\\wwwroot\\roa2web\\data-entry-frontend",
|
||||
"backend": "C:\\inetpub\\wwwroot\\roa2web\\backend",
|
||||
"frontend": "C:\\inetpub\\wwwroot\\roa2web\\frontend",
|
||||
"shared": "C:\\inetpub\\wwwroot\\roa2web\\shared",
|
||||
"data": "C:\\inetpub\\wwwroot\\roa2web\\data",
|
||||
"logs": "C:\\inetpub\\wwwroot\\roa2web\\logs",
|
||||
"backups": "C:\\inetpub\\wwwroot\\roa2web\\backups"
|
||||
},
|
||||
"services": {
|
||||
"reportsBackend": {
|
||||
"backend": {
|
||||
"name": "ROA2WEB-Backend",
|
||||
"displayName": "ROA2WEB Reports Backend API",
|
||||
"port": 8000
|
||||
},
|
||||
"telegramBot": {
|
||||
"name": "ROA2WEB-TelegramBot",
|
||||
"displayName": "ROA2WEB Telegram Bot",
|
||||
"port": 8002
|
||||
},
|
||||
"dataEntry": {
|
||||
"name": "ROA2WEB-DataEntry",
|
||||
"displayName": "ROA2WEB Data Entry API",
|
||||
"port": 8003
|
||||
"displayName": "ROA2WEB Unified Backend (Reports + DataEntry + Telegram)",
|
||||
"description": "FastAPI backend service with modular architecture - includes Reports, Data Entry, and Telegram modules",
|
||||
"port": 8000,
|
||||
"modules": ["reports", "data_entry", "telegram"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user