- Introduced SYNC_STRATEGY_ARCHIVE.md detailing the sync process, status values, and flow for updating entities from EspoCRM to Advoware and vice versa. - Created SYNC_TEMPLATE.md as a guide for implementing new syncs, including field definitions, mapper examples, sync utilities, event handlers, and cron jobs. - Added README_SYNC.md for the Beteiligte sync event handler, outlining its functionality, event subscriptions, optimizations, error handling, and performance metrics.
8.4 KiB
8.4 KiB
Documentation Index
Getting Started
New to the project? Start here:
- README.md - Project Overview & Quick Start
- DEVELOPMENT.md - Setup Development Environment
- CONFIGURATION.md - Configure Environment Variables
Core Documentation
For Developers
- DEVELOPMENT.md - Complete development guide
- Setup, Coding Standards, Testing, Debugging
- ARCHITECTURE.md - System design and architecture
- Components, Data Flow, Event-Driven Design
- API.md - HTTP Endpoints and Event Topics
- Proxy API, Calendar Sync API, Webhook Endpoints
For Operations
- DEPLOYMENT.md - Production deployment
- Installation, systemd, nginx, Monitoring
- CONFIGURATION.md - Environment configuration
- All environment variables, secrets management
- TROUBLESHOOTING.md - Problem solving
- Common issues, debugging, log analysis
Special Topics
- GOOGLE_SETUP.md - Google Service Account setup
- Step-by-step guide for Calendar API access
Component Documentation
Steps (Business Logic)
Advoware Proxy (Module README):
- advoware_api_proxy_get_step.md
- advoware_api_proxy_post_step.md
- advoware_api_proxy_put_step.md
- advoware_api_proxy_delete_step.md
Calendar Sync (Module README):
- calendar_sync_cron_step.md - Daily trigger
- calendar_sync_api_step.md - Manual trigger
- calendar_sync_all_step.md - Employee cascade
- calendar_sync_event_step.md - Per-employee sync (complex)
VMH Webhooks & Sync (Module README):
- Beteiligte Sync (Bidirectional EspoCRM ↔ Advoware)
- BETEILIGTE_SYNC.md - Complete documentation
- README_SYNC.md - Event handler docs
- beteiligte_sync_event_step.py - Event handler
- beteiligte_sync_cron_step.py - Cron job
- Webhooks
- beteiligte_create_api_step.md - Create webhook
- beteiligte_update_api_step.md - Update webhook (similar)
- beteiligte_delete_api_step.md - Delete webhook (similar)
- beteiligte_sync_event_step.md - Sync handler (placeholder)
Services
- Advoware Service (ADVOWARE_SERVICE.md) - API Client mit HMAC-512 Auth
- Advoware API Swagger (advoware_api_swagger.json) - Vollständige API-Dokumentation
- EspoCRM Service (espocrm.py) - EspoCRM API Client mit X-Api-Key Auth
- Sync Services
- beteiligte_sync_utils.py - Sync utilities (lock, timestamp, merge)
- espocrm_mapper.py - Entity mapping EspoCRM ↔ Advoware
Sync Documentation
- BETEILIGTE_SYNC.md - Complete sync documentation
- Architecture, data flow, troubleshooting
- SYNC_TEMPLATE.md - Template für neue Advoware-Syncs
- Best practices, code templates, architecture principles
- ENTITY_MAPPING_CBeteiligte_Advoware.md - Field mapping details
- SYNC_STRATEGY_ARCHIVE.md - Original strategy analysis (archived)
Utility Scripts
- Calendar Sync Scripts - Wartung und Debugging
delete_employee_locks.py- Redis Lock Cleanupdelete_all_calendars.py- Google Calendar Reset
Documentation Structure
docs/
├── INDEX.md # This file
├── ARCHITECTURE.md # System design
├── API.md # API reference
├── CONFIGURATION.md # Configuration
├── DEPLOYMENT.md # Deployment guide
├── DEVELOPMENT.md # Development guide
├── GOOGLE_SETUP.md # Google Calendar setup
├── TROUBLESHOOTING.md # Debugging guide
├── BETEILIGTE_SYNC.md # ⭐ Beteiligte sync docs
├── SYNC_TEMPLATE.md # ⭐ Template for new syncs
├── ENTITY_MAPPING_CBeteiligte_Advoware.md # Field mappings
└── advoware/
└── advoware_api_swagger.json # Advoware API spec
steps/{module}/
├── README.md # Module overview
├── README_SYNC.md # ⭐ Sync handler docs (VMH)
└── {step_name}.md # Step documentation
services/
├── {service_name}.md # Service documentation
├── beteiligte_sync_utils.py # ⭐ Sync utilities
└── espocrm_mapper.py # ⭐ Entity mapper
scripts/{category}/
├── README.md # Script documentation
└── *.py # Utility scripts
Documentation Standards
YAML Frontmatter
Each step documentation includes metadata:
---
type: step
category: api|event|cron
name: Step Name
version: 1.0.0
status: active|deprecated|placeholder
tags: [tag1, tag2]
dependencies: [...]
emits: [...]
subscribes: [...]
---
Sections
Standard sections in step documentation:
- Zweck - Purpose (one sentence)
- Config - Motia step configuration
- Input - Request structure, parameters
- Output - Response structure
- Verhalten - Behavior, logic flow
- Abhängigkeiten - Dependencies (services, Redis, APIs)
- Testing - Test examples
- KI Guidance - Tips for AI assistants
Cross-References
- Use relative paths for links
- Link related steps and services
- Link to parent module READMEs
Quick Reference
Common Tasks
| Task | Documentation |
|---|---|
| Setup development environment | DEVELOPMENT.md |
| Configure environment variables | CONFIGURATION.md |
| Deploy to production | DEPLOYMENT.md |
| Setup Google Calendar | GOOGLE_SETUP.md |
| Debug service issues | TROUBLESHOOTING.md |
| Understand architecture | ARCHITECTURE.md |
| Test API endpoints | API.md |
Code Locations
| Component | Location | Documentation |
|---|---|---|
| API Proxy Steps | steps/advoware_proxy/ |
README |
| Calendar Sync Steps | steps/advoware_cal_sync/ |
README |
| VMH Webhook Steps | steps/vmh/ |
README |
| Advoware API Client | services/advoware.py |
DOC |
| Configuration | config.py |
CONFIGURATION.md |
Contributing to Documentation
Adding New Step Documentation
- Create
{step_name}.mdnext to.pyfile - Use YAML frontmatter (see template)
- Follow standard sections
- Add to module README
- Add to this INDEX
Updating Documentation
- Keep code and docs in sync
- Update version history in step docs
- Update INDEX when adding new files
- Test all code examples
Documentation Reviews
- Verify all links work
- Check code examples execute correctly
- Ensure terminology is consistent
- Validate configuration examples
External Resources
- Motia Framework Docs (if available)
- Advoware API (requires auth)
- Google Calendar API
- Redis Documentation
Support
- Questions: Check TROUBLESHOOTING.md first
- Bugs: Document in logs (
journalctl -u motia.service) - Features: Propose in team discussions
- Urgent: Check systemd logs and Redis state