RUPTOR is an interactive web-based simulation that demonstrates drone-based interception of aerial threats. The project visualizes defensive drones intercepting incoming aircraft using real-time path calculation and collision detection.
- Real-time 3D visualization using Mapbox GL JS
- Multiple autonomous defensive drones with independent control systems
- Dynamic threat interception calculations
- Ground station radius monitoring
- API-controlled drone integration
- Interactive click-to-launch functionality
- Visual tracking of successful intercepts
- Replay functionality for scenario analysis
- Frontend: React, Next.js
- Mapping: Mapbox GL JS
- Geospatial Calculations: Turf.js
- Styling: Tailwind CSS
-
Clone this repository:
git clone https://github.com/wennyyustalim/ruptor.git cd ruptor
-
Install dependencies:
npm install
-
Create a
.env.local
file in the root directory and add your Mapbox token:NEXT_PUBLIC_MAPBOX_TOKEN=your_mapbox_token_here
-
Start the development server:
npm run dev
- Open the application in your browser (default:
http://localhost:3000
) - Click anywhere on the map to set a custom starting position for the threat
- Click "Launch Plane" to begin the simulation
- Watch as defensive drones automatically intercept the incoming threat
- Use "Replay" to restart the simulation
- Toggle API-controlled drones using the visibility button
Key simulation parameters can be adjusted in map-working.jsx
:
const MULTIPLIER = 5;
const DRONE_SPEED = 45 * MULTIPLIER;
const PLANE_SPEED = 280 * MULTIPLIER;
const REFRESH_RATE = 200;
const NUM_API_DRONES = 6;
The simulation supports external drone control through a REST API:
GET /api/position/:id
- Get drone positionPOST /api/set_pos/:id
- Set drone positionPOST /api/waypoint/:id
- Set drone waypoint
- 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.
- Mapbox for their excellent mapping platform
- Turf.js for geospatial calculations
- The open-source community for various supporting libraries
- Wenny Yustalim - @wennyyustalim
- Chris May - @randomness57
- Mantas Gribulis - @mantyni
- Yehor Balytskyi - @turbofakesmile
- Connor Geiman - @connorgeiman
- Prachi Sethi - @prachi1615
- Project Link: https://github.com/wennyyustalim/ruptor
- Demo: Ruptor App
- Demo Video: YouTube