https://github.com/t33devv/elevator-sim
worldwide elevator simulator visualization
https://github.com/t33devv/elevator-sim
Last synced: 29 days ago
JSON representation
worldwide elevator simulator visualization
- Host: GitHub
- URL: https://github.com/t33devv/elevator-sim
- Owner: t33devv
- Created: 2025-11-28T13:28:28.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-11-29T01:59:41.000Z (7 months ago)
- Last Synced: 2025-11-30T20:27:24.434Z (6 months ago)
- Language: JavaScript
- Homepage: https://elevator-sim-liart.vercel.app
- Size: 39.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# elevator simulator
basically, everyone in the world shares these 2 elevators
🔗 **[Live Demo](https://elevator-sim-liart.vercel.app/)**
---
## 🎮 How to Use
1. Click **"Make a Request"** button
2. Select your current floor
3. Choose direction (Up/Down)
4. Select your destination floor
5. Submit and watch the elevator come to you
---
## Tech stack:
**Frontend:**
- React.js 19.2.0
- Vite 7.2.4
- Tailwind CSS 3.4.18
- Socket.IO Client 4.8.1
- Vercel for Deployment
**Backend:**
[Link to Github repo](https://github.com/t33devv/elevator-sim-backend)
- Node.js
- Express 5.1.0
- Socket.IO 4.8.1
- Nodemon 3.1.11
- Render for Deployment
---
### Elevator Algorithm
The system uses a smart scheduling algorithm that:
- Assigns requests to the nearest idle elevator
- Maintains pickup → destination order
- Optimizes based on current direction and queue length
- Prevents starvation with FIFO queue for unassigned requests
---
## Websocket requests:
- **elevatorRequest** - Client -> Server (new elevator request)
- **elevatorStateUpdate** - Server -> Client (elevator position/status updates)
- **requestReceived** - Server -> Client (request confirmation notification)
- **requestFulfilled** - Server -> Client (completed request notification)
---

---

---
# ⭐ Star this repo if you found it interesting!