Register
Submit a solution
The challenge is finished.

Challenge Overview



In the previous challenge we developed backend support for no fly zones. In this contest we need to add frontend interface that will be used to manage the no-fly zones. Additionally, the created no fly zones should be displayed in the existing maps: Drones Map and Mission Planner. Here are the requirements:

1. Create an admin tool to create/update/list/delete the no fly zones. Creating a No Fly Zone (nfz) should be a map with tools to draw polygon or a circle. Create nfz should post to /nfz. Polygon geometry data should populate "location" parameter in the post request as GeoJSON. Since circles aren't supported by backend, those need to be approximated with a polygon (36 points should be enough), but the drawing on the map should display it as a regular circle.
There is no ui prototype page for this feature, so you can add a new top level route for admin users. All the features can be implemented on a single page (nfz list on the left, editing on the right) or you can create separate pages for listing and creating no fly zones. Make sure to include pagination to the list of no fly zones as the expected nfz count is very large.

2. Update mission planner and drones map to display the no fly zones. Both of these components should load the no fly zones according to the current map view. No fly zones are loaded via POST request to /nfz/search. The "location" parameter should reflect the currently visible map region.
Drones map component is the one displayed at /drones-map, while mission planner component is displayed in /mission-planner

3. Update the map in the /service-request page to allow the user to annotate the map with regions to fly. The map should be very similar to the admin tool nfz map, except that the user can enter a note for each of the items in the map (ideally a popup in the map when user clicks on a created polygon/circle).


NOTES:
Base code for this contest is https://github.com/topcoderinc/dsp-frontend/tree/nfzManagement (branch nfzManagement)
Backend server sources are available at https://github.com/topcoderinc/dsp-server

Deployed backend is available at : https://kb-dsp-server.herokuapp.com. You can browse api docs at https://kb-dsp-server.herokuapp.com/api-docs
You can use these accounts (or create your own):
Consumer: consumer@consumer.com / consumer
Provider: provider@provider.com / provider
Pilot: pilot@pilot.com / pilot
Admin: admin@admin.com / admin


Final Submission Guidelines

Submit a git patch for your changes to the base code
Submit a short video demonstrating the implemented features
Submit updated deployment guide
Submit a short verification guide with screenshots (verification guide should be placed in the /verification-docs directory)
 

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055991