Challenge Overview
Welcome to Barton Admin Tool Operations and Roles Code Challenge
We are pleased with the outcome of our first challenges 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 Operation & Roles tabs. 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 answers and will give you more wiggle room for interpretation.
About Operations and Roles Tabs
- The Operations and Roles screens are additions to the existing Barton Admin Tool. These are the first of a series of screens that manage entitlement across an IoT application.
- Both the Operations and Roles screens will be used by various users to manage operations and roles in an IoT application. Operations describe what action a user can perform in an application. This could be a web app, mobile app, or other background process.
- A Role is an assignable entity that can be assigned to an individual user that defines their authorization rights within an application. As mentioned above, this is the first of a set of screens that will allow for the management of entitlement.
- We dont envision either of these screens having to support hundreds of even thousands of items so no need to over-optimize the UI for large datasets. Just normal good behavior UI principles are in play here. Please see the other tabs on the Barton Admin app for look, feel, and behaviors. Its unlikely search will be needed on these screens.
Target Audiences
- Any user with the privilagess to edit Roles or Operations. Existing entitlement system will handle authorizations. See other tabs on the Barton admin tool for examples.
General Requirements:
- Pull the full stack source for the app and install it locally or on Heroku.
- This is our latest Barton Admin Tool application, deployed on heroku: https://insidegatewayadmintool.herokuapp.com/ (Login info: admin@test.com / abc123)
- Challenge winner need responsible to do the Pull Request for this winning submission.
- As possible please follow existing format/functionality like provided code when you build Operations and Roles tabs.
- Create initial data on MongoDB for both Operations and Roles tabs.
Submissions Requirements:
- Add NEW menus for Operations, Resources and Roles. All these menus must displayed across the pages
- Operations & Roles tabs will be explained below
- Resources tab can re-use existing Coming Soon layout
- Read detail requirements for both Operations & Roles tabs below:
1). Operations Tab
- On the left side, you need display left sidebar contains all Adapter in the system. Create sample data on MongoDB
- Re-use existing functionality like on Devices page, like using the dropdown, and collapse/expand the left sidebar
- User selects an Adapter Project. All of the operaions are then loaded for that adapter on on the left sidebar content
- Select an adapter need render data on the right side.
- On the main content area, you need use 1 column layout for Operation Information
Operations Information
- Only Name, Description and App ID using text input, other fields can use plain label
- ID field is read-only and system generated
- App ID, App list will be pre-populated create separated MongoDB collections for this dropdown for data samples
- User must select an App ID for the the operation to apply to.
- Display Growl notification when user going to delete the Operation & create new Operation. Re-use existing function.
2). Roles Tab
- On the left side, you need display left sidebar contains all Adapter in the system. Create sample data on MongoDB
- Re-use existing functionality like on Devices page, like using the dropdown, and collapse/expand the left sidebar
- User selects an Adapter Project. All of the roles are then loaded for that adapter on on the left sidebar content
- Select a role need render data on the right side.
- On the main content area, you need use 2 columns layout for Roles Information and Roles Operations. You can check existing layout on Device Profile tab
Roles Information
- Only name, Description and App ID using text input, other fields can use plain label
- ID field is read-only and system generated
- App ID, App list will be pre-populated create separated MongoDB collections for this dropdown for data samples
- User must select an App ID for the the operation to apply to.
- Display Growl notification when user going to delete the Role & create new Role. Re-use existing function.
Roles Operation
- For Roles Operation, you need displayed a table with some rows and checkboxes
- Re-use table layout from Device Profiles tab
- Operations List for the selected Adapter, for the selected Role.
- Create different dataset of the selected roles when user change between roles
- Roles Operations is combination of Custom and Standard Operations. List custom first in ASC order then list standard ins ASC order
We are pleased with the outcome of our first challenges 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 Operation & Roles tabs. 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 answers and will give you more wiggle room for interpretation.
About Operations and Roles Tabs
- The Operations and Roles screens are additions to the existing Barton Admin Tool. These are the first of a series of screens that manage entitlement across an IoT application.
- Both the Operations and Roles screens will be used by various users to manage operations and roles in an IoT application. Operations describe what action a user can perform in an application. This could be a web app, mobile app, or other background process.
- A Role is an assignable entity that can be assigned to an individual user that defines their authorization rights within an application. As mentioned above, this is the first of a set of screens that will allow for the management of entitlement.
- We dont envision either of these screens having to support hundreds of even thousands of items so no need to over-optimize the UI for large datasets. Just normal good behavior UI principles are in play here. Please see the other tabs on the Barton Admin app for look, feel, and behaviors. Its unlikely search will be needed on these screens.
Target Audiences
- Any user with the privilagess to edit Roles or Operations. Existing entitlement system will handle authorizations. See other tabs on the Barton admin tool for examples.
General Requirements:
- Pull the full stack source for the app and install it locally or on Heroku.
- This is our latest Barton Admin Tool application, deployed on heroku: https://insidegatewayadmintool.herokuapp.com/ (Login info: admin@test.com / abc123)
- Challenge winner need responsible to do the Pull Request for this winning submission.
- As possible please follow existing format/functionality like provided code when you build Operations and Roles tabs.
- Create initial data on MongoDB for both Operations and Roles tabs.
Submissions Requirements:
- Add NEW menus for Operations, Resources and Roles. All these menus must displayed across the pages
- Operations & Roles tabs will be explained below
- Resources tab can re-use existing Coming Soon layout
- Read detail requirements for both Operations & Roles tabs below:
1). Operations Tab
- On the left side, you need display left sidebar contains all Adapter in the system. Create sample data on MongoDB
- Re-use existing functionality like on Devices page, like using the dropdown, and collapse/expand the left sidebar
- User selects an Adapter Project. All of the operaions are then loaded for that adapter on on the left sidebar content
- Select an adapter need render data on the right side.
- On the main content area, you need use 1 column layout for Operation Information
Operations Information
- Only Name, Description and App ID using text input, other fields can use plain label
- ID field is read-only and system generated
- App ID, App list will be pre-populated create separated MongoDB collections for this dropdown for data samples
- User must select an App ID for the the operation to apply to.
- Display Growl notification when user going to delete the Operation & create new Operation. Re-use existing function.
2). Roles Tab
- On the left side, you need display left sidebar contains all Adapter in the system. Create sample data on MongoDB
- Re-use existing functionality like on Devices page, like using the dropdown, and collapse/expand the left sidebar
- User selects an Adapter Project. All of the roles are then loaded for that adapter on on the left sidebar content
- Select a role need render data on the right side.
- On the main content area, you need use 2 columns layout for Roles Information and Roles Operations. You can check existing layout on Device Profile tab
Roles Information
- Only name, Description and App ID using text input, other fields can use plain label
- ID field is read-only and system generated
- App ID, App list will be pre-populated create separated MongoDB collections for this dropdown for data samples
- User must select an App ID for the the operation to apply to.
- Display Growl notification when user going to delete the Role & create new Role. Re-use existing function.
Roles Operation
- For Roles Operation, you need displayed a table with some rows and checkboxes
- Re-use table layout from Device Profiles tab
- Operations List for the selected Adapter, for the selected Role.
- Create different dataset of the selected roles when user change between roles
- Roles Operations is combination of Custom and Standard Operations. List custom first in ASC order then list standard ins ASC order
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.
- 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.