Initial commit: Nextcloud Notes Tauri app with WYSIWYG editor
Features: - WYSIWYG markdown editor with TipTap - Manual save with unsaved changes indicator - Auto-title derivation from first line (with manual override) - Manual sync button with visual feedback - Auto-sync every 5 minutes - Full formatting toolbar (bold, italic, headings, lists, code) - Note creation, editing, deletion - Search and favorites filter - Cross-platform desktop app built with Tauri + React + TypeScript
This commit is contained in:
83
README.md
Normal file
83
README.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user