A responsive music player with vue
neteast-music-vue
A mobile first, handwritten, responsive web app for music fans.
It is a mobile first responsive web app for listening music from Neteast cloud platform which is using a open source API:
https://github.com/Binaryify/NeteaseCloudMusicApi
The stack is based on Vue, VueX, VueRouter, Vuetify, Axios, PWA, SCSS, Jest, Nightwatch, Eslint, Babel and others.
Backend
- [x] compressed api by g-zip
- [x] proxy settings
Frontend
- [ ] maybe net-east account?
- [ ] maybe login?
- [ ] add full PWA support?
- [ ] Progressive Loading? different layout or resources based on device types and network speed
- [ ] download music function
- [ ] redo player animation and transaction
- [ ] UX/UI logic refactor
- [ ] add Skeleton loaders
- [ ] Lyric sync
- [ ] player loop/random function
- [ ] Home page desktop view add playlist, player, and lyric page
- [ ] Home page restructure for desktop view
- [x] theme and color settings
- [x] setting page
- [x] album page
- [x] artist page
- [x] large image adaptive loading
- [x] music progress slider click and jump to time function
- [x] Lyric display
- [x] fix Chrome security policy don't allow instantiate AudioContext before load audio source
- [x] fix music url request 403 error (by adding referrer head into index page)
- [x] reduce the bundle size and loading size(to homepage 440k total)
- [x] material icon tree-shaking (Reduce 300K after build the bundle)
- [x] message tab with styled component and function
- [x] click and play music without wipeout playlist
- [x] audio analyser and synchronizer effect by web api and drawing on canvas
- [x] playlist tab in player
- [x] player tabs and sections
- [x] music wave effect (removed)
- [x] player buttons
- [x] slider for volume control
- [x] slider for audio progress
- [x] full screen player mode
- [x] animated transition
- [x] hot music page Tabs and sections
- [x] theme switch (dark and light)
- [x] pagination for all list
- [x] add to playlist function
- [x] play all music in list function
- [x] responsive design implement
- [x] search
- [x] navigation drawer
- [x] hot music page
- [x] player controller
- [x] state management init
- [x] utils and apis
- [x] hot playlists page
need a env file to start this app
.env
VUE_APP_baseURL=Your URL
Project setup
npm install
Compiles and hot-reloads for development
npm run serve
Compiles and minifies for production
npm run build
Run your unit tests
npm run test:unit
Run your end-to-end tests
npm run test:e2e
Lints and fixes files
npm run lint