Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies โ CSS grid, audio, and drag-and-drop API to name a few โ to do its job.
For system requirements, installation/upgrade guides, troubleshooting etc., head over to the Official Documentation.
Since Koel makes use of git submodules, you'll want to make sure the submodule is up-to-date:
git pull
git submodule update --init --recursive --remote
# install the submodule dependencies
cd resources/assets
yarn install
To start the PHP dev server, which serves as the API of the application, run the following command from the root directory. By default, the server will listen at port 8000
.
php artisan serve
For the client application itself, run this command:
yarn hot
A development version of Koel should now be available at http://localhost:8080
with full support for hot module reloading.
Alternatively, you can start both the PHP server and the client application in one go with yarn dev
, which uses start-server-and-test
under the hood.
# PHP-related code quality tasks
# Basically, take a look at the "scripts" section in composer.json
composer test # Run the PHP test suite
composer cs # Run code style checker
composer cs:fix # Run code style fixer
composer analyze # Run PHP static analysis
yarn build # Build a production version of the client application
# Client/E2E code quality tasks
# You may want to run `yarn build` first.
yarn test:e2e # Run the Cypress test suite interactively
yarn test:e2e:ci # Run the Cypress test suite non-interactively (CI mode)
# These commands need to be run from within the submodule (resources/assets)
yarn lint # Lint
yarn type-check # TypeScript type checking
yarn test # Unit testing
Note: If you're already running yarn test:e2e
, there's no need to start a dev server. yarn test:e2e
calls yarn dev
internally and will eliminate the existing yarn dev
process, if any.
A quick and easy way to start hacking on koel is to open and run this repo in Gitpod, an online IDE with full Laravel support.
Koel Player is the official mobile app for Koel, which supports both iOS and Android without the limitations of the mobile web version. For more information on the project, visit its repository.
Support me on OpenCollective with a monthly donation and help me continue building Koel.
Become a sponsor on OpenCollective and get your logo on our README on Github with a link to your site.
koel's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.