The next generation music client
- YouTube
- Vimeo
- SoundCloud
- ... keep adding :)
- Traditional Chinese 繁體中文 (沒錯,這個程式 Made in Taiwan XD)
- English
- French
- Spanish
- 日本語
- ... keep adding :)
We have a gitter chatting room and please feel free to join us and talk there :)
Because we use npm to maintain our third party libraries, you have to make sure before doing anything, these needed stuffs are all installed already.
npm install
npm install [email protected] -g
- Install electron command
This is IMPORTANT, please read this
In order to successfully make Kaku functional, you have to prepare all needed configs first. (Take Youtube API for example, in latest 3.0 API, you need your own API KEY to execute their API) No matter you are in production or development environment, this is important and please make sure you already did this before building. Follow the instruction to here to register your API key.
Please take a look at config/
, you will notice there are some files named like *.sample.json
, remember to update them with correct config and rename them to *.production.json
, then everything should work as perfect !
We need to make sure all codes would be moved to the right place and generated the final entry point to reduce requests to load data, so you have to build first.
gulp build # without plaform argument, we will build Kaku based on your platform
or you can be more precise about which platform you are going to build like this :
gulp build --platform=mac # =linux32, =linux64, =windows, =win, =mac, =darwin are all valid
After that, you will get a solid application to run !
This is for one-time tester, you can just directly build the clean Kaku and directly run the code and see how it works.
gulp && electron .
You can use the command to create a daemon that would keep watching changes and rebuild Kaku by webpack. After building, Kaku will be automatically reloaded and the changes would be reflected on UI directly.
gulp watch
For unit tests :
npm test
For linter :
gulp linter:all
Moved all todos and issues to https://github.com/EragonJ/Kaku/issues, so if your are interested with them, please go check it there !
- Gulp - To build up our environment
- Electron - Let us use web technology to build native app
- Bootstrap - To boostrap the whole project including grid system ... etc
- FontAwesome - To make Kaku look nice
- jQuery - Bootstrap is based on jQuery
- React.js - To help us break UI into small components
- Video.js - To help us control the player
- Babel - To do some pre-transfrom process
- NPM - To help us manage node modules resources
- Less - Make life better when writting CSS
- Pouchdb - Our database to store trakcs
- Bootbox - To help us show dialogs based on Bootstrap
- Animate.css - Animation matters
- Youtube-dl - Download youtube tracks on the fly
- Webpack - Module Bundler
- ... still increasing :)
- Bower - To help us manage frontend resources
- Compass / SASS - To help us write CSS easily
- NW.js - (Moved to Electron)
- Require.js - To help me make codes more structure
- ... thanks for these old friends :)
Kaku's logo is designed by Peko Chen, thanks for her support :)