diff --git a/README.md b/README.md index 554966f..0a3ee53 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,36 @@ # fuuka +## Introduction + +This is the web interface for [Juno](https://codeberg.org/aleidk/juno), a music player. This service is in charge of orquestrate the music playback and schedule of the player, manually and automatically. + +The name comes from [Fuuka Yamagishi](https://megamitensei.fandom.com/wiki/Fuuka_Yamagishi), the navi of SEES in Persona 3, you can ask her to change the musing in tartarus. + +## Features: + +- Listen to Juno's music stream in a public page, this is a radio like stream that will be the same wherever you open it. +- Recoursive folder indexation for music files. +- Add remote music streams, like youtube lives. +- Create, edit and delete playlist with the indexed files. +- Create schedules for the playlists: + - Set playlist to autoplay at a specific dates and time. + - Create custom schedules like _"every day"_, _"on weekdays"_, _"every monday"_, etc. + - Choose a specific playlist or a random from a category. + +## FAQ + +### Why Rust? + +A core requirement is to index and handle a masive collection of music, so the project needs an efficient backend language. By the quote I read somewhere of _"un-optimized Rust code is faster than optimized Go code"_, I decided to use Rust. + +### Why the name? + +One of my first projects was a discord bot that acted as a frontend of MPV while also played the HTTPS stream in the voice call. I called the bot fuuka because you actually have to talk to the bot to ask for music. This is the 3rd iteration of the idea (and hopefully the definitive), so I decided to mantain the name in it's honor. + +## Similar projects + +- [Navidrome](https://www.navidrome.org) +- [Azuracast](https://www.azuracast.com/) +- [Cadence](https://github.com/kenellorando/cadence) (Use Icecast and Liquidsoap) +- [forte](https://github.com/kaangiray26/forte) +- [Simple MPD in Rust](https://dev.to/tsirysndr/how-i-built-a-simple-music-player-daemon-in-rust-with-a-cliweb-ui-51e0)