readme: add features overview and clean up completed TODOs
This commit is contained in:
81
README.md
81
README.md
@@ -1,54 +1,35 @@
|
||||
# Personal Homepage
|
||||
|
||||
My own homepage, bocken.org, built with svelte-kit.
|
||||
My own homepage, [bocken.org](https://bocken.org), built with SvelteKit and Svelte 5.
|
||||
|
||||
## Features
|
||||
|
||||
### Recipes (`/rezepte` · `/recipes`)
|
||||
Bilingual recipe collection with search, category filtering, and seasonal recommendations. Authenticated users can add recipes and mark favorites. Recipes are browsable offline via service worker caching.
|
||||
|
||||
### Faith (`/glaube` · `/faith`)
|
||||
Catholic prayer collection in German, English, and Latin. Includes an interactive Rosary with scroll-synced SVG bead visualization, mystery images (sticky column on desktop, draggable PiP on mobile), decade progress tracking, and a daily streak counter. Adapts prayers for liturgical seasons like Eastertide.
|
||||
|
||||
### Expense Sharing (`/cospend`)
|
||||
Shared expense tracker with balance dashboards, debt breakdowns, monthly bar charts with category filtering, and payment management.
|
||||
|
||||
### Self-Hosted Services
|
||||
Landing pages and themed integrations for Gitea, Jellyfin, SearxNG, Photoprism, Jitsi, Webtrees, and more — all behind Authentik SSO.
|
||||
|
||||
### Technical Highlights
|
||||
- **PWA with offline support** — service worker with network-first caching, offline recipe browsing, and intelligent prefetching
|
||||
- **Bilingual routing** — language derived from URL (`/rezepte` vs `/recipes`, `/glaube` vs `/faith`) with seamless switching
|
||||
- **Nord theme** — consistent color palette with light/dark mode support
|
||||
- **Auth** — Auth.js with OIDC/LDAP via Authentik, role-based access control
|
||||
- **Progressive enhancement** — core functionality works without JavaScript
|
||||
|
||||
## TODO
|
||||
### General
|
||||
- [ ] Admin user management -> move to authentik via oIDC
|
||||
- [x] login to authentik
|
||||
- [x] only let rezepte_users edit recipes -> currently only letting them log in, should be changed
|
||||
- [x] get user info from authentik (more than email and name)
|
||||
- [ ] upload pfp
|
||||
- [ ] upload/change pfp
|
||||
- [x] registration only with minimal permissions
|
||||
- [ ] logout without /logout page
|
||||
- [ ] preferences page
|
||||
- [x] change password
|
||||
- [x] css dark mode `@media (prefers-color-scheme: dark) {}`
|
||||
- [ ] dark mode toggle
|
||||
|
||||
### Rezepte
|
||||
- [x] Do not list recipes that are all-year as "seasonal"
|
||||
- [ ] nutrition facts
|
||||
- [x] verify randomize arrays based on day
|
||||
- [x] notes for next time
|
||||
- [ ] refactor, like, a lot
|
||||
- [ ] expose json-ld for recipes https://json-ld.org/ https://schema.org/Recipe
|
||||
- [ ] reference other recipes in recipe
|
||||
- [ ] add a link to the recipe
|
||||
- [ ] add ingredients to the ingredients list
|
||||
- [ ] include steps?
|
||||
- [ ] add favoriting ability when logged in
|
||||
- [ ] favorite button on recipe
|
||||
- [ ] store favorites in DB -> add to user object
|
||||
- [ ] favorite API endpoint (requires auth of user)
|
||||
- [ ] set
|
||||
- [ ] retrieve
|
||||
- [ ] favorite page/MediaScroller
|
||||
- [ ] graceful degradation for JS-less browsers
|
||||
- [ ] use js-only class with display:none and remove it with JS
|
||||
- [ ] disable search -> use form action instead on submit?
|
||||
- [x] do not blur images without js
|
||||
- [x] correct Recipe Card rendering
|
||||
|
||||
|
||||
### Glaube
|
||||
- [ ] just keep it md rendered
|
||||
- [ ] Google Speech to Text API integration?
|
||||
- [ ] Gebete
|
||||
|
||||
### Outside of this sveltekit project but planned to run on the server as well
|
||||
- [x] create LDAP and OpenID
|
||||
|
||||
#### E-Mail
|
||||
- [x] emailwiz setup
|
||||
@@ -60,15 +41,6 @@ My own homepage, bocken.org, built with svelte-kit.
|
||||
- [ ] Connect to LDAP/OIDC (waiting on upstream)
|
||||
- [x] Serve some web-frontend -> Just element?
|
||||
|
||||
#### Gitea
|
||||
- [ ] consistent theming
|
||||
- [x] OpenID Connect
|
||||
- [x] sane landing page
|
||||
|
||||
#### Jellyfin
|
||||
- [x] connect to LDAP
|
||||
- [x] consitent theming
|
||||
|
||||
#### Webtrees
|
||||
- [x] setup Oauth2proxy -> not necessary, authentik has proxy integrated
|
||||
- [x] connect to OIDC using Oauth2proxy (using authentik)
|
||||
@@ -86,11 +58,4 @@ My own homepage, bocken.org, built with svelte-kit.
|
||||
|
||||
#### Photoprism
|
||||
- [ ] consistent theming
|
||||
- [ ] OIDC integration (waiting on upstream)
|
||||
|
||||
#### Nextcloud
|
||||
- [x] consistent theming
|
||||
- [x] collabora integration
|
||||
|
||||
#### Transmission
|
||||
- [x] move behind authentik
|
||||
- [x] OIDC integration
|
||||
|
||||
Reference in New Issue
Block a user