diff --git a/README.md b/README.md index 7bdd59a..c51b1f3 100644 --- a/README.md +++ b/README.md @@ -1,124 +1,32 @@ -# Root Organization Platform +# Root -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) +Team collaboration platform. ## Quick Start -### 1. Install dependencies - ```bash +# Install 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 +# Set up environment cp .env.example .env -``` +# Fill in your Supabase credentials in .env -```env -PUBLIC_SUPABASE_URL=https://your-project.supabase.co -PUBLIC_SUPABASE_ANON_KEY=your-anon-key -``` +# Run migrations in Supabase Dashboard > SQL Editor +# Copy & run each file in supabase/migrations/ in order (001, 002, 003...) -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 +# Start dev server npm run dev ``` -Visit http://localhost:5173 +Open http://localhost:5173 ## Docker -### Production - ```bash +# Production docker-compose up app -``` -### Development (with hot reload) - -```bash +# Development 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.