/RadioLista-v3

Website for bandscans and various radio/TV lists. Written in PHP, using Symfony framework.

Primary LanguagePHPOtherNOASSERTION

RadioLista-v3

RadioLista is a place for people interested in the media to publish various radio lists and TV lists — bandscans, typical lists of received stations, private lists with favorite stations. This application is available online at https://radiolista.pl. More information: https://radiolista.pl/about.

If you would like to contribute, please take a look on unassigned issues labeled with help wanted or good first issue and ideas category in the discussions.

Local development — containers

Requirements: Docker & Docker Compose (or rootless Podman & Docker Compose).

git clone https://github.com/TomaszGasior/RadioLista-v3.git
cd RadioLista-v3
cp docker-compose.override.yaml.dist docker-compose.override.yaml
sudo docker-compose up

After containers building process, the first start of the application can take more than one minute: dependencies installation and database with example data are handled automatically.

The web application will be started at http://127.0.0.1:2012. MySQL database will be available at 127.0.0.1:2013 and kept in var/mysql. Ports can be changed in docker-compose.override.yaml file.

Default administrator user account name is radiolista. Each user account generated by data fixtures has password equal to its name.

Local development — built-in PHP server

Requirements: locally installed PHP 8.3, Composer 2.x & Node.js 14.

git clone https://github.com/TomaszGasior/RadioLista-v3.git
cd RadioLista-v3
composer install
bin/console doctrine:database:create
bin/console doctrine:schema:create
bin/console doctrine:fixtures:load -n
npm install
npm run watch &
php -S 127.0.0.1:2012 -t ./public &

The application will be started at http://127.0.0.1:2012.

Default administrator user account name is radiolista. Each user account generated by data fixtures has password equal to its name.

These features are not supposed to work

  • List searching — this requires MySQL/MariaDB database instead of SQLite.
  • Exporting lists to PDF format — this requires wkhtmltopdf CLI utility.

Tests

bin/phpunit

Fresh SQLite database for test environment is generated automatically each time PHPUnit is started.