🐦 A personal music streaming server that works.

Overview

koel e2e unit 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.

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

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

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.

Comments
  • Improving Postgres Database Performances

    Improving Postgres Database Performances

    i built one posgresql database with more than 14000/1000 (songs/albums) and i got latency on scrolling albums

    I added this index :

    CREATE INDEX songs_album_id_index ON public.songs USING btree (album_id);
    

    API : /api/albums?page=7

    Time loading between each page (arm64 platform/raspberry-pi4/kubernetes) :

    | No index | with new index | | ------- | -------- | | 4 seconds | 700 milliseconds |

    +++

    opened by dhenry123 1
  • Empty db after scanning

    Empty db after scanning

    Describe the bug After php artisan koel:sync completes successfully, it shows XX new files found on the CLI. But when I serve, there's nothing on the web UI. I've also checked the MySQL db and the tables are there, but it's all mostly empty. No songs, only unknown album/artist.

    To reproduce Steps to reproduce the behaviour:

    1. Execute php artisan koel:sync
    2. Wait for it to successfully complete
    3. Go to the web UI or mysql
    4. See nothing

    Expected behaviour Everything shows working; there's no error, but there's no result as well; nothing appears on site console or CLI as well to show anything isn't working.

    Screenshots image image

    Environment

    • Koel version v6.1.0
    • OS: Windows 10 x64
    • Browser: Firefox 105.0
    • PHP version 8.0.7
    • Node version v14.4.0

    Additional context Are there any other logs that I'm missing?

    opened by qstar-inc 1
  • [Feature request] More ID3 Tags for better rich smart playlist

    [Feature request] More ID3 Tags for better rich smart playlist

    I know that it has been commented on other occasions but I would like to propose that more ID3 tags be added to be able to create much more specific and rich smart playlists.

    From my point of view I think it would be very useful to be able to create a playlist based on the physical path of the mp3 file, the directory more specifically. Currently if you have the music organized in albums everything is fine but surely many (myself included) will have directories with loose mp3s from different artists and different albums all mixed.

    Also related to the creation of smart playlists, I find it useful to be able to use the ID3 tags of year and musical genre as filters.

    Greetings

    opened by gelokatil 4
  • FLAC Tags (Vorbis Tags / Comments) are not registered.

    FLAC Tags (Vorbis Tags / Comments) are not registered.

    Describe the bug Just as the title says, Vorbis tags are not imported into the database.

    To reproduce Steps to reproduce the behavior:

    1. Use a flac file that is commented using vorbis comments
    2. run artisan koel:sync
    3. See that all flac albums are incorrectly tagged as "Unknown Artist"/"Unknown Album"

    Expected behavior I Expect flac files to be correctly imported using artisan koel:sync

    Screenshots image image

    Environment

    • Koel v6.0.5 (Using official Koel docker image)
    • OS: Fedora 35
    • Browser Vivaldi 5.3.2679.68 (Stable channel) stable (64-bit)
    • PHP version: official docker image PHP
    • Node version official docker image Node

    Additional context I've noticed this line, which is slightly different from how getID3's basic demo does it: https://github.com/koel/koel/blob/ddd2dff65d6b39328323677f95004b2616d6cb62/app/Services/FileSynchronizer.php#L51

    I think this would work great if we could use getID3's CopyTagsToComments($data) function here, and only read from $data['comments'] after that in fromGetId3Info

    opened by jojoxd 0
  • TypeError: e is null

    TypeError: e is null

    Describe the bug When trying to log into my clean install of koel, this happens: image I get a blank homescreen and this error. If I have to provide you with logs, just tell me which ones an I'll upload them. I am using the prebuilt binaries. Thanks a ton for the help :D

    To reproduce Steps to reproduce the behavior:

    1. Download prebuilt binaries (v6.0.5)
    2. Install koel like you normally would:
    php artisan koel:init --no-assets
    php artisan serve --port 7447
    
    1. Open up a browser and log in.
    2. Observe

    Expected behavior I can log in normally and go about importing/listening all my songs.

    Environment

    • Koel version: 6.0.5
    • OS: Debian 11
    • Browser: Firefox 105.0b4
    • PHP version: 8.0
    • Node version v16.17.0
    opened by SangeloDev 6
