A real-time queue management system designed for university office hours and TA help sessions.
-
Real-time Queue Management
- Join/leave queue functionality
- Live position tracking
- Estimated wait times
- Progress bar visualization
-
Smart Priority System
- Dynamic queue reordering based on:
- Previous attempts
- Deadline proximity
- Wait time
- First-time asking bonus
- Dynamic queue reordering based on:
-
User Authentication
- Student registration/login
- Admin access (username: admin, password: 123)
- JWT-based authentication
-
Admin Controls
- Queue management
- Student prioritization
- Pause/resume queue
- Remove students from queue
- Frontend: React
- Backend: Node.js, Express
- Authentication: JWT
- Real-time Updates: Polling
- Notifications: Browser notifications
- Node.js (v14 or higher)
- npm
-
Clone the repository bash git clone https://github.com/minjaedavidpark/queuehub.git cd queuehub
-
Install backend dependencies bash cd backend npm install
-
Install frontend dependencies bash cd ../frontend npm install
-
Start the backend server (from the backend directory) bash npm start
-
Start the frontend development server (from the frontend directory) bash npm start
- Username:
[email protected] - Password:
0123456789
POST /api/auth/register- Register new userPOST /api/auth/login- User login
GET /api/queue- Get current queuePOST /api/queue/join- Join queuePOST /api/queue/leave- Leave queueGET /api/queue/status/:userId- Get user's queue status
PATCH /api/admin/queue/pause- Toggle queue pause stateDELETE /api/admin/queue/:id- Remove user from queuePATCH /api/admin/queue/:id/prioritize- Prioritize user
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by real office hour challenges at University of Toronto
- Built to improve the student help-seeking experience
- Designed with feedback from TAs and professors