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:
parent
4c4717e2d5
commit
75da0e68ac
34
README.md
34
README.md
|
@ -1,19 +1,22 @@
|
||||||
# Beacon
|
# 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
|
## Features
|
||||||
|
|
||||||
- Real-time event display with automatic updates
|
- Real-time event display with automatic updates
|
||||||
- Smooth image loading and transitions
|
- Smooth image loading and transitions with intelligent caching
|
||||||
- Modern, clean interface design
|
- Modern, clean interface design with modular components
|
||||||
- Automatic event filtering based on date/time
|
- Automatic event filtering based on date/time
|
||||||
- Support for high-resolution displays
|
- Support for high-resolution displays
|
||||||
- Efficient memory management for images
|
- Efficient memory management for images
|
||||||
|
- Built on shared church-core library for consistency and reliability
|
||||||
|
- Graceful error handling with comprehensive logging
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Rust 1.70 or higher
|
- Rust 1.70 or higher
|
||||||
|
- Access to the `church-core` crate (located at `../church-core`)
|
||||||
- A running church API instance with events endpoint
|
- A running church API instance with events endpoint
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
@ -82,10 +85,27 @@ cargo build --release
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
The application is built using:
|
The application is built using:
|
||||||
- Iced for the UI framework
|
- **church-core** - Shared library for API integration, event models, and utilities
|
||||||
- Tokio for async runtime
|
- **Iced** - Modern UI framework for Rust
|
||||||
- Reqwest for HTTP requests
|
- **Tokio** - Async runtime
|
||||||
- Chrono for date/time handling
|
- **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
|
## License
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue