https://github.com/mbaraa/dankmuzikk
(WIP) Create, Share and Play Music Playlists.
https://github.com/mbaraa/dankmuzikk
dank htmx music muzik templ youtube
Last synced: about 1 month ago
JSON representation
(WIP) Create, Share and Play Music Playlists.
- Host: GitHub
- URL: https://github.com/mbaraa/dankmuzikk
- Owner: mbaraa
- License: gpl-3.0
- Created: 2024-04-20T13:34:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-22T19:47:50.000Z (12 months ago)
- Last Synced: 2024-05-22T20:07:03.095Z (12 months ago)
- Topics: dank, htmx, music, muzik, templ, youtube
- Language: Go
- Homepage: https://dankmuzikk.com
- Size: 3.79 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
## About
**DankMuzikk** is a music player designed for colloborative playlists, where a playlist's collaborators can add and vote for music in a playlist, and the other music player stuff.
_Note: this is a fling side-project that could die anytime so don't get your hopes up._
## Contributing
IDK, it would be really nice of you to contribute, check the poorly written [CONTRIBUTING.md](/CONTRIBUTING.md) for more info.
## Roadmap
- [x] Search YouTube for music
- [x] Web UI
- [x] Audio player
- [x] Accounts and Profiles
- [x] Playlists
- [x] Share playlists
- [x] Vote songs in playlists
- [ ] Songs queue
- [x] Add songs to queue
- [ ] View/Edit queue
- [ ] Expandable player
- [x] Mobile
- [ ] Desktop
- [x] Share songs
- [ ] Player's menu
- [ ] Import **public** playlists from YouTube
- [ ] Update profile
- [ ] Cross device control
- [ ] Offline support
- [ ] Songs' metadata fixer
- [x] Lyrics## Technologies used
- **[Go](https://golang.org)**: Main programming language.
- **[JavaScript](https://developer.mozilla.org/en-US/docs/Web/javascript)**: Dynamic client logic.
- **[Python](https://python.org)**: Used for the YouTube download service.
- **[templ](https://templ.guide)**: The better [html/template](https://pkg.go.dev/html/template).
- **[htmx](https://htmx.org)**: The front-end library of peace.
- **[GORM](https://gorm.io)**: The fantastic ORM library for Golang.
- **[MariaDB](https://mariadb.org)**: Relational database.
- **[yt-dlp](https://github.com/yt-dlp/yt-dlp)**: YouTube download helper.
- **[pytube](https://github.com/pytube/pytube)**: YouTube download helper.
- **[minify](https://github.com/tdewolff/minify)**: Minify static text files.## Run locally
1. Clone the repo.
```bash
git clone https://github.com/mbaraa/dankmuzikk
```2. Create the docker environment file
```bash
cp .env.example .env.docker
```3. Run it with docker compose.
```bash
docker compose up -f docker-compose-all.yml
```3. Visit http://localhost:20250
4. Don't ask why I chose this weird port.## Acknowledgements
- **This project is not affiliated with YouTube or Google, or anyone to that matter in any sort of ways.**
- Colorscheme is inspired from [Dankpods](https://www.youtube.com/@DankPods)
- Loader’s CSS was made by [@thamudi](https://github.com/thamudi)---
Made with 🧉 by [Baraa Al-Masri](https://mbaraa.com)