diff --git a/Dockerfile b/Dockerfile index ff4b365..580281c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,7 +29,7 @@ RUN mkdir -p frontend/src && \ echo "pub fn add(a: usize, b: usize) -> usize { a + b }" > calendar-models/src/lib.rs # Build dependencies (this layer will be cached unless dependencies change) -RUN cargo build --release --target wasm32-unknown-unknown --bin calendar-app +RUN cargo build --release --target wasm32-unknown-unknown --bin runway # Copy actual source code and build the frontend application RUN rm -rf frontend @@ -55,7 +55,7 @@ COPY calendar-models ./calendar-models # Create empty frontend directory to satisfy workspace RUN mkdir -p frontend/src && \ - printf '[package]\nname = "calendar-app"\nversion = "0.1.0"\nedition = "2021"\n\n[dependencies]\n' > frontend/Cargo.toml && \ + printf '[package]\nname = "runway"\nversion = "0.1.0"\nedition = "2021"\n\n[dependencies]\n' > frontend/Cargo.toml && \ echo 'fn main() {}' > frontend/src/main.rs # Create dummy backend source to build dependencies first diff --git a/README.md b/README.md index 23a06d6..5628fec 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,20 @@ -# Modern CalDAV Web Client +# Runway +## _Passive infrastructure for life's coordination_ >[!WARNING] >This project was entirely vibe coded. It's my first attempt vibe coding anything, but I just sat down one day and realized this was something I've wanted to build for many years, but would just take way too long. With AI, I've been able to lay out the majority of the app in one long weekend. So proceed at your own risk, but I actually think the app is pretty solid. -A full-stack calendar application built with Rust, featuring a modern web interface for CalDAV calendar management. +A modern CalDAV web client built with Rust WebAssembly. -## Motivation +## The Name -While there are many excellent self-hosted CalDAV server implementations (Nextcloud, Radicale, Baikal, etc.), the web client ecosystem remains limited. Existing solutions like [AgenDAV](https://github.com/agendav/agendav) often suffer from outdated interfaces, bugs, and poor user experience. This project aims to provide a modern, fast, and reliable web interface for CalDAV servers. +Runway embodies the concept of **passive infrastructure** — unobtrusive systems that enable better coordination without getting in the way. Planes can fly and do lots of cool things, but without runways, they can't take off or land. Similarly, calendars and scheduling tools are essential for organizing our lives, but they should not dominate our attention. + +The best infrastructure is invisible when working, essential when needed, and enables rather than constrains. + +## Why Runway? + +While there are many excellent self-hosted CalDAV server implementations (Nextcloud, Radicale, Baikal, etc.), the web client ecosystem remains limited. Existing solutions like [AgenDAV](https://github.com/agendav/agendav) often suffer from outdated interfaces, bugs, and poor user experience. Runway provides a modern, fast, and reliable web interface for CalDAV servers — infrastructure that just works. ## Features @@ -63,7 +70,7 @@ While there are many excellent self-hosted CalDAV server implementations (Nextcl ### Docker Deployment (Recommended) -The easiest way to run the calendar is using Docker Compose: +The easiest way to run Runway is using Docker Compose: 1. **Clone the repository**: ```bash @@ -162,7 +169,7 @@ calendar/ This client is designed to work with any RFC-compliant CalDAV server: - **Baikal** - ✅ Fully tested with complete event and recurrence support -- **Nextcloud** - 🚧 Planned compatibility with calendar app +- **Nextcloud** - 🚧 Planned compatibility with Nextcloud calendar - **Radicale** - 🚧 Planned lightweight CalDAV server support - **Apple Calendar Server** - 🚧 Planned standards-compliant operation - **Google Calendar** - 🚧 Planned CalDAV API compatibility diff --git a/frontend/Cargo.toml b/frontend/Cargo.toml index cd2759d..1cfeaa0 100644 --- a/frontend/Cargo.toml +++ b/frontend/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "calendar-app" +name = "runway" version = "0.1.0" edition = "2021" diff --git a/frontend/index.html b/frontend/index.html index 452dfb4..ba2900c 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2,7 +2,7 @@ - Calendar App + Runway diff --git a/frontend/src/components/sidebar.rs b/frontend/src/components/sidebar.rs index 6a281a6..ab45f89 100644 --- a/frontend/src/components/sidebar.rs +++ b/frontend/src/components/sidebar.rs @@ -158,7 +158,7 @@ pub fn sidebar(props: &SidebarProps) -> Html { html! {