Skip to content

fan-tastic-z/EchoDaily

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“” Echo Daily

A minimalist, privacy-focused personal journal with AI assistance

Tauri React TypeScript Rust License CI

Features β€’ Installation β€’ Development β€’ Contributing


✨ Features

πŸ“ Rich Journaling

  • Modern Editor: Built on TipTap with markdown support, code blocks, and more
  • Auto-Save: Never lose your thoughts with automatic saving
  • Calendar View: Navigate entries easily with an intuitive calendar interface
  • Mood Tracking: Record your daily mood with emoji indicators
  • Daily Quotes: AI-generated inspirational quotes to spark creativity

πŸ€– AI Assistance

  • Text Polish: Enhance your writing with AI-powered refinement
  • Translation: Translate content to multiple languages
  • Grammar Fix: Automatically correct grammar mistakes
  • History: Track all AI operations for each entry

πŸ”Š Text-to-Speech

  • Multiple Providers: Support for Qwen (ι˜Ώι‡ŒδΊ‘) and Murf.ai
  • Voice Selection: Choose from various voice options
  • Speed Control: Adjust playback speed to your preference
  • Audio Playback: Built-in audio player for listening to your entries

πŸ“Š Insights

  • Writing Statistics: Track total entries, current streak, and longest streak
  • Mood Analytics: Visualize your emotional patterns over time
  • Full-Text Search: Quickly find entries with powerful search capabilities

πŸ’Ύ Data Management

  • Cloud Sync: Synchronize your entries across devices via Supabase
  • Import/Export: Backup and restore your data as JSON
  • Privacy First: All data stored locally on your device by default
  • Cross-Platform: Available on Windows, macOS, and Linux

πŸš€ Installation

Prerequisites

From Source

# Clone the repository
git clone https://github.com/fan-tastic-z/echo-daily.git
cd echo-daily

# Install dependencies
pnpm install

# Run in development mode
pnpm tauri dev

Pre-built Binaries

Coming soon! Releases will be available on GitHub Releases.


πŸ› οΈ Development

Project Structure

echo-daily/
β”œβ”€β”€ src/                    # Frontend source (React + TypeScript)
β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”œβ”€β”€ lib/               # API layer
β”‚   β”œβ”€β”€ store/             # State management (Zustand)
β”‚   └── types/             # TypeScript types
β”œβ”€β”€ src-tauri/             # Backend source (Rust)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ ai/           # AI provider implementations
β”‚   β”‚   β”œβ”€β”€ db/           # Database queries and migrations
β”‚   β”‚   β”œβ”€β”€ tts/          # Text-to-speech providers
β”‚   β”‚   └── keychain/     # Secure storage for API keys
β”‚   └── capabilities/      # Tauri capability configurations
└── Cargo.toml            # Rust dependencies

Available Scripts

# Development
pnpm tauri dev          # Start dev server with hot reload

# Building
pnpm tauri build        # Build production binaries
pnpm build              # Build frontend only

# Linting & Formatting
pnpm exec eslint .      # Lint frontend code
pnpm exec prettier --write .  # Format code

# Type checking
pnpm exec tsc --noEmit  # Check TypeScript types

# Rust
cargo check            # Check Rust code
cargo test             # Run Rust tests
cargo clippy           # Lint Rust code

Build Notes

Linux (Arch/Manjaro):

  • AppImage bundling may fail due to linuxdeploy compatibility with newer system libraries
  • The build produces working DEB and RPM packages successfully
  • If you encounter AppImage build errors, the packages are still available in src-tauri/target/release/bundle/

Output Artifacts:

  • Linux: .deb, .rpm, .AppImage bundles
  • Windows: .exe installer
  • macOS: .dmg installer, .app bundle

Tech Stack

Frontend:

  • Framework: React 19.1 with TypeScript
  • Editor: TipTap (ProseMirror-based)
  • Styling: Tailwind CSS
  • State: Zustand
  • Icons: Lucide React
  • Code Quality: ESLint 9, Prettier

Backend:

  • Framework: Tauri 2.0
  • Database: SQLite with SQLx
  • AI: ζ™Ίθ°± AI (Zhipu AI)
  • TTS: Qwen, Murf.ai
  • Sync: Supabase (optional, self-hosted)
  • Security: Platform keychain for API keys

πŸ“Έ Screenshots

TODO: Add screenshots here


βš™οΈ Configuration

AI Settings

  1. Click the wand icon (πŸͺ„) in the header
  2. Enter your Zhipu AI API key
  3. Configure model settings

TTS Settings

  1. Click the speaker icon (πŸ”Š) in the header
  2. Choose your provider (Qwen or Murf.ai)
  3. Enter your API key
  4. Select voice and adjust speed

Sync Settings

  1. Click the cloud icon (☁️) in the header
  2. Configure your Supabase project:
    • Enter your Supabase URL and anon key
    • Set up the required database tables
  3. Enable sync to keep your entries synchronized across devices
  4. Manual sync or automatic sync on save

Data Backup

  1. Click the database icon (πŸ’Ύ) in the header
  2. Export: Save all your data as a JSON file
  3. Import: Restore from a previous backup

πŸ—ΊοΈ Roadmap

  • Mobile apps (iOS/Android)
  • Plugin system
  • Custom themes
  • End-to-end encryption
  • More AI providers
  • Attachment support (images, files)

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Tauri - Cross-platform desktop framework
  • TipTap - Rich text editor framework
  • Zhipu AI - AI services provider
  • Supabase - Backend as a service for sync
  • Lucide - Beautiful icons

Made with ❀️ by fan-tastic-z

⭐ Star us on GitHub β€” it helps!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •