meeting_cost_tracker/
lib.rs

1//! # Meeting Cost Tracker
2//!
3//! A library for tracking the cost of meetings in real-time, based on attendee salaries.
4//! Designed for integration with TUI frontends using `ratatui`.
5//!
6//! ## Example
7//!
8//! ```rust
9//! use meeting_cost_tracker::{EmployeeCategory, Meeting};
10//!
11//! let category = EmployeeCategory::new("Engineer", 120_000).unwrap();
12//! let mut meeting = Meeting::new();
13//! meeting.add_attendee(&category, 3);
14//! meeting.start();
15//! std::thread::sleep(std::time::Duration::from_millis(500));
16//! meeting.stop();
17//! println!("Cost: ${:.2}", meeting.total_cost());
18//! ```
19
20#![warn(clippy::pedantic)]
21
22mod meeting;
23mod model;
24mod storage;
25
26/// Core meeting functionality including timers and cost computation.
27pub use meeting::Meeting;
28/// Represents an employee salary category.
29pub use model::EmployeeCategory;
30/// Persistence helpers for reading and writing categories as TOML.
31pub use storage::{load_attendees, load_categories, save_attendees, save_categories, AttendeeInfo};