- Slide Management: Upload 1920×1080 images, set display duration, optional start/end dates.
- Kiosk Assignment: Assign slides to one or more kiosks.
- User Permissions: Granular access control with CanCanCan and user/group permissions.
- Admin UI: Full CRUD admin interface powered by RailsAdmin.
- Image Storage: ActiveStorage for uploads; local disk in development, mounted storage in production.
- Ruby 3.2.8, Rails 7.1.5
- PostgreSQL
- RailsAdmin 3.3.0
- CanCanCan
- ActiveStorage
- Importmap & Hotwire (Turbo)
- dotenv (development)
- Dokku / Heroku deployment
- Ruby 3.2.x
- PostgreSQL
- Bundler (
gem install bundler)
-
Clone repository
git clone https://github.com/tadl/TADLKioskScreensaver.git cd TADLKioskScreensaver -
Install gems
bundle install
-
Environment variables
- Copy
.env.exampleto.envand fill in credentials (DATABASE_URL, SECRET_KEY_BASE, etc.). - Uses dotenv to load
.envin development.
- Copy
-
Database setup
rails db:create db:migrate
-
Start server
bin/rails server
-
Access admin Navigate to
http://localhost:3000/adminand sign in via configured OAuth.
- Environment variables live in
.env(loaded via dotenv). - ActiveStorage uses local disk (in
storage/).
- Fork the repo
- Create a feature branch
- Submit a pull request
This application powers digital signage for library kiosks. Adjust configurations as needed per environment.
