Skip to content

Instantly share code, notes, and snippets.

@tomasperezv
Last active July 29, 2023 08:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomasperezv/4a949fbf6fcffee84df4cbde7e859451 to your computer and use it in GitHub Desktop.
Save tomasperezv/4a949fbf6fcffee84df4cbde7e859451 to your computer and use it in GitHub Desktop.
code-test-github

Task: GitHub User Analytics tool

Objective:

Develop a Frontend application that allows user to search for a GitHub user by username and view info about the user and their public repos.

Key Features:

  • Search Functionality: Users should be able to search for GitHub users using usernames. GET https://api.github.com/search/users?q=octocat

  • User Information: Once a user is found, display a profile card with detals such as profile picture, username, number of public repos, number of followers, and number folowing. GET https://api.github.com/users/octocat

  • Repository Information: Display a list of the user's public repos with relevent details such as repository name, description, language, stars, forks, and last updated timestamp. GET https://api.github.com/users/octocat/repos

  • Sort and Filter: Implement functionality to sort repos based on different criteria (stars, forks, updated time). Include filters to narrow down repos by programming language.

Technical Requirements:

  • Use the GitHub API to fetch user and repo data.
  • Implement error handling for the API calls, including handling non-existent users.
  • The app should be responsive

Guidelines:

  • You can select the Framework of the app, however explain briefly in the README.md file the reasons of selecting it.
  • Push the final version to a public GitHub repository.
  • Write a README.md file explaining how to run your project, the choices you made, any difficulties you faced, and how you overcame them. Include also comments about the things that you would you change if you had more time to work on the project.

Bonus:

  • Publish the solution in a github page or another platform.
  • Basic layer of unit tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment