The assignment is to create a web personalization. The web personalization will be a popup which will have two views. One view will display a list of GitHub accounts, while the other will display details for a specific account.
The first screen ("list view") will display contain a list of account id's and names for each account from the list. Clicking on a list item switches to the detail screen. A loading animation is displayed while the account details are being fetched.
The second screen ("detail view") will display details for a selected account. This screen displays the name, company, public_repos, public_gists fields from the selected user. The business has decided that the website user can see each GitHub account only once. All account detail views have to be tracked, and then those accounts must be filtered out from the first screen ("list view").
Implement your solution in the files given below.
- css/task.css
- js/task.js
Style specification is given poorly on purpose. You can freely apply custom design or slice the provided images. You can reuse existing css classes.
- background-color: #24292e
- max-height: 700px
- max-width: 300px;
- window position: bottom right (9)
1 2 3
4 5 6
7 8 [9]
- Header: text: Github Users
- List: collection of fetched accounts
onRowClick - switches to details view - Dismiss button - ×
onClick - hides the popup
- Header: - displays login field (ex. mojombo)
- Image - displays avatar_url field
- Company - displays company field
- Stats(public_repos, public_gists)
- Dismiss button - ×
onClick - hides the popup
Github accounts can be fetched through the GitHub API.
Documentation can be found here.
Required endpoints:
You can use either plain javascript or ajax for data fetching.
You can use any browser method for storing data.
Usage of any additional libraries is forbidden.