Skip to content

App that lets you search GitHub users and browse their repositories

Notifications You must be signed in to change notification settings

mnemosx/github-repos-explorer

Repository files navigation

GitHub repos explorer

JavaScriptVue.jsSASSGraphQLGitHub

App lets you search GitHub users and browse their repositories.

Features

🔥 Written using the latest and greatest Vue 3 and Composition API. Data is fetched from GitHub GraphQL API using Villus
✔️ Search input is debounced by 1 second, thus delaying API request until user has finished typing (sort of)
✔️ Loading spinner is displayed while data is fetching
✔️ User list is paginated (using 'Load More' button)
✔️ Fetched data is cached in memory and also in localStorage (for persistence between app launches)
✔️ 'No results' page is displayed when request returns 0 items
✔️ Start screen displays past searches (last 15 by FIFO) which are persistent between app launches
✔️ Mobile friendly
✔️ User can like repos
✖️ Tested using Cypress

Additionaly

✔️ Liked repos are gathered together in a separate page
✔️ Repos are sorted by most starred
✔️ User can use URL queries (/search?q=something) to directly search for users on page load
✔️ Skip users with 0 repos
✔️ App can be navigated using keyboard
✔️ If number of repos > 10, request more repos on user input



☝️ Tested against https://repos.andis.dev/search?q=dave



Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

About

App that lets you search GitHub users and browse their repositories

Resources

Stars

Watchers

Forks