Stage
Ontwikkelen
Database en website voor drone modellen
Opdracht omschrijving
Het doel van deze stageopdracht is het ontwikkelen van een databank met drone modellen. Alle drone modellen van alle drone fabrikanten moeten er een plekje in vinden. Ook de complexe modellen met verwisselbare payload en de zelfgemaakte (professionele) drones.
Een uitgebreidere beschrijving
Om drones in de lagere luchtlaag (<120mtr) veilig te laten vliegen, is het belangrijk om alles van een drone te weten. Twee voorbeelden:
Om een risicoberekening uit te voeren of een drone wel of niet in een bepaalde omgeving mag vliegen zijn de exacte gegevens van een drone nodig. Drones zijn verdeeld in bepaalde breedtes (0-1mtr, 1-3mtr, 3-8mtr, 8-15mtr, >15mtr) en gewichtsklassen. Op basis van deze gegevens wordt een ontheffing bij de overheid gevraagd.
Ons vlucht begeleidingssysteem (UTM Europe) kan op basis van start, tussen punt(en) en eindpunt bepalen hoe een drone veilig kan vliegen. Het systeem doet dit door te kijken naar de afmetingen van objecten op de grond. De grootte van de drone is bepalend voor de afstand tot een grondobject. Hiervoor is de modellen database nodig.
Ook het type drone is van belang. Er zijn drones die verticaal kunnen opstijgen (bijv. quadcopters) maar er zijn er ook met vleugels (gliders). En natuurlijk alle combinaties ervan. Elk type heeft zo zijn eigenschappen.
Drones kunnen ook een payload hebben. Soms die ene camera, soms die andere. Delivery drones kunnen per vlucht een andere payload hebben. Soms een pizza, soms alleen een zakje chips. Ook hiervoor moet het systeem geschikt zijn.
Één van de eerste activiteiten is duidelijk krijgen welke soorten drones en payloads er allemaal bestaan. Dan deze categoriseren en eigenschappen bepalen. Hieruit komt een datamodel die je gaat testen (met voorbeeld drones). Als het datamodel er is dan kan begonnen worden met de bouw van een website (PHP) om de database te muteren. De website kan getest worden door een flink aantal drone modellen in te voeren. De database moet ook benaderd kunnen worden door andere applicaties. Dit door middel van een API interface. Voor de diverse endpoints moet een structuur geschreven worden. Om de API te testen schrijf je testcode. De modellen database krijgt een user/group rechtenstructuur en users moeten via onze Single Sign On (SSO) server geauthenticeerd worden. Ook de API calls mogen alleen uitgevoerd worden door een bepaalde user. Als laatste moet via de API bijgehouden worden welke users de API aanroepen.
De database moet zo ontworpen worden dat informatie niet wordt overschreven, maar dat voor elke wijziging een nieuwe entry wordt toegevoegd, met de actuele datum en welke user de wijziging heeft aangebracht. Voorbeeld:
Vraag op: breedte drone 2572 -> 23cm, wijziging naar 24cm wordt aangebracht door user “242”. Dan wordt er een nieuwe entry in de database aangebracht bij drone 2572, met waarde 24, door user 242 op “timedate”.
Bij het nu opvragen van de breedte van drone 2572 moet de nieuwste waarde worden weergegeven.
Functie eisen
Flexibel kunnen denken
Goed kunnen web-programmeren
Kennis over het maken van een API
Relationele database moeten kunnen ontwerpen en normaliseren
Affiniteit met (onbemande) luchtvaart
Goed kunnen samenwerken met de opdrachtgever
Je tanden willen zetten in een complexe opdracht
Gevraagde/te ontwikkelen kennis
CSS, PHP
SQL / MySQL / PHPMyAdmin