fn main() -> hexser::HexResult<()> {
println!("=== Tutorial 01: Your First Entity ===\n");
#[derive(Clone, Debug)]
struct User {
id: String,
email: String,
name: String,
}
impl hexser::domain::HexEntity for User {
type Id = String; }
let user = User {
id: String::from("user_001"),
email: String::from("alice@example.com"),
name: String::from("Alice"),
};
println!("✅ Created entity:");
println!(" ID: {}", user.id);
println!(" Name: {}", user.name);
println!(" Email: {}", user.email);
println!("\n📚 What you learned:");
println!(" - Domain entities represent business concepts");
println!(" - Entities have unique identity (ID)");
println!(" - Entities live in the Domain layer (no dependencies!)");
println!("\n🎯 Key Concepts:");
println!(" ┌─────────────┐");
println!(" │ Domain │ ← Your User entity lives here");
println!(" │ [User] │ ← Pure business logic, no tech dependencies");
println!(" └─────────────┘");
println!("\n✅ Tutorial 01 Complete!");
println!("Next: `cargo run --example tutorial_02_repository`");
Ok(())
}