Challenge Overview
In the previous challenges, a raw UI prototype for the frontend was built in ReactJS. Now it's time to wire the pages to actual backend API.
This challenge will focus on the drones management pages for the service provider. That includes drones list, add, edit and removal.
The routes in scope are
/my-drone
/drone-details
/edit-drones
There is currently no add-drone route in the prototype, so you can create one based on /edit-drones (that can be one route or component to create/update drones)./drone-details
/edit-drones
Authentication is out of scope, that will be handled later. You can use a static access token for accessing the backend services.
Here is API mapping to speciffic pages. The demo invisionapp is hosted at https://topcoder.invisionapp.com/share/6G941X05R#/screens/204126143
# 14 My Drones
- My drone map
GET /provider/drones/current-locations
- Available tab
GET /provider/drones?limit=xxx&offset=yyy&statuses[]=idle-ready&sortBy=serialNumber
- In Mission tab
GET /provider/drones?limit=xxx&offset=yyy&statuses[]=idle-busy&statuses[]=in-motions&sortBy=serialNumber
(or get only drones with status = in-motions, frontend should decide which statuses to show)
- Delete
DELETE /provider/drones/{id}
# 15 Drone Detail
- Drone Info tab
GET /provider/drones/{id}
- Delete button
DELETE /provider/drones/{id}
- Last Completed Missions
GET /provider/drones/{id}/missions?limit=xxx&status=completed
- Drone Schedule tab
Calendar:
GET /provider/drones/{droneId}/missions/monthly-count?month=xxx
List view:
GET /provider/drones/{id}/missions?date=xxx
# 16 Edit Drone
- Edit:
PUT /provider/drones
- Add:
POST /provider/drones
NOTES:
Base code for this contest is https://github.com/topcoderinc/dsp-frontend/tree/dronesManagement (branch dronesManagement)
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
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 codeSubmit 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)