bayan-api / src /README.md
youssefreda9's picture
Cleanup pass 3: Delete debug_verdict.py, rewrite tasks/todo.md and src/README.md for v2.0
7e2b836
|
Raw
History Blame Contribute Delete
2.7 kB

src/ — Source Code

Structure

src/
├── app.py                  # Flask application — routes + pipeline orchestration
├── model_loader.py         # Model loading (Spelling, Grammar, Summarization, Autocomplete)
├── hf_inference.py         # HuggingFace API inference wrappers
├── index.html              # Main web UI (single-page app)
├── favicon.svg             # Site icon
├── css/                    # Stylesheets
│   ├── tokens.css          # Design tokens (colors, spacing)
│   ├── base.css            # Base styles
│   └── components.css      # Component styles
├── js/                     # Frontend JavaScript modules
│   ├── editor.js           # Editor logic, events, debouncing
│   ├── renderer.js         # Offset-based highlight rendering
│   ├── selection.js        # Cursor/selection save & restore
│   ├── ui.js               # Tooltips, suggestion lists, scores
│   ├── api.js              # Backend API fetch wrappers
│   ├── format.js           # Text formatting
│   ├── theme.js            # Theme switching
│   ├── autocomplete.js     # Autocomplete UI
│   ├── auth/               # Authentication (Supabase)
│   ├── documents/          # Local document management
│   ├── documents-cloud/    # Cloud document sync
│   ├── summaries/          # Text summarization UI
│   ├── settings-sync/      # Settings sync
│   ├── sync/               # Real-time sync engine
│   └── vendor/             # Third-party libraries
└── nlp/                    # NLP pipeline modules
    ├── spelling/            # AraSpell spelling correction
    │   ├── araspell_rules.py
    │   └── araspell_service.py
    ├── grammar/             # Grammar correction
    │   ├── grammar_rules.py
    │   └── grammar_service.py
    ├── punctuation/         # Punctuation restoration
    │   ├── punctuation_rules.py
    │   └── punctuation_service.py
    ├── autocomplete/        # Text autocomplete
    ├── dialect/             # Dialect detection
    ├── pipeline_context.py  # Shared pipeline state
    ├── stage_locker.py      # Cross-stage text locking
    └── correction_patch.py  # Correction patch utilities

API Contract

  • Input: Arabic text string (UTF-8)
  • Output: JSON with corrected, suggestions[] (each with start, end, replacement, explanation), and timing_ms

Running

cd src && gunicorn app:app --bind 0.0.0.0:7860 --timeout 120 --workers 1