AdsSlider is a Laravel-based digital signage platform for displaying dynamic content in browser-based displays, kiosks, and Raspberry Pi setups. It is designed for venues such as bars, restaurants, cafés, and event spaces that need live information on screens without a heavy client installation.
The app can show events, menus, weather, emergency notices (Germany only), countdowns, pictures and videos, support live messages, and operational status information in a polished, easy-to-manage interface.
- Event slides with time, location, links, colors, and icons
- Picture and video slides, supporting different aspect ratios with automatic source selection
- Menu and drinks listings
- Happy hour and countdown displays
- Closing and last-call signage automation
- Live alert messages pushed to all connected screens
- Weather forecast integration via OpenWeather (free key is required)
- Emergency and public safety notices such as Nina warnings (available in Germany only)
- Browser-based display system for kiosk-friendly deployment
- Each monitor can have its own configuration
- Multi-language support for English, German, and Italian
- One deployment can support multiple isolated realms
- Works well even on low-power hardware such as Raspberry Pi devices
- PHP 8.4
- Laravel 13
- Livewire
- Vite + Bootstrap
- Reverb WebSockets
- MySQL / MariaDB
- OpenWeather API integration
Before running the project locally, make sure you have:
- PHP 8.4+
- Composer
- Node.js and npm
- MySQL or MariaDB
git clone https://github.com/bedo2991/ads-slider.git
cd ads-sliderCopy the example environment file and update the required values:
cp .env.example .envAt minimum, configure:
APP_URLDB_DATABASEDB_USERNAMEDB_PASSWORDOW_API_KEY
If you plan to use Reverb/WebSockets (recommended for live refresh after data updates), install the Reverb configuration:
php artisan reverb:installThe project includes a
.env.examplefile with the required application-specific settings. For weather and branding, make sure to fill in the missing values before starting the app.
composer install
npm installphp artisan key:generate
php artisan storage:linkphp artisan migrateYou can run the required services individually:
php artisan serve
php artisan queue:work
php artisan reverb:start --debug
npm run devOr, in VS Code, use the configured task to start the full stack together.
composer run devThis uses the project script to start the Laravel server, queue worker, logs, Reverb, and Vite front-end in parallel.
php artisan testphp artisan schedule:run./vendor/bin/pintIf you add or modify translatable strings:
php artisan translatable:export en,de,itTo inspect missing translations:
php artisan translatable:inspect-translations it- Laravel Telescope is available in development under
/telescope. - Admin log access is available via
/logs. - A monitor can be opened at a specific slide by passing a query parameter
?s=...:v= videosp= picturesw= weatherm= menuse= eventsk= karaokeo= order status
- Check dependency updates with
npm outdatedandcomposer outdated - Run the test suite
php artisan test - Format code with
./vendor/bin/pint - Review configuration values before pushing any production-sensitive settings
This project is licensed under the European Union Public License 1.2 (EUPL 1.2).
Contributions are welcome. If you want to improve the project:
- Fork the repository
- Create a feature branch
- Commit your changes with clear messages
- Open a pull request with a concise description of the change
AdsSlider is intended to be a practical tool for managing digital signage content in real-world venues, with a focus on usability, automation, and low-friction deployment.



