- Overview
- Quick Start
- Demo
- Documentation
- Architecture
- Running the Application
- Development Setup
- API Access Setup
- Additional Resources
- License
This repository contains the source code and supporting documentation for the DroneDeck project, developed as part of the Object-Oriented Programming in Java course at Frankfurt UAS (Winter 2024). The goal is to create a Java application with a graphical user interface (GUI) to interact with a drone simulation system using a RESTful API.
# Run with API access (requires credentials)
java -jar DroneDeck.jar
# Or run in demo mode (no API access needed)
java -jar DroneDeck.jar --demoFor comprehensive project documentation, including user handbook and technical details, see our Full Documentation.
DroneDeck follows a clean, modern architecture focused on scalability and maintainability:
graph TD
subgraph "Frontend"
UI[UI Components]
Dashboard[Dashboard View]
Catalog[Catalog View]
end
subgraph "Core"
Controller[Controller Layer]
Services[Service Layer]
DataAccess[Data Access Layer]
end
subgraph "External"
API[Drone API]
end
UI --> Dashboard
UI --> Catalog
Dashboard --> Controller
Catalog --> Controller
Controller --> Services
Services --> DataAccess
Services --> API
Key Technologies:
- Java Swing with modern FlatLaf UI components
- REST API integration with token authentication
- Multithreaded data processing for performance
- Local data caching for offline capabilities
# Download DroneDeck.jar from the latest release
java -jar DroneDeck.jarRequirements:
- โ Java 23+ (Download)
- ๐ DroneSim account with API token
- ๐ Frankfurt UAS network access
# Perfect for testing without API access
java -jar DroneDeck.jar --demoBenefits:
- No API token required
- Works outside university network
- Try all features with simulated data
- JDK 23 - Java Development Kit
- IntelliJ IDEA - Recommended IDE
- Git - Version Control
-
Clone the repository
-
Open in IntelliJ IDEA
-
Build โ Build Project
-
Run using:
Windows:
# Option 1: Use the included batch file RunDemoDroneDeck.bat # Option 2: Command line java -cp "out/production/DroneDeck;lib/*" main.java.DroneDeck --demomacOS/Linux:
java -cp out/production/DroneDeck:lib/* main.java.DroneDeck --demo
-
Set the
DRONE_API_KEYenvironment variable:- Find your API token at DroneSim
- Setting this prevents manual key entry on each startup in standard mode
-
Off-campus access:
- API only accessible from Frankfurt UAS network
- Install FortiClient VPN
- Connect using university credentials
-
Documentation
-
Design
This project is licensed under the MIT License - see the LICENSE file for details.

