0babfc90f4e953365db23111a0a52719f581272f
Transform the basic event creation modal into a professional 6-tab interface exposing all major RFC 5545 VEvent properties with enhanced UX: • Basic Details: Essential fields (title, calendar, dates, location, basic recurrence/reminders) • Advanced: Status, priority, classification, extended reminders/recurrence • People: Organizer and attendee management with validation • Categories: Interactive tagging system with quick-add buttons • Location: Enhanced location handling with common shortcuts and geo features preview • Reminders: Comprehensive alarm configuration with attachment features preview Features: - Complete RFC 5545 compliance throughout all tabs - Interactive elements: 30+ clickable tags and quick-action buttons - Professional styling with full theme compatibility (including dark mode) - Mobile-responsive design with optimized layouts - Educational content explaining calendar system capabilities - Smooth tab navigation with active state management - Form validation and smart defaults - Future-proof extensible architecture Technical implementation: - Type-safe Rust/Yew state management with proper event handling - Modular tab-based architecture for maintainability - Performance optimized with efficient state updates - JsCast integration for proper DOM element handling - Comprehensive CSS with theme variants and responsive breakpoints 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Calendar App
A full-stack calendar application built with Rust, featuring a Yew frontend and Axum backend with CalDAV integration.
Features
- Interactive calendar interface
- Event creation and management
- CalDAV server integration
- User authentication with JWT
- iCal format support
- Weekly recurrence patterns
- Responsive web design
Architecture
- Frontend: Yew (Rust WebAssembly)
- Backend: Axum (Rust async web framework)
- Shared Models: RFC 5545-compliant VEvent structures
- Protocol: CalDAV for calendar synchronization
- Database: SQLite (via migrations)
- Build Tool: Trunk for frontend bundling
Getting Started
Prerequisites
- Rust (latest stable version)
- Trunk (
cargo install trunk)
Development
-
Start the backend server:
cd backend cargo run -
Start the frontend development server:
cd frontend trunk serve -
Open your browser to
http://localhost:8080
Building for Production
cd frontend
trunk build --release
Project Structure
This is a Cargo workspace with the following structure:
frontend/- Yew frontend applicationsrc/- Frontend source codeindex.html- HTML templatestyles.css- CSS stylesTrunk.toml- Trunk build configuration
backend/- Axum backend servercalendar-models/- Shared RFC 5545 VEvent modelsmigrations/- Database schema migrations
Description
Languages
Rust
76.9%
CSS
22.4%
JavaScript
0.4%
Dockerfile
0.2%
HTML
0.1%