/aircraftregistry

A registration sandbox and API specification

Primary LanguagePythonApache License 2.0Apache-2.0

Aircraft Registry

This is a softare backend for a interoperable drone registry. This topic is extensive and covers a large number of topics and you can start reading it in the order below:

  1. Registration Overivew (READ FIRST)

  2. A deployed registry backend server (this repository) with API endpoints and documentation to read data off the database https://aircraftregistry.herokuapp.com

  3. A deployed registry frontend application with all endpoints and sample data for you to explore (you will need credentials from us) Airegister Frontend

  4. A deployed registry broker application with all endpoints and sample data for you to explore (you will need credentials from us) Aircraft Registry Broker

Get started

Registry and Registration systems in the context of unmanned aviation is a vast topic covering a number of things: security, identity etc. this is a comp

Contribute

You can open issues to this repository, review the Landscape document to review the background and look at open issues to look at the current work in progress.

Technical Details / Self-install

This is a Django project that uses Django and Django Rest Framework and the API Specification

1. Install Dependencies

Python 3 is required for this and install dependencies using pip install -r requirements.txt.

2. For Local testing turn off Securing API endpoints

Go to settings.py and set SECURE_API_ENDPOINTS as False to disable secure endpoints for local testing. This means that you dont need the JWT tokens for Identity and Authenication, for more information about Identity and Roles are managed, please review Identitiy and Authentication paper

2. Create Initial Database

Use python manage.py migrate to create the initial database tables locally. It will use the default SQLLite.

3. Populate initial data

Use python manage.py loaddata registry/defaultregistrydata.json to populate initial data.

4. Launch browser

Launch browser to http://localhost:8000/api/v1/ to launch the API Explorer

5. Update / Add data

This project runs on Python / Django and one of the nice thing about Django is that it comes with a Adminstration Interface. So you can go to http://localhost:8000/admin and login using a adminsitrator account and use the user interface to add / modify entries.

You will have to create a "superuser" first by typing in python manage.py createsuperuser to create the user first.

Update July 2019: This is a fork of the GUTMA Registry, that I Dr. Hrishikesh Ballal created when I was working at GUTMA, I have now forked that repository and the work continues. The main difference here is that it has JWT based Identity and Authentication to access the endpoints and also has an updated API