Giter VIP home page Giter VIP logo

kaku's Introduction

Kaku

Kaku Icon

The next generation music client

Latest Screenshot

Latest Screenshot

Supported Streaming Platform

  • YouTube
  • Vimeo
  • SoundCloud
  • ... keep adding :)

Supported Languages

  • Traditional Chinese 繁體中文 (沒錯,這個程式 Made in Taiwan XD)
  • English
  • French
  • Spanish
  • ... keep adding :)

Build Status

Build Status GitHub version GitHub license Dependency Status devDependency Status

Let's Talk !

We have a gitter chatting room and please feel free to join us and talk there :)

Join the chat at https://gitter.im/EragonJ/Kaku

Setup environment

Because we use bower & npm to maintain our third party libraries, you have to make sure before doing anything, these needed stuffs are all installed already.

  1. bower install
  2. npm install
  3. npm install [email protected] -g - Install electron command

Prerequistiques

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 !

Make Production Build

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 !

How To Develop

In order to speed up development pace, we won't do too much building tasks in this phase. All we do is to watch all folders and see what files are changed and trigger browser to reload.

But no matter how, please remember to run following command first to make sure we create all needed temporary files first.

gulp

After that, you need to open a terminal session and watch changes in files :

gulp watch

then run Kaku :

electron .

How To Run Tests or Linter

For unit tests :

npm test

For linter :

gulp linter:all

TODO / Issues

Moved all todos and issues to https://github.com/EragonJ/Kaku/issues, so if your are interested with them, please go check it there !

What Tech We Use ?

Still In Use

  • Gulp - To build up our environment
  • Electron - Let us use web technology to build native app
  • Bower - To help us manage frontend resources
  • Require.js - To help me make codes more structure
  • 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
  • ... still increasing :)

Deprecated

  • Compass / SASS - To help us write CSS easily
  • NW.js - (Moved to Electron)
  • ... thanks for these old friends :)

Special Thanks

Kaku's logo is designed by Peko Chen, thanks for her support :)

kaku's People

Contributors

eragonj avatar mpizza avatar gitter-badger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.