Connor Johnstone 5d0628878b Implement accurate time-based event positioning in week view
- Add calculate_event_position() function to convert UTC times to pixel coordinates
- Position events based on actual start/end times with 60px per hour scaling
- Handle timezone conversion from UTC to local time for proper display
- Implement dynamic event heights that stretch from start to end time
- Add special handling for all-day events positioned at top of day columns
- Create enhanced event display with title and formatted time information
- Style all-day events distinctly with gradient background and italic text
- Filter events to show only those belonging to specific dates
- Add CSS styling for event titles, times, and all-day event appearance
- Support minimum 20px height for very short events and multi-day capping

Events now render at their correct times making week view much more useful for scheduling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-29 10:31:09 -04:00
2025-08-29 08:36:23 -04:00

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)
  • 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

  1. Start the backend server:

    cd backend
    cargo run
    
  2. Start the frontend development server:

    trunk serve
    
  3. Open your browser to http://localhost:8080

Building for Production

trunk build --release

Project Structure

  • src/ - Frontend Yew application
  • backend/ - Axum backend server
  • migrations/ - Database schema migrations
  • dist/ - Built frontend assets
Description
A self-hostable calendar front-end for caldav servers
Readme 124 MiB
Languages
Rust 76.9%
CSS 22.4%
JavaScript 0.4%
Dockerfile 0.2%
HTML 0.1%