56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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:
 | |
|    ```bash
 | |
|    cd backend
 | |
|    cargo run
 | |
|    ```
 | |
| 
 | |
| 2. Start the frontend development server:
 | |
|    ```bash
 | |
|    trunk serve
 | |
|    ```
 | |
| 
 | |
| 3. Open your browser to `http://localhost:8080`
 | |
| 
 | |
| ### Building for Production
 | |
| 
 | |
| ```bash
 | |
| trunk build --release
 | |
| ```
 | |
| 
 | |
| ## Project Structure
 | |
| 
 | |
| - `src/` - Frontend Yew application
 | |
| - `backend/` - Axum backend server
 | |
| - `migrations/` - Database schema migrations
 | |
| - `dist/` - Built frontend assets | 
