- Display nextcloud-notes-tauri.png at top of README - Provides visual branding before project title
86 lines
2.4 KiB
Markdown
86 lines
2.4 KiB
Markdown

|
|
|
|
# Tauri + React + Typescript
|
|
|
|
# Nextcloud Notes - Cross-Platform Desktop App
|
|
|
|
A modern, cross-platform desktop application for [Nextcloud Notes](https://apps.nextcloud.com/apps/notes) built with Tauri + React + TypeScript.
|
|
|
|
## Features
|
|
|
|
- ✅ **Cross-platform**: macOS, Linux, Windows
|
|
- ✅ **Lightweight**: ~600KB binary (vs 150MB+ Electron)
|
|
- ✅ **Modern UI**: React + TailwindCSS
|
|
- ✅ **Full sync**: Create, edit, delete, favorite notes
|
|
- ✅ **Search & filter**: Find notes quickly, filter by favorites
|
|
- ✅ **Auto-save**: Changes save automatically after 1.5s
|
|
- ✅ **Secure**: Credentials stored in system keychain (localStorage for now)
|
|
- ✅ **Background sync**: Auto-sync every 5 minutes
|
|
|
|
## Prerequisites
|
|
|
|
- **Rust**: Install from https://rustup.rs/
|
|
- **Node.js**: v18+ recommended
|
|
- **Nextcloud instance** with Notes app enabled
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Run in development mode
|
|
npm run tauri dev
|
|
|
|
# Build for production
|
|
npm run tauri build
|
|
```
|
|
|
|
## First Launch
|
|
|
|
1. Enter your Nextcloud server URL (e.g., `https://cloud.example.com`)
|
|
2. Enter your username
|
|
3. Enter your password or **App Password** (recommended)
|
|
- Generate at: Settings → Security → Devices & Sessions in Nextcloud
|
|
4. Click **Connect**
|
|
|
|
## Building for Distribution
|
|
|
|
### macOS
|
|
```bash
|
|
npm run tauri build
|
|
# Output: src-tauri/target/release/bundle/macos/
|
|
```
|
|
|
|
### Linux
|
|
```bash
|
|
npm run tauri build
|
|
# Output: src-tauri/target/release/bundle/appimage/ or .deb
|
|
```
|
|
|
|
### Windows
|
|
```bash
|
|
npm run tauri build
|
|
# Output: src-tauri/target/release/bundle/msi/
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
- **Tauri**: Rust-based native wrapper (~600KB)
|
|
- **React 18**: UI framework
|
|
- **TypeScript**: Type safety
|
|
- **TailwindCSS**: Utility-first styling
|
|
- **Vite**: Fast build tool
|
|
|
|
## Advantages over Native Swift App
|
|
|
|
- ✅ **Cross-platform**: One codebase for macOS, Linux, Windows
|
|
- ✅ **No SwiftUI state issues**: React's state management is mature
|
|
- ✅ **Smaller binary**: Tauri is much lighter than Electron
|
|
- ✅ **Easier to maintain**: Web technologies vs platform-specific code
|
|
- ✅ **No Xcode required**: Build on any platform
|
|
|
|
## Recommended IDE Setup
|
|
|
|
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
|