Challenge Overview
This is another challenge in the series for Cloud Hub, where we are building on our apps endpoints to help expose our library of applications. Cloud Hub is a billing solution that allows you to see applications, users and charges for your company. We want to allow companies to request that an application be added to our master list. Also, we want to allow companies to be able to better search the list, instead of loading all applications. We want to continue to follow RESTful practices and coding standards used throughout the application.
App request requirements
1. Add endpoint that allows an admin or super-admin role to access the endpoint, see config/roleAccess for how we manage access.
2. Payload will be { “appName” : “Evernote”, “appDomain” : “www.evernote.com” }
3. Create simple EJS template to send payload information to ADMIN_EMAIL constant.
App search requirements
1. Modify /apps endpoint to pass in search parameter.
2. Search value should search both the appName and category for matching values.
3. Return data in same format as GET /apps call.
General requirements
1. Add or modify test cases to cover any changes made to these endpoints.
2. Any changes must past ’npm run lint’.
2. Provide your code and documentation in a single zip file. Please include a git patch for easier integration of changes.
3. The bulk of your documentation should be in the Readme.md and you should assume that this will be open source so make sure you cover all the steps to set up, If you have specific information that should not be included in a public readme (like links to your video) put them in a file called submission.txt and they will be omitted from the project if it is open sourced.
4. Provide a quick video of your solution in action (feel free to annotate your video if you are not comfortable with spoken English or don’t like the sound of your own voice). Video may be private on youtube or added to the submission files.
App request requirements
1. Add endpoint that allows an admin or super-admin role to access the endpoint, see config/roleAccess for how we manage access.
2. Payload will be { “appName” : “Evernote”, “appDomain” : “www.evernote.com” }
3. Create simple EJS template to send payload information to ADMIN_EMAIL constant.
App search requirements
1. Modify /apps endpoint to pass in search parameter.
2. Search value should search both the appName and category for matching values.
3. Return data in same format as GET /apps call.
General requirements
1. Add or modify test cases to cover any changes made to these endpoints.
2. Any changes must past ’npm run lint’.
Final Submission Guidelines
1. Any additions or modifications to the code project pass on "npm run lint" and "npm run test".2. Provide your code and documentation in a single zip file. Please include a git patch for easier integration of changes.
3. The bulk of your documentation should be in the Readme.md and you should assume that this will be open source so make sure you cover all the steps to set up, If you have specific information that should not be included in a public readme (like links to your video) put them in a file called submission.txt and they will be omitted from the project if it is open sourced.
4. Provide a quick video of your solution in action (feel free to annotate your video if you are not comfortable with spoken English or don’t like the sound of your own voice). Video may be private on youtube or added to the submission files.