full working application and initial commit

This commit is contained in:
2026-06-04 18:39:39 +02:00
commit 8524179793
86 changed files with 10107 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# 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.