diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..5d76620 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "lifeman" +version = "0.2.0" +edition = "2021" + +[dependencies] +axum = "0.7" +tokio = { version = "1", features = ["full"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tower-http = { version = "0.5", features = ["fs", "trace", "cors"] } +tracing = "0.1" +tracing-subscriber = "0.3" +uuid = { version = "1", features = ["v4", "serde"] } +chrono = { version = "0.4", features = ["serde"] } diff --git a/cp-bin.sh b/cp-bin.sh new file mode 100644 index 0000000..fc1b76b --- /dev/null +++ b/cp-bin.sh @@ -0,0 +1 @@ +cp target/release/lifeman . diff --git a/data.json b/data.json new file mode 100644 index 0000000..3b9080a --- /dev/null +++ b/data.json @@ -0,0 +1,313 @@ +[ + { + "id": "550e8400-e29b-41d4-a716-446655440001", + "template_type": "chore", + "title": "Pay Monthly Rent", + "description": "Send transfer to landlord. #finance #urgent", + "tags": [ + "finance", + "bills" + ], + "frequency": "Monthly", + "status": "Active", + "event_date": "2025-12-01T09:00:00Z", + "details": { + "amount": "2000" + }, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440002", + "template_type": "inventory", + "title": "Netflix Subscription", + "description": "Auto-renew hits account today. #finance", + "tags": [ + "finance", + "subscription" + ], + "frequency": "Monthly", + "status": "Active", + "event_date": "2025-11-27T10:00:00Z", + "details": { + "cost": "15.99" + }, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440003", + "template_type": "project", + "title": "Black Friday Tech Upgrade", + "description": "Buy new monitor and SSD. Check deals. #finance #shopping", + "tags": [ + "finance", + "tech" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": "2025-11-28T05:00:00Z", + "details": { + "budget": "800" + }, + "created_at": "2025-11-20T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440004", + "template_type": "inventory", + "title": "Car Insurance Payment", + "description": "6-month premium due. #finance", + "tags": [ + "finance", + "car" + ], + "frequency": "Yearly", + "status": "Active", + "event_date": "2025-12-15T10:00:00Z", + "details": { + "provider": "Geico" + }, + "created_at": "2024-12-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440005", + "template_type": "chore", + "title": "Take Out Trash (Weekly)", + "description": "Both bins to the curb. #home", + "tags": [ + "home", + "chore" + ], + "frequency": "Weekly", + "status": "Active", + "event_date": "2025-11-26T18:00:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440006", + "template_type": "chore", + "title": "Sunday Laundry", + "description": "Wash bedding and towels. #home", + "tags": [ + "home", + "cleaning" + ], + "frequency": "Weekly", + "status": "Active", + "event_date": "2025-11-23T10:00:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440007", + "template_type": "project", + "title": "Winterize House", + "description": "Check windows for drafts, cover outdoor faucet. #home", + "tags": [ + "home", + "maintenance" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": "2025-11-29T13:00:00Z", + "details": { + "supplies": "Caulk, Covers" + }, + "created_at": "2025-11-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440008", + "template_type": "chore", + "title": "Water Plants", + "description": "Living room and balcony plants. #home", + "tags": [ + "home", + "nature" + ], + "frequency": "Weekly", + "status": "Active", + "event_date": "2025-11-28T09:00:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440009", + "template_type": "project", + "title": "Finish App Backend", + "description": "Complete the sorting algorithm logic. #work #coding", + "tags": [ + "work", + "dev" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": "2025-11-30T23:59:00Z", + "details": { + "priority": "High" + }, + "created_at": "2025-11-20T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440010", + "template_type": "chore", + "title": "Weekly Team Sync", + "description": "Monday morning standup. Zoom link in email. #work", + "tags": [ + "work", + "meeting" + ], + "frequency": "Weekly", + "status": "Active", + "event_date": "2025-11-24T09:00:00Z", + "details": { + "platform": "Zoom" + }, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440011", + "template_type": "chore", + "title": "Clear Inbox", + "description": "Reach Inbox Zero daily. #work", + "tags": [ + "work", + "admin" + ], + "frequency": "Daily", + "status": "Active", + "event_date": "2025-11-01T16:30:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440012", + "template_type": "chore", + "title": "Gym - Leg Day", + "description": "Squats, Lunges, Deadlifts. #health", + "tags": [ + "health", + "fitness" + ], + "frequency": "Weekly", + "status": "Active", + "event_date": "2025-11-25T17:30:00Z", + "details": { + "location": "Gold's" + }, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440013", + "template_type": "inventory", + "title": "Dentist Appointment", + "description": "Routine cleaning. #health #appointment", + "tags": [ + "health", + "urgent" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": "2025-12-02T14:00:00Z", + "details": { + "doctor": "Dr. Smith" + }, + "created_at": "2025-10-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440014", + "template_type": "chore", + "title": "Take Vitamins", + "description": "Vitamin D, Fish Oil, Zinc. #health", + "tags": [ + "health", + "daily" + ], + "frequency": "Daily", + "status": "Active", + "event_date": "2025-01-01T08:00:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440015", + "template_type": "brain-dump", + "title": "Meditation Session", + "description": "10 minutes of mindfulness. #health", + "tags": [ + "health", + "mental" + ], + "frequency": "Daily", + "status": "Active", + "event_date": "2025-01-01T21:00:00Z", + "details": {}, + "created_at": "2025-01-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440016", + "template_type": "brain-dump", + "title": "Thanksgiving Dinner", + "description": "Family gathering. Turkey day! #social #home", + "tags": [ + "social", + "holiday" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": "2025-11-27T16:00:00Z", + "details": {}, + "created_at": "2025-11-01T10:00:00Z", + "updated_at": null + }, + { + "id": "550e8400-e29b-41d4-a716-446655440017", + "template_type": "inventory", + "title": "Dad's Birthday", + "description": "Call him. Send gift. #social", + "tags": [ + "social" + ], + "frequency": "Yearly", + "status": "Active", + "event_date": "1960-11-30T00:00:00Z", + "details": { + "description": "Call him. Send gift. #social", + "event_date": "1960-11-29T18:00", + "frequency": "Yearly", + "location": "", + "title": "Dad's Birthday" + }, + "created_at": "2020-01-01T10:00:00Z", + "updated_at": "2025-11-27T13:04:52.826213854Z" + }, + { + "id": "550e8400-e29b-41d4-a716-446655440018", + "template_type": "brain-dump", + "title": "Startup Idea", + "description": "An AI that organizes closets automatically. #work", + "tags": [ + "ideas", + "work" + ], + "frequency": "One-Time", + "status": "Active", + "event_date": null, + "details": {}, + "created_at": "2025-11-27T11:00:00Z", + "updated_at": null + } +] \ No newline at end of file