managarten/apps/memoro/apps/web
Till JS 11a2db8fcd fix(memoro): unify error responses, add offline page, align i18n defaults
Error responses:
- Webhook routes now use consistent { success, error } format
- Meeting bot 402 error uses standard format instead of mixed error/message/details

PWA:
- Add /offline page with shared OfflinePage component

i18n:
- Change default locale from 'en' to 'de' (matching all other ManaCore apps)
- Use app-specific localStorage key 'memoro_locale' (was generic 'locale')

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:39:11 +02:00
..
docs feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
src fix(memoro): unify error responses, add offline page, align i18n defaults 2026-04-01 16:39:11 +02:00
static feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
.env.example feat(memoro): add transcription fallback chain, AI provider fallbacks, and error tracking 2026-04-01 14:55:52 +02:00
.gitignore feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
.npmrc feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
APPLE_SIGNIN_COMPLETE_GUIDE.md feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
Dockerfile feat(memoro/web): add Dockerfile + docker-compose for production deployment 2026-04-01 11:42:41 +02:00
GOOGLE_SIGNIN_COMPLETE_GUIDE.md feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
package.json feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
README.md feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
svelte.config.js feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
tsconfig.json feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00
vite.config.ts feat(memoro): integrate memoro web app into monorepo (phases 1-6) 2026-03-31 17:19:20 +02:00

Memoro Web - SvelteKit Companion App

Web companion application for Memoro, built with SvelteKit. This is a hybrid architecture where the web app shares the same Supabase backend with the React Native mobile apps.

Architecture

  • Frontend: SvelteKit 2.x + TypeScript
  • Styling: TailwindCSS 3.x
  • Backend: Supabase (shared with mobile apps)
  • State Management: Svelte stores
  • Internationalization: svelte-i18n

Features

Core Features

  • Authentication (Email/Password + OAuth)
  • Audio recording (Web Audio API)
  • Memo management (CRUD operations)
  • Real-time updates (Supabase Realtime)
  • Spaces & collaboration
  • Multi-language support (32 languages)
  • Dark mode + 4 theme variants
  • Responsive design

Web-Specific Features

  • Progressive Web App (PWA) support
  • Server-Side Rendering (SSR)
  • SEO optimization
  • Fast page loads

Getting Started

Prerequisites

  • Node.js 18+
  • npm or pnpm
  • Supabase project (use the same one as mobile apps)

Installation

  1. Clone the repository

  2. Install dependencies:

    npm install
    
  3. Copy .env.example to .env and add your Supabase credentials:

    cp .env.example .env
    
  4. Start the development server:

    npm run dev
    
  5. Open http://localhost:5173

Build for Production

npm run build
npm run preview

Project Structure

memoro-web/
├── src/
│   ├── lib/
│   │   ├── components/      # Reusable Svelte components
│   │   ├── stores/          # Svelte stores for state management
│   │   ├── services/        # API services (Supabase, etc.)
│   │   └── utils/           # Utility functions
│   ├── routes/
│   │   ├── (public)/        # Public routes (login, register)
│   │   ├── (protected)/     # Protected routes (dashboard, memos)
│   │   ├── +layout.svelte   # Root layout
│   │   └── +page.svelte     # Home page
│   ├── app.css              # Global styles (TailwindCSS)
│   └── app.html             # HTML shell
├── static/                  # Static assets
└── package.json

Deployment

  1. Push to GitHub
  2. Connect to Vercel
  3. Add environment variables
  4. Deploy

Netlify

  1. Push to GitHub
  2. Connect to Netlify
  3. Build command: npm run build
  4. Publish directory: build
  5. Add environment variables
  6. Deploy

License

Proprietary - All rights reserved