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 |