Skip to content

Commit e0670ef

Browse files
Updated the readme with a new simple setup process using a docker container which provides a preconfigured database. Also improved the description of the manual process and clarified some other ways the application can be installed. Contributions section has also been added to help peeps that want to contribute to the project.
1 parent b2bcecb commit e0670ef

2 files changed

Lines changed: 55 additions & 3216 deletions

File tree

README.md

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
# RadioPlayer
2+
<hr/>
3+
24
## About
3-
A basic radio player application that utilizes JavaFX, FFmpeg, radiobrowser4j and h2 database to fetch, store and play online radio streams.
4-
## Setup
5-
The application requires minimal setup to start working<br/>
6-
The only thing that needs to be manually configured is the h2 database<br/>
7-
To do so download the h2 database and create a new database called 'radioplayer' with user: 'username' and password 'password'
8-
(If there is a need to change the database name, username and password it can be changed in the dat/database.properties file)<br/>
9-
After the database is created import the sql dump file from dat/dump.sql<br/>
10-
And that's it, the application is ready to be used to listen to your favorite radio stations
5+
A basic radio player application that utilizes JavaFX, FFmpeg, radiobrowser4j and a h2 database to fetch, store and
6+
play online radio streams.
7+
118
## Features
129
* Searching for radio stations by different criteria such as name, country, codec, bitrate and tags
1310
* User roles with different functionalities(ex. Admin management of users/stations)
@@ -18,4 +15,53 @@ And that's it, the application is ready to be used to listen to your favorite ra
1815
* User personal favourite stations(add/remove)
1916
* User management of account information(ex. change username, email, etc.)
2017
* Controllable playback and audio from every page using playback and audio menus
21-
* Threaded fetching of current song and sychronized access to the title variable
18+
* Threaded fetching of current song and synchronized access to the title variable
19+
20+
## Setup
21+
<b>Note:</b> The docker database container uses linux so make sure you are running it on WSL if you are on Windows.
22+
23+
The recommended way to use RadioPlayer is with a prebuilt jar and a dockerized database.<br/>
24+
This process is described in the [Automatic](#Automatic) section.<br/>
25+
If however you wish to tinker with the application yourself or set up the database manually this can also be done.
26+
The process of getting everything ready is described in the [Build it yourself](#Build-it-yourself) section below.
27+
28+
### Automatic
29+
The process of setting up the application is very simple and can be done in only 3 steps.<br/>
30+
1. Make sure you have java and docker installed.
31+
2. Run the container which contains the preconfigured database:<br>
32+
`docker run -p 8082:8082 -p 9092:9092 -v h2_data:/root/ -d --name h2_database duckerize/radioplayer_h2db:latest`
33+
3. Download the <a href="https://github.com/QuackInTheMatrix/RadioPlayer/releases">latest release</a> from the repository and run it by double-clicking on the jar file.
34+
35+
And that's it, you now have a functional RadioPlayer where you can save, listen to and manage your favourite radio stations.<br/>
36+
You can either register or use one of the preconfigured accounts:'user', 'admin' both with password: 'password'.<br/>
37+
Enjoy!<br>
38+
39+
### Build it yourself
40+
The application requires setting up a h2 database before you can start tinkering with it in your favourite IDE.<br/>
41+
Below is a list of steps needed to get everything running:
42+
43+
1. Make sure you have git, docker(optional but recommended), java and an IDE like IntelliJ installed
44+
2. Clone the repository with git:<br>
45+
`git clone https://github.com/QuackInTheMatrix/RadioPlayer`
46+
3. Set up the h2 database(it is already included in the project)<br/>
47+
#### Recommended(with docker)
48+
`docker run -p 8082:8082 -p 9092:9092 -v h2_data:/root/ -d --name h2_database duckerize/radioplayer_h2db:latest`<br/>
49+
Note: The docker database image can be manually built from the dockerize_db directory if needed.
50+
51+
#### Manual (without docker)
52+
1. Open a CLI like cmd/bash and navigate to the RadioPlayer/dockerize_db directory:<br/>
53+
`cd RadioPlayer/dockerize_db`
54+
2. Start the database(make sure to replace the '*' in the example with the actual version):<br/>
55+
`java -jar h2-*.jar`
56+
3. Go to dat/database.properties and change the path to the radiobrowser database:<br/>
57+
For example if you are on linux, and cloned the repository to the Downloads directory the new path would look
58+
something like this: <br/>
59+
`jdbc:h2:tcp://localhost/~/Downloads/git/RadioPlayer/dockerize_db/radioplayer`
60+
4. The last step is to load the project in your favourite IDE and build it.
61+
62+
And that's it, you can now start tinkering with the project or just enjoy some music. Have fun with it!
63+
64+
## Contributing
65+
Contributions are always welcome and I could always use more hands on this project to: add new features, optimize code,
66+
fix bugs etc.<br/>
67+
When contributing make sure to describe what you changed/fixed/optimized and title it accordingly.

0 commit comments

Comments
 (0)