Kaku is an online music player which supports many differnt platform Like YouTube, Vimeo ... etc. With Kaku, you can easily listen to all kinds of music with just few simple clicks and don't need to leave this desktop application.
If you are keen to help Kaku, you can first try to help translating it with your native language ! For more details, please check this post ! Can't wait to see you in our community :)
Hi all, if you think this open source project does help you, please do support me if you can. With your help, I'll keep updating this project and adding more features as my dedicated side project :) 🍻 🍻
My bitcoin wallet : 1KtpFtaLW52tCe2VhWxCMHmRt8Mrxqj4WB
We do support desktop application for Windows, Mac OS X, Linux 32 and Linux 64, so please go check it here
If you are interested in mobile app, there is also another app repo which is under active development and please go check it !
- YouTube
- Vimeo
- SoundCloud
- ... keep adding :)
- 繁體中文 (沒錯,這個程式 Made in Taiwan XD)
- 日本語
- Portuguese
- English
- Français
- Spanish
- Русский
- Türkçe
- Deutsche
- 한국어
- ... 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.
- Use node 5.1.1
npm i
npm i electron-prebuilt@0.36.0 -g
- Install electron command
IMPORTANT NOTE : If you are going to build Kaku for Windows build, you need to use the following command instead because some dependent modules need the flag to do some platform specific things.
NODE_PLATFORM=windows npm i
This is IMPORTANT, please read this
Please take a look at config/
, you will notice there are some files named like api_config.*.json
, remember to update them with correct config and rename them to api_config.production.json
, then everything should work as perfect !
In order to make sure others can join the development without worrying too much about this config, I just added api_config.development.json
for you guys ! If you don't want to register these services by yourself and want to jump to develop directly, please just copy the file and rename to api_config.production.json
then you are done !
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.
npm run start:dev
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
Because we use Transifex to provide a cleaner and easy to use interface for translators, you need to install the command tool called tx to update translations.
After installing, you don't need to setup anything else because they are all set up already under .tx/config
! You just need to use the command below to update translations !
tx pull -a --minimum-perc=90 # we only need any translation which has been translated > 90%
- Kaku-Core - This repo keeps all shared scripts that will be used in different clients
- 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
- Firebase - Make our app real-time !
- ... 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 :)
Chia-Lung, Chen (EragonJ)
Kaku's logo is designed by Peko Chen, thanks for her support :)
MIT