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:


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

Gevraagde/te ontwikkelen kennis