diff --git a/README.md b/README.md index 9ea45dd..fa86617 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,22 @@ # Beacon -A modern digital signage application for displaying church events, built with Rust and Iced. +A modern digital signage application for displaying church events, built with Rust, Iced, and the shared church-core library. ## Features - Real-time event display with automatic updates -- Smooth image loading and transitions -- Modern, clean interface design +- Smooth image loading and transitions with intelligent caching +- Modern, clean interface design with modular components - Automatic event filtering based on date/time - Support for high-resolution displays - Efficient memory management for images +- Built on shared church-core library for consistency and reliability +- Graceful error handling with comprehensive logging ## Requirements - Rust 1.70 or higher +- Access to the `church-core` crate (located at `../church-core`) - A running church API instance with events endpoint ## Configuration @@ -82,10 +85,27 @@ cargo build --release ## Development The application is built using: -- Iced for the UI framework -- Tokio for async runtime -- Reqwest for HTTP requests -- Chrono for date/time handling +- **church-core** - Shared library for API integration, event models, and utilities +- **Iced** - Modern UI framework for Rust +- **Tokio** - Async runtime +- **Reqwest** - HTTP client for image loading +- Modular architecture with dedicated UI components and caching system + +### Architecture + +Beacon leverages the shared `church-core` library to: +- Use standardized Event models with built-in helper methods +- Share API client functionality across church projects +- Eliminate code duplication and ensure consistency +- Benefit from shared testing and improvements + +### Key Modules + +- `src/main.rs` - Application entry point and state management +- `src/ui.rs` - Modular UI components for event display +- `src/cache.rs` - Intelligent image caching system +- `src/config.rs` - Configuration management with validation +- `src/api.rs` - Simplified API integration using church-core ## License