How rzmy7/hotel-and-restaurant-review-management-system works
This is a multi-tenant hospitality review intelligence platform with tenant and administrator portals, a modular FastAPI backend, and dedicated scraper and embedding services. The principal workflow is collecting platform reviews, ingesting and analyzing them, indexing them for semantic search, and presenting results and reply tools to tenants. The README documents the overall service topology; sampled source confirms review ingestion and embedding calls. Several capabilities are documented but their implementation was not sampled, so those links reflect README evidence rather than inspected call paths.
Main entry points: review_service.py Review ingestion · main.py Backend API · App.tsx Tenant portal · reviewsService.ts Review workspace
Components 29
Tenant experience
- Tenant portal
frontend/src/App.tsx - Review workspace
frontend/src/services/reviewsService.ts - Review data types
frontend/src/types/reviews.ts
Review intelligence
- Review ingestion
backend/app/modules/reviews/services/review_service.py - Review analysis
backend/app/modules/reviews/services/processor.py - Source management
backend/app/modules/source/services/source_service.py - Embedding client
backend/app/modules/source/services/embedding_client.py - Review analytics
backend/app/modules/dashboard/services/metrics_service.py - Competitor intelligence
backend/app/modules/competitors/services/scraping_pipeline.py
Platform services
- Backend API
backend/app/main.py - Scraper engine
microservices/scraper_engine/api/main.py - Message broker
- Embedding service
microservices/embedding-service/app/embedding.py - Vector database
- LLM gateway
backend/app/services/llm_gateway.py - Relational database
backend/app/core/db_utils.py - User and notification models
backend/app/modules/auth/models/__init__.py - Notifications
backend/app/services/notification_helpers.py - Email delivery
backend/app/modules/auth/services/email_service.py - Backend configuration
backend/app/core/config.py - Database sessions
backend/app/database/session.py - SQL connection utilities
backend/app/core/pyodbc_connection.py
Administration
- Admin portal
admin-frontend/src/App.tsx - Admin API client
admin-frontend/src/api/client.ts - Admin controls
backend/app/modules/admin/routes/llm_model_routes.py - System settings
backend/app/modules/admin/services/system_settings_service.py - Subscriptions
backend/app/modules/admin/services/subscription_service.py
Other components
- Tenant user
- Review platforms
Connections 29
- Tenant user → Tenant portal: uses
README.md - Tenant portal → Review workspace: opens reviews
frontend/src/App.tsx - Review workspace → Backend API: requests reviews
frontend/src/services/reviewsService.ts - Review workspace → Review data types: uses types
frontend/src/services/reviewsService.ts - Backend API → Review ingestion: routes review work
- Review platforms → Scraper engine: provides reviews
README.md - Scraper engine → Message broker: queues scrape jobs
README.md - Backend API → Message broker: publishes jobs
README.md - Review ingestion → Scraper engine: fetches review batches
backend/app/modules/reviews/services/review_service.py - Review ingestion → Review analysis: invokes processing
backend/app/modules/reviews/services/review_service.py - Review ingestion → Relational database: stores reviews
backend/app/modules/reviews/services/review_service.py - Review ingestion → Source management: uses source data
backend/app/modules/reviews/services/review_service.py - Review ingestion → Embedding client: triggers embedding
backend/app/modules/reviews/services/review_service.py - Embedding client → Embedding service: sends review text
backend/app/modules/source/services/embedding_client.py - Embedding service → Vector database: indexes vectors
README.md - Tenant portal → Review analytics: views analytics
README.md - Competitor intelligence → LLM gateway: requests analysis
backend/app/modules/competitors/services/scraping_pipeline.py - Admin portal → Admin API client: uses client
admin-frontend/src/App.tsx - Admin API client → Backend API: calls API
README.md - Admin controls → System settings: reads and writes
backend/app/modules/admin/routes/llm_model_routes.py - Admin controls → LLM gateway: configures models
backend/app/modules/admin/routes/llm_model_routes.py - Review analysis → LLM gateway: uses language models
README.md - Review ingestion → Subscriptions: checks review limits
backend/app/modules/reviews/services/review_service.py - Subscriptions → Notifications: notifies limits
- Notifications → User and notification models: creates notifications
backend/app/services/notification_helpers.py - Notifications → Email delivery: sends email
backend/app/services/notification_helpers.py - Backend configuration → Backend API: configures services
backend/app/core/config.py - Database sessions → Backend configuration: reads database URL
backend/app/database/session.py - SQL connection utilities → Backend configuration: reads connection settings
backend/app/core/pyodbc_connection.py