Challenge Overview
Welcome to Barton MEAN Admin Tool Gateway Devices Page Code Challenge!
We are pleased with the outcome of our first challenge in this series BARTON MEAN ADMIN TOOL ANGULARJS POLYMER CODE CHALLENGE that set the stage for the Angular / Polymer framework hosted on Heroku. Now we are ready to build the next module, the device tab, which is mostly read-only since the rest of the data is discovered from the device itself. Below you will see a mockup for what we have in mind. The logic is still very rough so we might not have all the answer and will give you more wiggle room for interpretation.
Requirements
- Pull the full stack source for the app and install it locally or on Heroku.- Update existing Devices page for this challenge requirements
- Create a Site collection in Mongo that simply contains the name, and create three entries Customer X, Customer Y, and Customer Z Optional create a relationship to User
- Create a Device collection in Mongo with the properties based on the image above. *Note that the UI you will be building only has the name and the Ingress Path writeable, however, the API should support all but the accounting field to be writeable. I separate discovery agent will use this API to write the values Device Id, Activation Code etc... The Devices can have 0 or n children. (the mockup only displays one level)
- Create the Device partial, controller and services based on the mockup above with the following considerations:
- The New Button should only create a top level device (Gateway in the mockup)
- By selecting the device in the left tree panel hydrate the right form with only the Name and Ingress Path editable by the user. Set the form to a dirty state if the user edits either field and warn if they select a new device or tab.
- An ideal solution will also use the px-destop-item and px-desktop-submenu web component from the bower_component directory
- Populate the collections with a minimum of the data represented in the mockup.
- Follow existing format of routes on Users page for the API calls
- Demonstrate that you can create a child device from the API by passing in the parent device id by supplying a curl command.
- Cchallenge winner need responsible to do the Pull Request for this winning submission.
the src repo can be found here
Final Submission Guidelines
- Please submit a single zip file which includes the .git directory intact. You should create a new branch with the name of your tc handle.- Deploy your solution on Heroku so we can see it in action and include the link to your submission.
- Provide documentation, (usage and deployment guide if ) for your solution in the main readme.md under a new section name Devices and/or edit the main readme to make it current.
- Provide a quick < 5-minute video of your solution in action. (You may annotate or narrate)
- A code walkthrough video is desired but not required.