How mrsalehi1/askharbor works
AskHarbor is a guided FAQ product: visitors choose predefined questions in an embedded widget and receive answers or follow-up choices. Site owners manage bot content, branding, websites, users, access, and backups through a panel; file mode also provides a standalone editor. The README documents both PostgreSQL-backed multi-website operation and JSON-file operation. Source evidence is sampled and incomplete, so the graph omits uncertain internal links rather than inferring them.
Main entry points: main.py Public bot API · website_routes.py Website management · admin_routes.py Admin management · auth_routes.py Login and access
Components 21
Visitor experience
- FAQ widget
widget/src/widget.ts - Widget transport
widget/src/transport.ts
Content authoring
- Admin panel
widget/src/admin-app.ts - Admin API client
widget/src/admin-api.ts - Standalone editor
widget/src/editor-app.ts - Browser validation
widget/src/content.ts
API and access
- Public bot API
server/app/main.py - Origin policy
server/app/cors.py - Request limiting
server/app/rate_limit.py - Website management
server/app/website_routes.py - Admin management
server/app/admin_routes.py - Login and access
server/app/auth_routes.py - Account services
server/app/auth.py - Audit log
server/app/audit.py
Content and persistence
- Content validation
server/app/content.py - JSON bot files
server/content - Content storage
server/app/storage.py - PostgreSQL data
server/app/orm.py
Other components
- Website visitor
- Site owner
- Panel user
Connections 26
- Website visitor → FAQ widget: uses
README.md - FAQ widget → Widget transport: requests data
widget/src/widget.ts - Widget transport → Public bot API: fetches bot data
README.md - Public bot API → Content storage: serves content
server/app/storage.py - Public bot API → JSON bot files: loads in file mode
README.md - Public bot API → Origin policy: checks origins
server/app/main.py - Public bot API → Request limiting: limits requests
server/app/main.py - Content storage → PostgreSQL data: reads and writes
server/app/storage.py - Content storage → Content validation: validates documents
server/app/storage.py - Site owner → Admin panel: manages bots
README.md - Admin panel → Admin API client: calls
widget/src/admin-app.ts - Admin API client → Website management: edits websites
README.md - Admin API client → Admin management: manages accounts
README.md - Website management → Content storage: loads and saves
server/app/website_routes.py - Website management → Content validation: validates imports
server/app/website_routes.py - Website management → PostgreSQL data: reads and writes
server/app/website_routes.py - Admin management → PostgreSQL data: manages records
server/app/admin_routes.py - Admin management → Account services: checks passwords
server/app/admin_routes.py - Admin management → Audit log: records changes
server/app/admin_routes.py - Panel user → Login and access: signs in
README.md - Login and access → Account services: authenticates sessions
server/app/auth_routes.py - Login and access → PostgreSQL data: reads and writes sessions
server/app/auth_routes.py - Login and access → Audit log: records events
server/app/auth_routes.py - Site owner → Standalone editor: edits local files
README.md - Standalone editor → Browser validation: validates drafts
widget/src/editor-app.ts - Standalone editor → FAQ widget: previews conversation
widget/src/editor-app.ts