Go to file
RTSDA 1494472e3e Update API integration from PocketBase to new church API
- Replace PocketBase integration with new church API at api.rockvilletollandsda.church
- Use /api/events/upcoming endpoint to eliminate client-side filtering
- Update data structures to match new API response format
- Simplify event fetching logic by leveraging server-side filtering
- Increase image size limit to 2MB for better image support
- Rename PocketbaseEvent to ApiEvent and PocketbaseClient to ApiClient
- Update configuration to use api_url instead of pocketbase_url
2025-06-28 19:54:16 -04:00
.github Create FUNDING.yml 2025-05-28 13:40:24 -04:00
icons Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
src Update API integration from PocketBase to new church API 2025-06-28 19:54:16 -04:00
.gitignore Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
beacon.desktop Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
Cargo.lock Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
Cargo.toml Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
digital-sign.desktop Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
install.sh Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00
README.md Initial commit: Beacon digital signage application 2025-02-06 00:12:04 -05:00

Beacon

A modern digital signage application for displaying church events, built with Rust and Iced.

Features

  • Real-time event display with automatic updates
  • Smooth image loading and transitions
  • Modern, clean interface design
  • Automatic event filtering based on date/time
  • Support for high-resolution displays
  • Efficient memory management for images

Requirements

  • Rust 1.70 or higher
  • A running Pocketbase instance with events collection

Configuration

Create a config.toml file in the application directory with the following settings:

pocketbase_url = "http://your-pocketbase-url"
window_width = 1920
window_height = 1080
slide_interval_secs = 10
refresh_interval_mins = 5

Building

cargo build --release

Running

./target/release/beacon

Development

The application is built using:

  • Iced for the UI framework
  • Tokio for async runtime
  • Reqwest for HTTP requests
  • Chrono for date/time handling

License

MIT License