Reading the repo
Reading the repo
GitHub didn't answer, so this is the saved copy from 1 days ago
Will it work on macOS?
Heads-upBuilding it yourself? It also needs 47 settings in .env (12 secret).
CONTRIBUTING.mdpython launcher.py
The launcher automatically installs missing dependencies, creates virtual environments, starts all 5 services, and opens browsers.
| Component | Language | Setup Command | Run |
|-----------|----------|---------------|-----|
| Backend | Python | cd backend; pip install -r requirements.txt; playwright install chromium | uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 |
| Frontend | Node.js | cd frontend; npm install | npm run dev |
| Admin Frontend | Node.js | cd admin-frontend; npm install | npm run dev |
| Scraper Engine | Python | cd microservices/scraper_engine; pip install -r requirements.txt; playwright install chromium | python api/main.py |
| Embedding Service | Docker/Python | cd microservices/embedding-service; docker build -t embedding-service . | docker run -d -p 8001:8000 -v chroma_data:/data/chroma --name embedding_service embedding-service |
Copy .env.example to .env in each component directory before first run. See the relevant component README for required variables.
feature/<name> — New featuresfix/<name> — Bug fixesdocs/<name> — Documentation changesrefactor/<name> — Code restructuringUse Conventional Commits:
feat: add competitor tracking dashboard
fix: resolve pagination crash on Google scraper
docs: update ER diagrams for groups module
refactor: extract sync logic into shared service
snake_case for variables/functions, PascalCase for classes.flake8)tsconfig.jsonPascalCase for components, camelCase for variables/hooks/functionsnpm run lint)modules.admin must not import from modules.reviews unless explicitly designed as an abstraction. Use Pydantic schema passing if needed.app.core.db_utils for pyodbc and app.database.session for ORM.db_utils) for high-performance extraction, analytical dashboards, and reviews.engine, Base).log_activity for all system-significant events.playwright, httpx, and standard library.Review ↔ platform-specific detail tables).playwright.sync_api. FastAPI handles async HTTP while Playwright runs on ThreadPoolExecutor.| Component | Command |
|-----------|---------|
| Backend | $env:PYTHONPATH = ".;$env:PYTHONPATH"; pytest tests/ |
| Scraper Engine | cd microservices/scraper_engine; pytest tests/ |
| Embedding Service | cd microservices/embedding-service; venv\Scripts\python.exe -m pytest tests/ -v |
| Component | Command |
|-----------|---------|
| Frontend | cd frontend; npm test (watch: npm run test:watch) |
| Admin Frontend | cd admin-frontend; npm test |
pytest / npm test)npm run lint / flake8)npm run build / npx tsc --noEmit)python launcher.py)| Change | Update |
|--------|--------|
| New API endpoint | backend/docs/api_qwen.md, API_CALLS.md (if consumed by frontend) |
| DB schema change | backend/docs/database_schema_analysis.md, ER diagrams in docs/ER diagrams/ |
| New module/service | Create module_analysis.md in app/modules/<name>/docs/, update root README |
| Architecture change | Architecture diagrams in docs/Architecture diagrams/, docs/README.md index |
| Environment variable change | .env.example files, README env sections |
| New scraper platform | microservices/scraper_engine/platforms/<name>/README.md, scraper engine README |
devdevdev triggers automatic deployment to production servers.env files..env files).--no-verify, --no-gpg-sign) without explicit approval.dev or main.git clone https://github.com/Rzmy7/hotel-and-restaurant-review-management-system.git
cd hotel-and-restaurant-review-management-system
cd backend
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/macOS:
# source venv/bin/activate
pip install -r requirements.txt
playwright install chromium
# Copy and configure environment variables
cp .env.example .env
# Verify database connectivity
python -c "import tests.test_db_connectivity"
# Start FastAPI backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
http://localhost:8000/docscd frontend
npm install
npm run dev
http://localhost:5173cd admin-frontend
npm install
npm run dev
http://localhost:5174cd microservices/embedding-service
docker build -t embedding-service .
docker run -d -p 8002:8000 -v chroma_data:/data/chroma --name reviewmate-embedding embedding-service
http://localhost:8002/docscd microservices/scraper_engine
pip install -r requirements.txt
playwright install chromium
python api/main.py
http://localhost:8001/docsLaunch all services simultaneously using the orchestrator:
python launcher.py
Or execute the pre-built launcher binary:
.\dist\System-Launcher.exe
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: xcode-select --install
git clone https://github.com/Rzmy7/hotel-and-restaurant-review-management-system.git cd hotel-and-restaurant-review-management-system
Docker, Python 3, Node.js
brew install --cask docker # Docker Desktop brew install python brew install node
In the maintainers' order. Do the README instructions above first — they cover steps outside the terminal.
python -m venv venv venv\Scripts\activate pip install -r requirements.txt playwright install chromium cp .env.example .env python -c "import tests.test_db_connectivity" uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 npm install npm run dev npm install npm run dev docker build -t embedding-service . docker run -d -p 8002:8000 -v chroma_data:/data/chroma --name reviewmate-embedding embedding-service pip install -r requirements.txt playwright install chromium python api/main.py python launcher.py .\dist\System-Launcher.exe
No reports for macOS yet.
Opens a chat with this manual already filled in, for macOS. It uses your own account; gitmanual sends nothing.