docs: update README to reflect church-core integration

- Document church-core as core dependency and architectural foundation
- Add details about shared library benefits (consistency, reliability)
- Update features list to highlight modular components and caching
- Add architecture section explaining church-core integration
- Document key modules and their responsibilities
- Emphasize elimination of code duplication through shared library
This commit is contained in:
RTSDA 2025-08-16 21:57:43 -04:00
parent 4c4717e2d5
commit 75da0e68ac

View file

@ -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