diff --git a/documentation/.gitignore b/docs/.gitignore similarity index 100% rename from documentation/.gitignore rename to docs/.gitignore diff --git a/documentation/.vitepress/config.mts b/docs/.vitepress/config.mts similarity index 100% rename from documentation/.vitepress/config.mts rename to docs/.vitepress/config.mts diff --git a/documentation/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts similarity index 100% rename from documentation/.vitepress/theme/index.ts rename to docs/.vitepress/theme/index.ts diff --git a/documentation/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css similarity index 100% rename from documentation/.vitepress/theme/style.css rename to docs/.vitepress/theme/style.css diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 00000000..d16f63a9 --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,41 @@ +# Voyage Architecture + +> **Status**: Stub — to be expanded as architecture evolves. + +## Overview + +Voyage is a self-hosted travel companion built with SvelteKit (frontend) and Django REST Framework (backend), deployed via Docker. + +## Key Architectural Patterns + +### API Proxy +The frontend never calls Django directly. All API calls go through `src/routes/api/[...path]/+server.ts`, which proxies to the Django server, injecting CSRF tokens and managing session cookies. + +### Services (Docker Compose) +- `web` → SvelteKit frontend (`:8015`) +- `server` → Django via Gunicorn + Nginx (`:8016`) +- `db` → PostgreSQL + PostGIS (`:5432`) +- `cache` → Memcached (internal) + +### Authentication +Session-based via `django-allauth`. CSRF tokens from `/auth/csrf/`, passed as `X-CSRFToken` header. + +## Backend Apps +- `adventures` — core domain (locations, collections, itineraries, notes, transportation, MCP) +- `users` — user management +- `worldtravel` — countries, regions, cities, visited tracking +- `integrations` — external service integrations +- `achievements` — gamification +- `chat` — LLM chat/agent + +## Frontend Structure +- `src/routes/` — SvelteKit file-based routing +- `src/lib/types.ts` — TypeScript interfaces +- `src/lib/components/` — Svelte components by domain +- `src/locales/` — i18n JSON files + +## TODO +- [ ] Data flow diagrams +- [ ] Database schema overview +- [ ] Deployment architecture +- [ ] MCP endpoint architecture diff --git a/documentation/docs/changelogs/development_timeline.md b/docs/docs/changelogs/development_timeline.md similarity index 100% rename from documentation/docs/changelogs/development_timeline.md rename to docs/docs/changelogs/development_timeline.md diff --git a/documentation/docs/changelogs/v0-10-0.md b/docs/docs/changelogs/v0-10-0.md similarity index 100% rename from documentation/docs/changelogs/v0-10-0.md rename to docs/docs/changelogs/v0-10-0.md diff --git a/documentation/docs/changelogs/v0-11-0.md b/docs/docs/changelogs/v0-11-0.md similarity index 100% rename from documentation/docs/changelogs/v0-11-0.md rename to docs/docs/changelogs/v0-11-0.md diff --git a/documentation/docs/changelogs/v0-12-0.md b/docs/docs/changelogs/v0-12-0.md similarity index 100% rename from documentation/docs/changelogs/v0-12-0.md rename to docs/docs/changelogs/v0-12-0.md diff --git a/documentation/docs/changelogs/v0-7-0.md b/docs/docs/changelogs/v0-7-0.md similarity index 100% rename from documentation/docs/changelogs/v0-7-0.md rename to docs/docs/changelogs/v0-7-0.md diff --git a/documentation/docs/changelogs/v0-7-1.md b/docs/docs/changelogs/v0-7-1.md similarity index 100% rename from documentation/docs/changelogs/v0-7-1.md rename to docs/docs/changelogs/v0-7-1.md diff --git a/documentation/docs/changelogs/v0-8-0.md b/docs/docs/changelogs/v0-8-0.md similarity index 100% rename from documentation/docs/changelogs/v0-8-0.md rename to docs/docs/changelogs/v0-8-0.md diff --git a/documentation/docs/changelogs/v0-9-0.md b/docs/docs/changelogs/v0-9-0.md similarity index 100% rename from documentation/docs/changelogs/v0-9-0.md rename to docs/docs/changelogs/v0-9-0.md diff --git a/documentation/docs/configuration/advanced_configuration.md b/docs/docs/configuration/advanced_configuration.md similarity index 100% rename from documentation/docs/configuration/advanced_configuration.md rename to docs/docs/configuration/advanced_configuration.md diff --git a/documentation/docs/configuration/analytics.md b/docs/docs/configuration/analytics.md similarity index 100% rename from documentation/docs/configuration/analytics.md rename to docs/docs/configuration/analytics.md diff --git a/documentation/docs/configuration/disable_registration.md b/docs/docs/configuration/disable_registration.md similarity index 100% rename from documentation/docs/configuration/disable_registration.md rename to docs/docs/configuration/disable_registration.md diff --git a/documentation/docs/configuration/email.md b/docs/docs/configuration/email.md similarity index 100% rename from documentation/docs/configuration/email.md rename to docs/docs/configuration/email.md diff --git a/documentation/docs/configuration/google_maps_integration.md b/docs/docs/configuration/google_maps_integration.md similarity index 100% rename from documentation/docs/configuration/google_maps_integration.md rename to docs/docs/configuration/google_maps_integration.md diff --git a/documentation/docs/configuration/immich_integration.md b/docs/docs/configuration/immich_integration.md similarity index 100% rename from documentation/docs/configuration/immich_integration.md rename to docs/docs/configuration/immich_integration.md diff --git a/documentation/docs/configuration/social_auth.md b/docs/docs/configuration/social_auth.md similarity index 100% rename from documentation/docs/configuration/social_auth.md rename to docs/docs/configuration/social_auth.md diff --git a/documentation/docs/configuration/social_auth/authentik.md b/docs/docs/configuration/social_auth/authentik.md similarity index 100% rename from documentation/docs/configuration/social_auth/authentik.md rename to docs/docs/configuration/social_auth/authentik.md diff --git a/documentation/docs/configuration/social_auth/github.md b/docs/docs/configuration/social_auth/github.md similarity index 100% rename from documentation/docs/configuration/social_auth/github.md rename to docs/docs/configuration/social_auth/github.md diff --git a/documentation/docs/configuration/social_auth/oidc.md b/docs/docs/configuration/social_auth/oidc.md similarity index 100% rename from documentation/docs/configuration/social_auth/oidc.md rename to docs/docs/configuration/social_auth/oidc.md diff --git a/documentation/docs/configuration/social_auth/pocket_id.md b/docs/docs/configuration/social_auth/pocket_id.md similarity index 100% rename from documentation/docs/configuration/social_auth/pocket_id.md rename to docs/docs/configuration/social_auth/pocket_id.md diff --git a/documentation/docs/configuration/strava_integration.md b/docs/docs/configuration/strava_integration.md similarity index 100% rename from documentation/docs/configuration/strava_integration.md rename to docs/docs/configuration/strava_integration.md diff --git a/documentation/docs/configuration/updating.md b/docs/docs/configuration/updating.md similarity index 100% rename from documentation/docs/configuration/updating.md rename to docs/docs/configuration/updating.md diff --git a/documentation/docs/configuration/wanderer_integration.md b/docs/docs/configuration/wanderer_integration.md similarity index 100% rename from documentation/docs/configuration/wanderer_integration.md rename to docs/docs/configuration/wanderer_integration.md diff --git a/documentation/docs/guides/admin_panel.md b/docs/docs/guides/admin_panel.md similarity index 100% rename from documentation/docs/guides/admin_panel.md rename to docs/docs/guides/admin_panel.md diff --git a/documentation/docs/guides/invite_user.md b/docs/docs/guides/invite_user.md similarity index 100% rename from documentation/docs/guides/invite_user.md rename to docs/docs/guides/invite_user.md diff --git a/documentation/docs/guides/travel_agent.md b/docs/docs/guides/travel_agent.md similarity index 100% rename from documentation/docs/guides/travel_agent.md rename to docs/docs/guides/travel_agent.md diff --git a/documentation/docs/guides/v0-7-1_migration.md b/docs/docs/guides/v0-7-1_migration.md similarity index 100% rename from documentation/docs/guides/v0-7-1_migration.md rename to docs/docs/guides/v0-7-1_migration.md diff --git a/documentation/docs/install/caddy.md b/docs/docs/install/caddy.md similarity index 100% rename from documentation/docs/install/caddy.md rename to docs/docs/install/caddy.md diff --git a/documentation/docs/install/dev_container_wsl.md b/docs/docs/install/dev_container_wsl.md similarity index 100% rename from documentation/docs/install/dev_container_wsl.md rename to docs/docs/install/dev_container_wsl.md diff --git a/documentation/docs/install/docker.md b/docs/docs/install/docker.md similarity index 100% rename from documentation/docs/install/docker.md rename to docs/docs/install/docker.md diff --git a/documentation/docs/install/getting_started.md b/docs/docs/install/getting_started.md similarity index 100% rename from documentation/docs/install/getting_started.md rename to docs/docs/install/getting_started.md diff --git a/documentation/docs/install/kustomize.md b/docs/docs/install/kustomize.md similarity index 100% rename from documentation/docs/install/kustomize.md rename to docs/docs/install/kustomize.md diff --git a/documentation/docs/install/nginx_proxy_manager.md b/docs/docs/install/nginx_proxy_manager.md similarity index 100% rename from documentation/docs/install/nginx_proxy_manager.md rename to docs/docs/install/nginx_proxy_manager.md diff --git a/documentation/docs/install/proxmox_lxc.md b/docs/docs/install/proxmox_lxc.md similarity index 100% rename from documentation/docs/install/proxmox_lxc.md rename to docs/docs/install/proxmox_lxc.md diff --git a/documentation/docs/install/quick_start.md b/docs/docs/install/quick_start.md similarity index 100% rename from documentation/docs/install/quick_start.md rename to docs/docs/install/quick_start.md diff --git a/documentation/docs/install/synology_nas.md b/docs/docs/install/synology_nas.md similarity index 100% rename from documentation/docs/install/synology_nas.md rename to docs/docs/install/synology_nas.md diff --git a/documentation/docs/install/traefik.md b/docs/docs/install/traefik.md similarity index 100% rename from documentation/docs/install/traefik.md rename to docs/docs/install/traefik.md diff --git a/documentation/docs/install/unraid.md b/docs/docs/install/unraid.md similarity index 100% rename from documentation/docs/install/unraid.md rename to docs/docs/install/unraid.md diff --git a/documentation/docs/intro/voyage_overview.md b/docs/docs/intro/voyage_overview.md similarity index 100% rename from documentation/docs/intro/voyage_overview.md rename to docs/docs/intro/voyage_overview.md diff --git a/documentation/docs/troubleshooting/login_unresponsive.md b/docs/docs/troubleshooting/login_unresponsive.md similarity index 100% rename from documentation/docs/troubleshooting/login_unresponsive.md rename to docs/docs/troubleshooting/login_unresponsive.md diff --git a/documentation/docs/troubleshooting/nginx_failed.md b/docs/docs/troubleshooting/nginx_failed.md similarity index 100% rename from documentation/docs/troubleshooting/nginx_failed.md rename to docs/docs/troubleshooting/nginx_failed.md diff --git a/documentation/docs/troubleshooting/no_images.md b/docs/docs/troubleshooting/no_images.md similarity index 100% rename from documentation/docs/troubleshooting/no_images.md rename to docs/docs/troubleshooting/no_images.md diff --git a/documentation/docs/usage/usage.md b/docs/docs/usage/usage.md similarity index 100% rename from documentation/docs/usage/usage.md rename to docs/docs/usage/usage.md diff --git a/documentation/index.md b/docs/index.md similarity index 100% rename from documentation/index.md rename to docs/index.md diff --git a/documentation/package.json b/docs/package.json similarity index 100% rename from documentation/package.json rename to docs/package.json diff --git a/documentation/pnpm-lock.yaml b/docs/pnpm-lock.yaml similarity index 100% rename from documentation/pnpm-lock.yaml rename to docs/pnpm-lock.yaml diff --git a/documentation/public/authentik_settings.png b/docs/public/authentik_settings.png similarity index 100% rename from documentation/public/authentik_settings.png rename to docs/public/authentik_settings.png diff --git a/documentation/public/github_settings.png b/docs/public/github_settings.png similarity index 100% rename from documentation/public/github_settings.png rename to docs/public/github_settings.png diff --git a/documentation/public/unraid-config-1.png b/docs/public/unraid-config-1.png similarity index 100% rename from documentation/public/unraid-config-1.png rename to docs/public/unraid-config-1.png diff --git a/documentation/public/unraid-config-2.png b/docs/public/unraid-config-2.png similarity index 100% rename from documentation/public/unraid-config-2.png rename to docs/public/unraid-config-2.png diff --git a/documentation/public/unraid-config-3.png b/docs/public/unraid-config-3.png similarity index 100% rename from documentation/public/unraid-config-3.png rename to docs/public/unraid-config-3.png diff --git a/documentation/public/voyage.png b/docs/public/voyage.png similarity index 100% rename from documentation/public/voyage.png rename to docs/public/voyage.png diff --git a/documentation/public/voyage.svg b/docs/public/voyage.svg similarity index 100% rename from documentation/public/voyage.svg rename to docs/public/voyage.svg diff --git a/documentation/static/img/favicon.png b/docs/static/img/favicon.png similarity index 100% rename from documentation/static/img/favicon.png rename to docs/static/img/favicon.png