A modern, real-time Full-Stack application designed to digitize hotel room services. Guests can scan a universal QR code to request services like cleaning, food, or emergency help, while staff can manage these requests through a prioritized dashboard.
- Guest Portal: A mobile-responsive form for guests to submit requests instantly.
- Staff Dashboard: A private URL (
/staff) for hotel employees to monitor and manage tasks. - Smart Priority Logic: Automatically categorizes requests (e.g., Emergency = High, Laundry = Low).
- Real-Time Sync: Automatically refreshes the staff list every 5 seconds to show new requests.
- Universal QR Code Support: Designed for a single QR code across all rooms; guests simply enter their room number.
- Time-Ago Tracking: Shows exactly when a request was made (e.g., "5 mins ago") to ensure SLA compliance.
Backend:
- FastAPI - High-performance Python framework.
- SQLAlchemy - Database ORM.
- SQLite - Lightweight relational database.
Frontend:
- React (Vite) - Fast and modern frontend tooling.
- Chakra UI - Component library for a polished UI.
- Axios - For handling API requests.
- React Router - For handling navigation between Guest and Staff views.
cd backend
pip install fastapi uvicorn sqlalchemy
uvicorn app.main:app --reload
The backend will run on http://127.0.0.1:8000
### Frontend Setup
cd frontend
npm install
npm run dev -- --host
The frontend will run on http://localhost:5173 (Use your Local IP for mobile testing)
Project Architecture
Guest Scanning: Guest scans the QR code and lands on the root URL (/).
Request Submission: Data is validated by Pydantic and stored in SQLite.
Staff Processing: Staff accesses /staff, sees the prioritized list, and marks tasks as "Completed" which updates the database in real-time
API Documentation
FastAPI provides an automatic interactive swagger documentation:
URL: http://127.0.0.1:8000/docs
Author
CheSubhro
GitHub: @CheSubhro