Skip to content

appwrite-community/offline-journal

Repository files navigation

Offline Journal

A private journaling application built with Svelte and RxDB that lets you write and store your thoughts offline. Your entries are stored locally with cloud sync capabilities through Appwrite.

Features

  • ✍️ Create, edit, and manage journal entries
  • 💾 Offline-first approach using RxDB for local storage
  • 🔄 Cloud sync with Appwrite
  • 🔐 Privacy-focused - all data stays on your device by default
  • 🔑 Secure authentication with magic email links
  • 📱 Responsive design that works on all devices
  • ⚡ Fast and lightweight
  • 🎯 Clean and intuitive interface

Technical Stack

  • Frontend: Svelte 5 with SvelteKit
  • Database: RxDB with IndexedDB adapter (via Dexie.js)
  • Cloud Sync: Appwrite backend
  • Build Tool: Vite

Development

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Configure Environment Variables:
  • Copy .env.example to .env
  • Update the .env file with your Appwrite project details:
    PUBLIC_APPWRITE_ENDPOINT=your-appwrite-endpoint
    PUBLIC_APPWRITE_PROJECT_ID=your-project-id
    PUBLIC_APPWRITE_DATABASE_ID=your-database-id
    PUBLIC_APPWRITE_COLLECTION_ID=your-collection-id
    
  1. Start the development server:
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of the app:

npm run build

You can preview the production build with npm run preview.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License