🔥 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
✔️ 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
npm install
npm run serve
npm run build
npm run lint