Projecte llegit
Títol: Implementació d'un joc de combat de drons amb Flutter, Node.js i Python
Estudiants que han llegit aquest projecte:
SABATER NUALART, ANNA (data lectura: 17-07-2025)- Cerca aquest projecte a Bibliotècnica
SABATER NUALART, ANNA (data lectura: 17-07-2025)- Cerca aquest projecte a Bibliotècnica


Director/a: VALERO GARCÍA, MIGUEL
Departament: DAC
Títol: Implementació d'un joc de combat de drons amb Flutter, Node.js i Python
Data inici oferta: 29-01-2025 Data finalització oferta: 29-09-2025
Estudis d'assignació del projecte:
DG ENG AERO/SIS TEL
DG ENG AERO/TELEMÀT
DG ENG SISTE/TELEMÀT
Tipus: Individual | |
Lloc de realització: EETAC | |
Paraules clau: | |
Dron, Backend, Frontend, Python, Flutter, Socket.IO, Node.js/Express | |
Descripció del contingut i pla d'activitats: | |
Overview (resum en anglès): | |
The Bachelor's Thesis I present describes an integrated platform for the simultaneous control
and management of multiple drones. The system consists of three main components: a Python-based ground station, a Node.js and Express backend, and a Flutter web client accessible from any browser thanks to Ngrok tunnel integration. The ground station serves as the command center. From there, flight zones are defined, obstacles are configured, match parameters are set, and all combat logic is executed (collision detection, score calculation, and projectile management). It supports USB joysticks or keyboard controls, allowing piloting without accessing the web frontend. Additionally, thanks to the Mission Planner integration, the flight path and telemetry data are displayed on an interactive map in real time. The backend, built with Node.js and Express, stores user data in MongoDB and handles real time communication via WebSockets (Socket.IO), ensuring fast and stable event synchronization across all platforms. The Flutter-based web client allows pilots to connect from any browser and control their drones with touch commands, reflecting in real time any changes made from the ground station (heading changes, obstacle destruction, etc.). Non-competing users can follow the match as spectators or enjoy individual mini-games. Moreover, the interface is fully internationalized and offers multilingual support in Catalan, Spanish, and English; from the settings section, users can select their preferred language or let the application adapt automatically to their browser's Language. The entire system features an automatic reconnection mechanism-across the ground station, backend, and client-that restores communication and recovers the match state in the event of a connection loss, without interrupting the gaming experience. |