https://github.com/dev-siri/wavelength
Call this a glorified YT Music wrapper.
https://github.com/dev-siri/wavelength
flutter mobile music svelte sveltekit typescript web
Last synced: 5 months ago
JSON representation
Call this a glorified YT Music wrapper.
- Host: GitHub
- URL: https://github.com/dev-siri/wavelength
- Owner: Dev-Siri
- License: mit
- Created: 2025-01-14T16:27:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T19:37:10.000Z (over 1 year ago)
- Last Synced: 2025-03-09T20:27:02.209Z (over 1 year ago)
- Topics: flutter, mobile, music, svelte, sveltekit, typescript, web
- Language: Svelte
- Homepage: https://mavelength.vercel.app
- Size: 610 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WaveLength

WaveLength is a cross-platform music app that wraps Rapid API's YouTube Music API and YouTube's official v3 API.
## Getting Started
Clone the project.
```sh
$ git clone https://github.com/Dev-Siri/wavelength
```
> NOTE: Each of these applications have their .env.example (with the server having .env.docker too), make sure you fill these variables before running them.
## Web
Navigate to the `/web` directory, and run the SvelteKit app with dev mode
```sh
$ cd web
$ bun dev
# or
$ pnpm dev
```
## Mobile
Navigate to the `/mobile` directory. Make sure you have [Flutter](https://flutter.dev). You'll also need the native tooling for the platform you're running on: Android requires [Android-Studio](https://developer.android.com/studio) and additional command-line tools and packages installed. iOS requires XCode to be installed on your Mac.
Then you can start the application in dev mode:
```sh
$ flutter run
```
## Backend
Almost all microservices are entirely written in Go, with one crucial service, the YouTube Scraper, written in TypeScript (Bun) for use of the [`YouTube.js`](https://github.com/LuanRT/YouTube.js) library to retrieve data from the platform.
To run the entirety of the project, you need to have [Docker](https://docker.com) installed on your system. The project includes a `docker-compose.yml` in the `/server` directory. Use the compose commands to start all the microservices up:
```sh
$ cd server
$ docker compose up
# shut all services down
$ docker compose down
```
The microservices use gRPC for communication. If you are looking to make any changes to the protobuf definitions, you need to run `make` to regenerate the gRPC client/server code.
```sh
# generate gRPC definitions
$ make generate
```
Note that the command also runs a `package.json` script with Bun to generate TypeScript definitions. If you do not have Bun installed, then change the `Makefile` to a different JavaScript package manager command.
## License
This project is MIT licensed. See [LICENSE](LICENSE).