Skip to content
This repository was archived by the owner on Nov 16, 2025. It is now read-only.

NickKhunapoj/TESA2025-Visualize

Repository files navigation

🛡️ TESA Top Gun Rally #19

🏆 Top Score – Command Post Visualisation Award

👨‍🚀 Team Clean Food Good Taste — KMUTNB

IMG_3237

🚁 Drone Command Post Dashboard

A real-time command and control dashboard for monitoring offense and defense drone operations with interactive mapping, telemetry data, and movement tracking.

Dashboard Preview Next.js TypeScript Mapbox

Current Status

Phase 1: Frontend Prototype (Complete)

  • Two-pane layout with map and telemetry
  • Mapbox integration with custom drone markers
  • Team-based visualization (offense/defense)
  • Movement trails and timeline controls
  • Full UI implementation

Phase 2: Mock Data Integration (Active)

  • Using simulated drone data for development
  • Real-time position updates every 3 seconds
  • Full interactivity with mock drones

Phase 3: WebSocket Integration (Ready)

  • WebSocket hook implemented (app/hooks/useWebSocket.ts)
  • Ready to connect when server details provided
  • Will replace polling with real-time push updates

Features

📊 Two-Pane Layout

  • Left Pane (Telemetry): Displays detailed drone information when selected

    • Zoomed map view of selected drone
    • Real-time telemetry: Latitude, Longitude, Roll, Pitch, Yaw, Altitude, Speed
    • Visual attitude and compass indicators
    • Blank when no drone selected
  • Right Pane (Main Map): Full operational view

    • Interactive Mapbox with dark theme
    • All active drones displayed with color-coded markers
    • Offense (Blue) vs Defense (Red) team differentiation
    • Multiple drone shape indicators (Circle, Triangle, Square, Pentagon)
    • Toggle-able movement trails
    • Click drones to select and view details

🎯 Advanced Features

  • Real-time Updates: Auto-refresh every 3 seconds (configurable)
  • Timeline Slider: Navigate through historical data
  • Team Filters: Show/hide offense and defense teams independently
  • Movement Trails: Visualize drone paths over time
  • Live Status Indicator: Shows connection status
  • Responsive Design: Optimized for command center displays

🚀 Quick Start

# Install dependencies
npm install

# Run development server
npm run dev

Open http://localhost:3000 to view the dashboard.

Current Mode: Mock Data (simulated drones for testing)


📖 Documentation


📁 Project Structure

app/
├── components/
│   ├── Dashboard.tsx          # Main dashboard container
│   ├── MapView.tsx           # Mapbox integration
│   ├── TelemetryPane.tsx     # Drone detail view
│   └── TimelineControl.tsx   # Timeline & filters
├── types/
│   └── drone.ts              # TypeScript interfaces
├── utils/
│   └── mockData.ts           # Mock data generator
├── services/
│   └── api.ts                # API integration
└── page.tsx                  # Entry point

🎮 Quick Usage

  1. View All Drones: Main map shows all active drones
  2. Select Drone: Click any marker to view details
  3. Filter Teams: Toggle Offense/Defense buttons
  4. Toggle Trails: Enable/disable movement paths
  5. Timeline: Adjust time range slider (mock data for now)

🔧 Configuration

Edit .env.local:

NEXT_PUBLIC_MAPBOX_TOKEN=your_token_here
NEXT_PUBLIC_CAMERA_ID=your_camera_id
NEXT_PUBLIC_CAMERA_TOKEN=your_camera_token

📝 License

This project is part of TESA 2025 competition.


Built with ❤️ using Next.js, TypeScript, and Mapbox GL

About

This repository contains the Command Post Visualisation Web platform developed for the TESA Top Gun Rally 2025 competition, providing an integrated real-time interface for mission tracking, and event monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors