Dailies is a modern daily diary/journaling application built with Svelte 5 and SvelteKit. It provides a clean, intuitive interface for recording daily thoughts, experiences, and reflections.
This is a port of an existing .NET / Blazor WebAssembly-based application of the same name. The database file of both projects are designed to be interoperable.
- Multiple Views: Browse your entries through calendar or chronological list views
- Rich Entry Management: Record daily entries with content, key events, mood tracking, and remarks
- Intelligent Caching: Client-side state management with smart pre-fetching for better performance
- Responsive Design: Clean, modern UI built with TailwindCSS and shadcn-svelte components
- Legacy API Support: Compatible with existing .NET Dailies application data
- Modal Editor: In-place editing with unsaved changes protection
- Frontend: Svelte 5 with runes for reactivity
- Framework: SvelteKit with SSR support
- Styling: TailwindCSS + shadcn-svelte UI components
- Package Manager: pnpm
- Deployment: Node.js with @sveltejs/adapter-node
The application follows a clean architecture pattern with:
- Data Layer: Abstracted server-side data operations through
IServerEntriesManager - State Management: Client-side
ClientEntriesManagerusing Svelte 5 runes - UI Components: Modular components with calendar and list views
- Form Handling: SvelteKit form actions for CRUD operations
- Prerequisites: Ensure you have Node.js and pnpm installed
- Clone the repository:
git clone https://github.com/gunt3001/dailies-svelte.git cd dailies-svelte - Install dependencies:
pnpm install
- Start development server:
pnpm run dev
pnpm run dev- Start development serverpnpm run build- Build for productionpnpm run preview- Preview production buildpnpm run check- Run Svelte type checkingpnpm run check:watch- Run type checking in watch modepnpm run lint- Run ESLint
A major update is planned that will introduce native SQLite database support, providing:
- Local Database Storage: Store entries in a local SQLite database for improved performance
- Enhanced Data Management: More robust data persistence and querying capabilities
- Migration Tools: Seamless migration from Legacy API to SQLite backend
- Offline Support: Full offline functionality with local data storage
- Advanced Features: Support for more complex queries, filtering, and data analysis
This will complement the existing Legacy API mode while providing a more modern, self-contained storage solution.
This project is meant for educational purposes and to explore web technologies. The application contains no authentication and is not suitable if you want to keep your journal a secret!
MIT License © Napat Ratanakul