Releases(v6.1.0)
  • v6.1.0(Sep 13, 2022)

  • v6.0.6(Sep 2, 2022)

  • v6.0.5(Aug 11, 2022)

  • v6.0.4(Aug 8, 2022)

  • v6.0.3(Aug 5, 2022)

  • v6.0.2(Aug 3, 2022)

  • v6.0.0(Aug 3, 2022)

    Here it is, the latest major version of Koel! v6 (code name Mendelssohn) is a massive rewrite almost from the ground up to fix some inherent design issues. With 407 commits added and 686 files changed since the last version, v6 introduces a ton of new features, improvements, and bug fixes, the most significant being:

    Progressive loading

    The change that determines a major version bump. Previously, Koel load pretty much the entire library into memory upon startup. This was a personal decision — I developed Koel for myself first and foremost, and my library didn't (and still doesn't) contain more than a couple of thousand songs. Over time, however, there are more and more users with bigger libraries for whom the "load once use forever" approach is simply not optimal. For this reason, the way Koel loads and handles the library has been rewritten from scratch. Now songs, artists, albums, playlists, and other metadata are only requested by demand. This means from now on there's no limit to how many songs Koel can support. As a bonus, this also means now Koel should boot in an instant), as it only needs the most critical data to start.

    Note The mobile applications, which use the old approach, should still work thanks to a backward-compatible API. Of course, future versions of the apps will support progressive loading as well.

    UI and UX revamp

    Koel v6 features a new theme (Before the Dawn), a new design of the song, artist, and album cards, a rewritten virtual scroller, a new dialog and message toast box that adhere to accessibility standards, among a vast of other UI and UX revamps. All of this help create the most beautiful, snappiest, easiest-to-use Koel yet.

    stream phanan net_

    Better compilation album support

    Koel's support for compilation albums (albums with multiple artists) has always been a bit sluggish. In v6, this feature has been given an overhaul and should be way more stable. The "albumartist" tag is now properly taken into account during scanning (which, by the way, has been rewritten from the ground up as well), and the interface now features an "Album Artist" field for manual tagging.

    Spotify integration

    Koel has always had integration for Last.fm. This service, however, is quickly degrading in terms of popularity and quality — for example, the artist images have been replaced by an ugly white star. This new version of Koel introduces an early integration with Spotify, which, for now, allows fetching artist and album images from its server. More Spotify-powered features are being planned.

    Note In order to integrate Koel with Spotify, you need to register as a Spotify developer and create an app.

    Song IDs decoupled from app key

    Previous versions of Koel generate a unique identifier for a song as a MD5 string using the app key. This coupling is admittedly an oversight: Changing the app key, albeit an uncommon practice, would break data integrity and render the songs "unsynchronized." In v6, song IDs are generated as UUIDs and no longer have this problem.

    Note The MD5 to UUID conversion is done during database migration, which is a part of the upgrading process. It may take some time if you have a huge library. Also, if you use Algolia Free as the full-text provider, be aware of the record limit.

    Other changes

    Again, Koel v6 receives improvements in almost every part of the application, both client and API sides. To name just a few of the smaller and/or under-the-hood changes:

    • The client is rewritten in Vue 3 and Vite. This means a much, much better developer experience and faster builds. Koel can now be built in a matter of seconds:

      [email protected]:/var/www/koel$ yarn build
      yarn run v1.22.19
      $ vite build
      vite v2.9.13 building for production...
      ✓ 401 modules transformed.
      Done in 8.63s.
      
    • The icons are now powered by the latest version of FontAwesome, which comes in the shape of tree-shakable SVG-based components. No more heavy font files to load.

    • The koel:init artisan command has been rewritten to cater to specific edge-cases.

    • The koel:sync artisan command and its powering synchronization module have been drastically improved.

    • Smart playlists are now better and faster resolved.

    • Themes received some subtle improvements as well as a big overhaul on how they're displayed and applied.

    • Client unit tests are now powered by Vitest, which is crazily fast.

    • The API has been upgraded to Laravel 9.x with a ton of improvements.

      Warning This also means that Koel now only supports PHP 8.0 and newer.

    • Lots of bug fixes and optimizations.

    Upgrade

    Warning Back up your files and database. As this is a major version with breaking changes, this step is critical.

    Warning Make sure your PHP version 8.0 or newer and your Node version is 14 or newer.

    1. Depending on your installation method, you can either update the files by
    • executing git pull && git checkout v6.0.0 from the command line, or
    • downloading and extracting the release archive
    1. Run composer install (optional for "release archive" users)
    2. Run php artisan koel:init to migrate the database. You can also run php artisan migrate directly.
    3. Run yarn build (optional for "release archive" users)
    4. Run php artisan cache:clear

    To enable Spotify integration, create an application at https://developer.spotify.com/dashboard/applications and set the credentials in .env.

    When things go south

    Check the log at storage/logs/laravel.log to see what the error is. When all fail, revert your backup and yell at me (no seriously don't 😉).

    Source code(tar.gz)
    Source code(zip)
    koel-v6.0.0.tar.gz(27.98 MB)
    koel-v6.0.0.zip(34.86 MB)
  • v5.1.14(Apr 13, 2022)

  • v5.1.13(Jan 17, 2022)

  • v5.1.12(Dec 30, 2021)

  • v5.1.11(Dec 27, 2021)

    What's Changed

    • feat: enable usage with S3-compatible services by @sergiustheblack in https://github.com/koel/koel/pull/1381
    • fix: better handle bottom cut-off of playlists by @phanan in https://github.com/koel/core/commit/ab7f8fc47c0d97f5ce1d386794b8561be0f29f87
    • fix: broken info service by @phanan in https://github.com/koel/core/commit/7372097ec769aca36382ce633f97273346d9a725

    New Contributors

    • @sergiustheblack made their first contribution in https://github.com/koel/koel/pull/1381

    Full Changelog: https://github.com/koel/koel/compare/v5.1.10...v5.1.11

    Source code(tar.gz)
    Source code(zip)
    koel-v5.1.11.tar.gz(16.31 MB)
    koel-v5.1.11.zip(20.89 MB)
  • v5.1.10(Dec 10, 2021)

  • v5.1.8(Oct 25, 2021)

  • v5.1.7(Oct 25, 2021)

  • v5.1.6(Oct 16, 2021)

    What's Changed

    • fix(smart-playlist): ignore songs when creating a smart playlist by @phanan in https://github.com/koel/koel/pull/1362
    • feat(smart-playlist): use proper Eloquent cast for rules by @phanan in https://github.com/koel/koel/pull/1363
    • feat(smart-playlist): validate smart playlist request by @phanan in https://github.com/koel/koel/pull/1366
    • feat(playlist): use own controller for playlist songs by @phanan in https://github.com/koel/koel/pull/1367
    • chore: better routes by @phanan in https://github.com/koel/koel/pull/1368
    • feat(smart-playlist): add empty rule by default by @phanan https://github.com/koel/core/commit/b4a157ab91f17311e5aabae65865e04c4842f177
    • fix(smart-playlist): when editing a smart playlist, clicking Add Group does nothing by @phanan https://github.com/koel/core/commit/55ed32ba23b200a529a2e51b57654929eecc5a52

    Full Changelog: https://github.com/koel/koel/compare/v5.1.5...v5.1.6

    Source code(tar.gz)
    Source code(zip)
    koel-v5.1.6.tar.gz(18.57 MB)
    koel-v5.1.6.zip(23.06 MB)
  • v5.1.1(Apr 16, 2021)

  • v5.1.0(Mar 26, 2021)

    New Features and Improvements

    • Themes! Koel's (S)CSS has gone through a major overhaul to support theming, and now Koel supports 16 different themes out of the box. You can pick yours under Profile and Preferences. In the future, I plan to support custom/customizing themes as well.

      image

    • Artists and albums now have their own context menu.

    • The download icon button has been removed from the footer for a cleaner interface. You can still download the current song via the context menu (triggered by right-clicking the footer).

    • The autocomplete (typeahead) and song list sorting features have been rewritten to work better and fix some bugs

    Bug Fixes

    • Broken Last.fm integration

    Upgrade

    • If you installed Koel via git:

      git pull
      git checkout v5.1.0
      git submodule update --init --recursive
      composer install
      php artisan koel:init 
      
    • If you installed Koel via the tarball/archive: Uncompress the archive overwriting the current installation and run:

      composer install
      php artisan koel:init --no-assets
      
    Source code(tar.gz)
    Source code(zip)
    koel-v5.1.0.tar.gz(18.23 MB)
    koel-v5.1.0.zip(22.46 MB)
  • v5.0.0(Jan 9, 2021)

    Code-named "Alexi" in memory of the late Alexi Laiho, this fifth major version of Koel comes with lots of improvements, fixes, and some breaking changes. Please follow the upgrade guide carefully.

    Breaking Change: Project Structure

    Though written in Laravel, the older versions of Koel didn't follow a Laravel-conventional directory structure. This decision was made to support shared-hosting environments where users have little control over the filesystem. However, considering that:

    • Self-managed or semi-managed hosting solutions like Digital Ocean, Heroku, AWS, etc., are now much more popular over time, giving users near-complete system control
    • An unconventional structure requires modifications and hacks that are prone to problems and make it harder to follow official best practices

    starting from version 5, Koel will revert to using the original Laravel structure.

    The upgrade itself is straightforward: In most cases, you'll only need to point your server's root config to the public directory instead of koel's root. For example, with Apache:

    <VirtualHost *:80>
    -   DocumentRoot "/var/www/koel"
    +   DocumentRoot "/var/www/koel/public"
    

    and nginx:

    server {
      listen          *:80;
      server_name     koel.dev;
    -  root            /var/www/koel;
    +  root            /var/www/koel/public;
      index           index.php;
    

    Breaking Change: API

    Koel's API now follows OpenAPI specs. The API reference is now contained within a single YAML file which can be opened with a compatible editor such as Spotlight Studio:

    image

    This greatly reduces the maintenance effort and renders a dedicated website for the API unnecessary.

    Other Changes

    As a major version, Koel 5 comes with a load of changes, new features, improvements, and bug fixes:

    Server Requirements

    Koel is now powered by Laravel 8, which means your server needs to meet its requirements.

    Search

    The simple "filter" box has been completely overhauled to be a full-featured Instant Search page that supports full-text, fuzzy searching for songs, artists, and albums.

    image

    To populate the search index, run this command (you only need to run this once, as subsequent changes to the music database will be synchronized automatically):

    php artisan koel:search:import
    

    By default, the search functionality is powered by TNTSearch, which comes packaged with Koel. You can also use the Algolia driver (their free plan allows 10K records and 10K search requests)—simply by updating .env with this info:

    SCOUT_DRIVER=algolia
    ALGOLIA_APP_ID=<your-app-id>
    ALGOLIA_SECRET=<your-secret>
    

    Don't forget to run the import command afterward!

    Other Changes

    • Admins can now be created from the Users screen
    • The blurry album thumbnails are now generated and served by the server instead of using the CPU-expensive CSS blur filter
    • Authentication is now handled by Laravel Sanctum instead of JWT. This eliminates some nasty session expiry bugs.
    • You can now like/unlike song directly from the song-list ( koel/[email protected])

    image

    To Upgrade

    1. Create a full backup!

    2. Run the commands:

      git pull
      git checkout v5.0.0
      git submodule update --init --recursive
      composer install
      php artisan koel:init 
      
    3. Update your webserver config following the instruction above

    4. Enjoy!

    If Things Go South

    Restore your backup.

    Source code(tar.gz)
    Source code(zip)
  • v4.4.0(Jun 10, 2020)

    This new version of Koel comes with several new features, bug fixes, and improvements, most notably:

    • Feature: You can now upload directly from the web interface if logged in as an admin and have set the media path. Just choose "Upload" from the sidebar menu and drag media files or folders into the drop zone.

      Under the hood, Koel will upload your media files into a %media_path%/__KOEL_UPLOADS__ folder on the server and update the client's data on the fly. Notice that this feature is still in beta, so please let us know if you encounter any problems.

    • Feature: You can upload new artist images and album covers by dragging a file into the artist/album item, like this:

      upload-cover

    • Improvement: Artist/album view mode switch now uses proper radio buttons instead of <span>'s/<div>'s.

    • Improvement: Playlists are now ordered properly in the sidebar

    • Fix: Songs should now be queued in the correct displayed order when Alt/Option-click the play button

    • Fix: Album/artist list screens should now properly initialize infinite scrolling

    • Fix: The "Add Lyrics" link is now not available if there's no song in play

    • Fix: webpack now emits properly-hashed chunk names in production builds

    • Improvement: The whole JavaScript codebase has been converted into TypeScript.

    Upgrade

    1. Make a backup

    2. Run these commands

      git pull
      git checkout v4.4.0
      git submodule update --init --recursive
      composer install
      php artisan koel:init 
      

    Downgrade

    Restore your backup.

    Source code(tar.gz)
    Source code(zip)
  • v4.3.1(Apr 23, 2020)

    v4.3.1 fixes the bug of Koel playing with no sound on iOS, along with the ability to trigger updating lyrics right from the Lyrics panel. To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.3.1
    git submodule update --init --recursive
    composer install
    php artisan koel:init 
    
    Source code(tar.gz)
    Source code(zip)
  • v4.3.0(Apr 21, 2020)

    The next minor version of Koel, which comes with new features, improvements, and bug fixes and usual. And, in case you haven't noticed, Koel now has its own domain!

    New Features and Improvements

    • Media thumbnail moved to the play button (or "play orb" if you will)
    • Reduce the progress bar's height. Its click area (along with that of other controls) is actually increased, allowing easier interaction
    • Song items on homepage now react to context menu and drag-drop actions
    • You can now play a song list in the current order by clicking the "All" button while pressing the Alt (Option) key
    • You can now right-click anywhere on the footer while a song is playing (or paused/stopped) for contextual commands
    • Speaking of context menus, now they have a dark theme that matches better with the overall interface

    Fixes

    • Hotkeys (F, space etc.) now work even when the progress bar has focus
    • Remote control app is now back
    • Fixed a racing condition that might cause logging in to fail with valid credentials
    • For development, hot-reloading now works again

    To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.3.0
    git submodule update --init --recursive
    composer install
    php artisan koel:init 
    
    Source code(tar.gz)
    Source code(zip)
  • v4.2.2(Dec 2, 2019)

    This version includes several bug fixes and improvements:

    • Fixed an issue with SongStartedPlaying event dispatching
    • Fixed and improve (global) hotkey integration
    • The volume control is now shown on hover only, saving some space
    • A "download current song" button is added into the footer bar

    To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.2.2
    git submodule update --init --recursive
    composer install
    php artisan koel:init
    
    Source code(tar.gz)
    Source code(zip)
  • v4.2.1(Nov 29, 2019)

    This is a bug fix version. Specifically:

    • The bottom support bar now respects user preferences
    • manifest.json.example is added. To enable PWA support for Koel, copy this file into manifest.json and modify its content accordingly.

    To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.2.1
    git submodule update --init --recursive
    composer install
    php artisan koel:init
    
    Source code(tar.gz)
    Source code(zip)
  • v4.2.0(Nov 28, 2019)

    This version comes with several changes and improvements:

    • The problem with context menu being off-screen is now fixed
    • Queuing already queued song(s) now behaves correctly
    • The translucent, blurred album art overlay is now an option in the Profile screen. Consider turning it off if you notice high CPU usage.
    • Koel should now be compatible with Node 12.x
    • As usual, more optimization and refactoring underneath

    To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.2.0
    git submodule update --init --recursive
    composer install
    php artisan koel:init
    
    Source code(tar.gz)
    Source code(zip)
  • v4.1.1(Oct 26, 2019)

    This version comes with a couple of fixes and improvements, most notably:

    • Fixed the bug where koel is broken on mobile browsers (#1111)
    • Added the ability to change the admin password from console with php artisan koel:admin:change-password
    • More tests, refactorings, and optimizations on the client side

    To upgrade:

    1. Create a backup
    2. Run these commands
    git pull
    git checkout v4.1.1
    git submodule update --init --recursive
    composer install
    php artisan koel:init
    

    Aaaand it's done! See you next time!

    Source code(tar.gz)
    Source code(zip)
Owner
Koel
Open-source music streaming software
Koel
🐦 A personal music streaming server that works.

koel 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 a

Koel 14k Sep 19, 2022
🐦 A personal music streaming server that works.

koel 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 a

Koel 14k Sep 18, 2022
Ampache is a web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

Ampache is a web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

null 3.1k Sep 20, 2022
Koel is a simple web-based personal audio streaming service written in Vue and Laravel

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.

Koel 14k Sep 19, 2022
An online system to keep digitized form of employee personal files (staff personal files)

An online system to keep digitized form of employee personal files (staff personal files).

p r o c e s s o r 2 Jun 18, 2022
Event-driven, streaming HTTP client and server implementation for ReactPHP

HTTP Event-driven, streaming HTTP client and server implementation for ReactPHP. This HTTP library provides re-usable implementations for an HTTP clie

ReactPHP 631 Sep 13, 2022
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. It allows you to query some other server information

QueryServer This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. I

Thành Nhân 1 Jul 6, 2022
This is a plugin written in the PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform. It helps to liven up your server with Tags!

General This is a plugin written in the PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform.

Thành Nhân 4 Oct 21, 2021
This is a Task Manager system for managing your task. You can categorize your tasks and upload music to the project And a whole host of other features

taskManager Login and register Each user can have their own task Categorize tasks by creating folders Edit and Delete Folders Search for Tasks Show nu

masoudharooni 11 May 22, 2022
This plugin allow you play music from resources pack in minecraft

Music Player for PocketMine-MP Commands music-start songname music-stop songname IMPORTANT! You must add music resources pack to PocketMine resources

Excalibur 1 Oct 14, 2021
Search music with voice

Configuration: Open the index.php file and paste the bot token: define('API_KEY', 'TOKEN'); Login to Ahangify and create an account Open the login.php

#[A]ref 1 Jul 21, 2022
Music website developed as a final group project for our Webpage Development class.

double-drummer Music listening website developed as final group project for our Webpage Development course. All parts that disclosed any information r

darwin 1 Dec 8, 2021
BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos

BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection.

Rainer Volz 382 Sep 5, 2022
Musicoker is a music player made by Laravel & Reactjs

Musicoker | Music Player Music player created with Laravel 8 and React 17.0.2 ReactJs Laravel MySQL Used Packages: Sanctum Getid3 Bootstrap React Rout

Abdelrahman Samir 2 Apr 3, 2022
A powerful music API framework to accelerate your development

?? Wow, such a powerful music API framework Introduction A powerful music API framework to accelerate your development Elegant - Easy to use, a standa

METO 1.6k Sep 22, 2022
Generates a static website of metal music events in Leipzig

About EN: This projects generates a static website of metal music events in Leipzig (Ger). DE: Dieses Projekt erstellt einen Webkalender zu diversen M

null 3 Aug 13, 2022
A music shop based on the chinook database example.

LTW Example Based on a simplified version of the Chinook Database: You can see previous versions of the example by changing branches. Step 1: Create t

André Restivo 9 Aug 31, 2022
There is no better way to learn than by watching other developers code live. Find out who is streaming next in the Laravel world.

Larastreamers This is the repository of https://larastreamers.com. It shows you who is live coding next in the Laravel world. Installation Steps clone

Christoph Rumpel 188 Sep 21, 2022
phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

null 116 Sep 8, 2022