# Journaley Journaley is a simple, modern journaling app built with SvelteKit, Tailwind CSS, shadcn-svelte conventions, Convex, and Convex Auth. ## Features - Authenticated daily markdown entries with live Convex data. - Dashboard with recent entries, streaks, activity, mood counts, and tag insights. - Entry workspace with create/edit dialog, markdown preview, date, mood, pin/archive state, tags, search, filters, and sorting. - Normalized tagging with usage counts and entry/tag joins. - Convex full-text search over title, body text, mood, and tags. - Warm light theme, dark mode, and basic user settings. ## Development Install dependencies: ```sh pnpm install ``` Push Convex functions and regenerate types: ```sh CONVEX_AGENT_MODE=anonymous npx convex dev --once ``` Start the SvelteKit app: ```sh pnpm dev ``` The local app runs at `http://localhost:5173`. Convex local deployment values live in `.env.local`. ## Auth This project uses Convex Auth with email/password for local development. The initializer created `convex/auth.config.ts`, `convex/auth.ts`, and `convex/http.ts`; the frontend uses `@mmailaender/convex-auth-svelte` for SvelteKit auth state and auth routes. Production auth configuration is intentionally not completed yet. Configure production deployment URL, site URL, keys, and redirect behavior before deploying. ## Scripts - `pnpm dev` starts SvelteKit. - `pnpm build` builds the app. - `pnpm preview` previews the production build. - `pnpm check` runs Svelte and TypeScript checks. - `pnpm lint` runs Prettier checks and ESLint. - `pnpm format` formats the codebase. ## Project Layout - `convex/` contains schema, auth, entries, tags, settings, and analytics functions. - `src/routes/` contains SvelteKit pages and layout. - `src/lib/components/` contains reusable UI, logo, theme, and markdown components. - `static/favicon.svg` contains the Journaley mark.