https://inker.github.io/spotify-api-usage-example
- The artist is saved in the URL. On page refresh, filters are retained.
- The displayed data is automatically updated every 30 seconds.
- The sidebar is resizeable.
- Light/dark/system theme switcher.
- Login & logout buttons.
- The token is stored in
localStorage
which is unsafe, because it's vulnerable to XSS attacks. - Redirect URI & App ID are hardcoded.
- Many Vue components don't have unit tests. Test coverage could be improved.
- Vue components should be made reusable and moved to a separate repository & be tested with unit tests & storybook.
- Design could be better & more responsive to be usable on mobile devices in portrait mode.
- No end-to-end tests.
- The build pipeline lacks the compression step which would obviate the need to compress static files on the fly. Sadly, GitHub Pages only supports dynamic compression.
- Router working in hash mode due to GitHub Pages limitations.
- Commit messages could be more descriptive.
- Some commits do more than one thing.