To evaluate UI engineers, JumpCloud would like you to build a simple single page application using Vue that uses our public API to implement standard [CRUD] (https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations on users managed by a JumpCloud organization.
- Go to https://www.jumpcloud.com, sign up for a free account, and activate it.
- After signing in, navigate to the Users page and create a new user in the UI. The User Information section contains the only required fields which are indicated with an asterisk.
- Notice that the new user is displayed in the Main Panel.
- Click the row in the Main Panel and change the user's first name, last name, user name, or email address and click save. Notice the changes are displayed in the Main Panel.
- Click the checkbox in the left column to select the user. Notice the Action Buttons in the upper right of the table are activated.
- Click the delete button when the user is selected. Notice the user no longer appears in the Main Panel.
Congratulations! You have just explored the CRUD operations that can be performed from the JumpCloud UI. But before you begin you'll set up just a few more things:
- Click on your user name in the upper right and select API settings from the drop down.
- Copy your API key. You will be passing it to the server side application we've set up for you in this repo.
- Clone this repo, run
npm install
to install all required packages, and copy your API Key into the.env
file. - Start the proxy service using
docker-compose up
. - The web server is a simple express based app that proxies requests from
http://localhost:8005/api
tohttps://console.jumpcloud.com/api
so that you can build a simple single page CRUD application using our system users API. - You will be using the following RESTful
API requests:
GET /api/systemusers GET /api/systemusers/{id} POST /api/systemusers PUT /api/systemusers/{id} DELETE /api/systemusers/{id}
- Go ahead and try it out using
curl
from the command line.curl -s -v 'http://localhost:8005/api/systemusers'
- Now using the API we've provided, and your free account at jumpcloud.com, you're ready to build a simple single page application that allows CRUD operations on system users in your JumpCloud organization.
Let's move on to the requirements for this assignment.
In your GitHub account, create a new repo, and in that repo create a single page application that can do the following:
- List the users in your JumpCloud organization.
- Create a new user.
- Update an existing user.
- Delete a user.
- Be intuitive and have a clean user experience.
We ask that you utilize the Vue application generator, create-vue, to emulate our existing stack. This application will require forward-thinking architecture for future expansion and growth. Additionally, the application needs to be built with production quality code that is maintainable and scalable, with configurable build tooling. And feel free to use any modern CSS framework if you want to.
When you're done, please send us a link to your repo so we can clone it locally and test out your UI.
We're excited to see what you build. And thanks for your interest in JumpCloud.