# Root Organization Platform Team collaboration platform with Documents, Kanban, and Calendar - no messaging. ## Tech Stack - **Frontend**: SvelteKit 2 + Svelte 5 + TailwindCSS 4 - **Backend**: Supabase (PostgreSQL + Auth + Realtime) - **Deployment**: Docker + adapter-node ## Features - 📁 **Documents** - Folders and rich text documents with collaborative editing - 📋 **Kanban** - Visual task boards with drag-drop and real-time sync - 📅 **Calendar** - Team scheduling with events and attendees - 👥 **Teams** - Organizations, members, roles (Owner/Admin/Editor/Viewer) ## Quick Start ### 1. Install dependencies ```bash npm install ``` ### 2. Set up Supabase 1. Create a project at [supabase.com](https://supabase.com) 2. Copy `.env.example` to `.env` and fill in your credentials: ```bash cp .env.example .env ``` ```env PUBLIC_SUPABASE_URL=https://your-project.supabase.co PUBLIC_SUPABASE_ANON_KEY=your-anon-key ``` 3. Run the database migration in Supabase SQL editor: - Open `supabase/migrations/001_initial_schema.sql` - Execute in your Supabase dashboard ### 3. Run development server ```bash npm run dev ``` Visit http://localhost:5173 ## Docker ### Production ```bash docker-compose up app ``` ### Development (with hot reload) ```bash docker-compose up dev ``` ## Routes | Route | Description | |-------|-------------| | `/` | Organization list (home) | | `/login` | Auth (login/signup) | | `/style` | UI component showcase | | `/health` | Health check endpoint | | `/[orgSlug]` | Organization overview | | `/[orgSlug]/documents` | Documents with rich text editor | | `/[orgSlug]/kanban` | Kanban boards | | `/[orgSlug]/calendar` | Calendar events | ## Project Structure ``` src/ ├── lib/ │ ├── api/ # Supabase API functions │ │ ├── organizations.ts │ │ ├── documents.ts │ │ ├── kanban.ts │ │ └── calendar.ts │ ├── components/ │ │ ├── ui/ # Reusable UI components │ │ ├── documents/ # FileTree, Editor │ │ ├── kanban/ # KanbanBoard │ │ └── calendar/ # Calendar │ ├── stores/ # Svelte 5 state stores │ └── supabase/ # Supabase client & types ├── routes/ │ ├── login/ # Auth pages │ ├── style/ # Component showcase │ ├── health/ # Health endpoint │ ├── auth/callback/ # OAuth callback │ ├── auth/logout/ # Sign out │ └── [orgSlug]/ # Organization routes │ ├── documents/ │ ├── kanban/ │ └── calendar/ └── hooks.server.ts # Auth middleware ``` ## UI Components All components available in `$lib/components/ui`: - `Button` - Primary, Secondary, Ghost, Danger, Success variants - `Input` - Text input with label, error, hint - `Textarea` - Multi-line input - `Select` - Dropdown select - `Avatar` - User avatars with status - `Badge` - Status badges - `Card` - Content containers - `Modal` - Dialog windows - `Spinner` - Loading indicators - `Toggle` - On/off switches Visit `/style` to see all components.