Skip to content

Latest commit

Β 

History

History
107 lines (86 loc) Β· 3.24 KB

File metadata and controls

107 lines (86 loc) Β· 3.24 KB

CollabNote

CollabNote is a next-generation collaborative workspace that fuses real-time document editing with advanced cognitive tools like Thinking Canvases, Decision Logs, and Knowledge Maps. It is designed to help teams think, plan, and create together in one seamless environment.

CollabNote Dashboard

πŸš€ Features

  • πŸ“ Real-time Collaboration: Edit documents together instantly using Yjs and WebSockets.
  • 🧠 Thinking Canvas: A spatial canvas for brainstorming, diagramming, and organizing thoughts.
  • βš–οΈ Decision Log: Track architectural decisions, votes, and rationale (ADRs).
  • πŸ•ΈοΈ Knowledge Map: Visualize connections between your documents and ideas.
  • πŸŽ“ Study & Review Modes: Dedicated modes for focused reading and active recall.
  • πŸ“Š Analytics: Insightful metrics on collaboration and document activity.
  • 🎨 Glassmorphism UI: A premium, modern user interface with a sleek monochrome aesthetic.

πŸ› οΈ Tech Stack

Frontend

  • Framework: React 19 + Vite
  • Styling: TailwindCSS (Custom Monochrome Theme)
  • Collaboration: Yjs, y-websocket
  • Visualization: React Flow, React Force Graph 2d
  • Icons: Lucide React

Backend

  • Runtime: Node.js
  • Framework: Express
  • Real-time: WebSocket (ws)
  • Database: Supabase (PostgreSQL)

πŸ“¦ Installation & Setup

Prerequisites

  • Node.js (v18+)
  • npm or yarn
  • A Supabase project

1. Clone the Repository

git clone https://github.com/yourusername/collabnote.git
cd collabnote

2. Backend Setup

Navigate to the server directory and install dependencies:

cd server
npm install

Create a .env file in the server directory:

PORT=3000
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_service_role_key
DB_PASSWORD=your_db_password

Start the backend server:

npm run dev

3. Frontend Setup

Open a new terminal, navigate to the root directory, and install dependencies:

cd ..
npm install

Create a .env.local file in the root directory:

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_KEY=your_supabase_anon_key
VITE_WEBSOCKET_URL=ws://localhost:3000

Start the frontend development server:

npm run dev

πŸ“‚ Project Structure

collabnote/
β”œβ”€β”€ components/       # React components (Sidebar, Editor, Dashboard, etc.)
β”œβ”€β”€ contexts/         # React Contexts (Dialog, Auth)
β”œβ”€β”€ hooks/            # Custom Hooks (useAuth, useDocuments)
β”œβ”€β”€ server/           # Backend Node.js server
β”‚   β”œβ”€β”€ migrations/   # SQL migrations for Supabase
β”‚   └── src/          # Backend source code
β”œβ”€β”€ services/         # API services (documentService, profileService)
β”œβ”€β”€ index.html        # Entry point
└── index.css         # Global styles & Tailwind config

🎨 Design System

CollabNote follows a strict Monochrome Glassmorphism design system:

  • Colors: Strictly grayscale (Slate/Zinc) with high contrast.
  • Typography: 'Outfit' for headings, 'Inter' for body, 'JetBrains Mono' for code.
  • Effects: Extensive use of backdrop-blur and semi-transparent backgrounds.

Built with ❀️ for the future of work.