No description
Find a file
2020-12-30 11:11:08 +01:00
.github build: so long, Travis, and thanks for all the fish 2020-12-23 00:22:33 +01:00
api-docs/5.0.0/reference feat: modify the response format for search 2020-12-25 12:52:28 +01:00
app feat: modify the response format for search 2020-12-25 12:52:28 +01:00
bootstrap chore: fix CS 2020-12-22 21:11:22 +01:00
config feat: add Excerpt search 2020-12-24 13:41:18 +01:00
cypress feat(test): restart Cypress initiative 2020-12-30 02:06:29 +01:00
database chore: fix static analysis problems 2020-12-23 00:01:49 +01:00
public feat: add supports for custom .user.ini files 2020-12-27 12:26:15 +01:00
resources chore: sync with core 2020-12-29 21:58:07 +01:00
routes feat: add Song search 2020-12-24 23:35:39 +01:00
storage feat: add Laravel Scount & TNTSearch 2020-12-23 11:53:00 +01:00
tests chore: fix remaining static analysis problems 2020-12-23 00:12:05 +01:00
.editorconfig A change of heart re:indent size 2016-06-26 00:05:24 +08:00
.env.example feat: upgrade Laravel to 7.x 2020-09-06 20:21:39 +02:00
.eslintignore Lint everything 2016-11-26 10:25:35 +07:00
.gitattributes Big Bang 2015-12-13 12:42:28 +08:00
.gitignore feat: add PHPCSFixer 2020-09-06 23:20:42 +02:00
.gitmodules Adding submodule again 2018-02-04 13:35:00 +01:00
.gitpod.dockerfile chore: use Laravel' original structure 2020-09-12 17:14:34 +02:00
.gitpod.yml Vue highlighting added for Gitpod (#1202) 2020-04-02 17:33:26 +02:00
artisan Big Bang 2015-12-13 12:42:28 +08:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-09-14 09:48:41 +02:00
composer.json build(deps): add algolia/algoliasearch-client-php 2020-12-25 13:41:08 +01:00
composer.lock build(deps): add algolia/algoliasearch-client-php 2020-12-25 13:41:08 +01:00
cypress.json feat: make e2e start dev server automatically 2020-12-30 11:11:08 +01:00
LICENSE.md The most important commit of all 2018-01-01 00:37:36 +01:00
lint-staged.config.js chore: fix CS 2020-12-22 21:11:22 +01:00
nginx.conf.example chore: use Laravel' original structure 2020-09-12 17:14:34 +02:00
package.json feat: make e2e start dev server automatically 2020-12-30 11:11:08 +01:00
phpstan.neon.dist chore: fix static analysis problems 2020-12-23 00:01:49 +01:00
phpunit.xml.dist chore: exclude some folders from coverage 2020-12-23 00:27:16 +01:00
README.md feat: make e2e start dev server automatically 2020-12-30 11:11:08 +01:00
ruleset.xml chore: fix CS 2020-12-22 21:11:22 +01:00
server.php chore: use Laravel' original structure 2020-09-12 17:14:34 +02:00
webpack.config.js Integrate demo env 2019-08-24 20:01:09 +02:00
webpack.mix.js fix(build): broken prod build 2020-12-28 22:38:13 +01:00
yarn.lock feat: make e2e start dev server automatically 2020-12-30 11:11:08 +01:00

koel GitHub Actions Code Quality codecov OpenCollective OpenCollective

Showcase

Intro

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.

Install and Upgrade Guide

For system requirements, installation/upgrade guides, troubleshooting etc., head over to the Official Documentation.

API Docs

If you're interested in the development of a client, Koel's official API documentation is available here.

Development

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

To start the PHP dev server, which serves as the API of the application, run the following command. 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, with full support for hot module reloading etc., should now be available at http://localhost:8080.

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.

Testing, Linting, Static Analysis and Stuff

# 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.

Open in Gitpod

Backers

Support me on OpenCollective with a monthly donation and help me continue building Koel.

Sponsors

GitHub Sponsors

OpenCollective

Become a sponsor on OpenCollective and get your logo on our README on Github with a link to your site.