Skip to content

A modern developer collaboration platform built for remote teams. Collaro seamlessly integrates real-time communication, live streaming, and structured meetings to enhance team productivity.

License

Notifications You must be signed in to change notification settings

Coderx85/Collaro

Collaro Collaro Logo

Smart Workspaces

GitHub stars GitHub forks GitHub issues GitHub license

A modern developer collaboration platform built for remote teams. Collaro seamlessly integrates real-time communication, live streaming, and structured meetings to enhance team productivity.

πŸ’‘ Want to see how it's built? Check out my Technical Deep Dive where I share the challenges, solutions, and lessons learned building this platform with Next.js, Clerk, Stream, and PostgreSQL!

Problem Statement

Collaro provides Team Leads a workspace-centric template to manage teams within a single organisation: create isolated workspaces for Sales, Development, Management, or Accounting; assign roles and permissions per workspace; schedule and host meetings with recordings; and share resources selectively across one or multiple workspaces β€” all with simple RBAC controls to keep cross-team access safe and auditable.

Architecture (Mermaid)

Below is a high-level data-model diagram showing the main entities used by Collaro (Users, Workspaces, Memberships, Meetings, Participants, Recordings). This visualization maps directly to the database schema in packages/database/drizzle/schema.ts.

erDiagram
    USERS ||--o{ WORKSPACE_USERS : belongs_to
    WORKSPACES ||--o{ WORKSPACE_USERS : has
    WORKSPACES ||--o{ WORKSPACE_MEETINGS : hosts
    WORKSPACE_MEETINGS ||--o{ PARTICIPANTS : includes
    WORKSPACE_MEETINGS ||--o{ RECORDINGS : records
    USERS ||--o{ PARTICIPANTS : attends
    USERS ||--o{ RECORDINGS : creates

    USERS {
      uuid id
      string name
      string userName
      string clerkId
      string email
      enum role
    }
    WORKSPACES {
      uuid id
      string name
      string createdBy
    }
    WORKSPACE_USERS {
      string userName
      string workspaceName
      enum role
    }
    WORKSPACE_MEETINGS {
      uuid meetingId
      uuid workspaceId
      string hostedBy
      timestamp createdAt
      timestamp endAt
    }
    PARTICIPANTS {
      uuid id
      uuid meetingId
      uuid userId
      timestamp joinedAt
      timestamp leftAt
    }
    RECORDINGS {
      uuid id
      uuid meetingId
      string url
      string visibility
      timestamp createdAt
    }
Loading

Open Source Metrics & Guidelines

  • Primary metrics to track: contributors, active contributors (last 90 days), stargazers, forks, open issues, PRs merged per month, and community response time. Aim targets (example): 10 active contributors in 6 months, <48h average initial response time to issues/PRs.
  • Labels & triage: use good first issue, help wanted, roadmap, security, and bug. Tag newcomer-friendly issues to lower onboarding friction.
  • Maintainer SLA: triage new issues within 48 hours, respond to PRs within 72 hours where possible.
  • Contribution recognition: list active contributors in release notes and CONTRIBUTORS.md; highlight first-time contributors.
  • Sponsorship / Funding: add a FUNDING.yml and GitHub Sponsors link when ready; consider GitHub Sponsors, Open Collective, or donation links.

If you'd like, I can add a small metrics/ dashboard example or a badges snippet for the README.

✨ Key Features

  • Smart Workspaces: Create and join dedicated team spaces with role-based access control.

  • Real-time Communication: Engage in live discussions with integrated video and audio calls.

  • Live Streaming: Stream your coding sessions or presentations directly to your team.

πŸ› οΈ Tech Stack

Frontend Core

React 19 Next.js 15 TypeScript 5

UI & Design

Tailwind CSS 4 Radix UI Lucide React

State & Forms

Zustand React Hook Form Zod

Communication

Stream Video SDK

Security

Clerk

Database

PostgreSQL Drizzle ORM

DevOps & Tools

ESLint 9 Prettier Husky Docker

🏁 Getting Started

Prerequisites

  • Node.js 18+
  • Docker (optional)
  • Git

Quick Start πŸš€

  1. Clone & Install
git clone https://github.com/Coderx85/Collaro.git
cd Collaro
npm install
  1. Environment Setup πŸ”

  2. Copy the example environment file:

cp .env.example .env.local
  1. Update the following variables in .env.local:
  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Your Clerk public key
  • CLERK_SECRET_KEY: Your Clerk secret key
  • STREAM_API_KEY: Your Stream API key
  • STREAM_API_SECRET: Your Stream secret key
  • DATABASE_URL: Your PostgreSQL connection string
  • RESEND_API_KEY: Your Resend API key

Note: Never commit .env or .env.local files to the repository

  1. Development
npm run dev     # Start with Turbopack
# or
docker compose up --build   # Start with Docker

Visit http://localhost:3000

About

A modern developer collaboration platform built for remote teams. Collaro seamlessly integrates real-time communication, live streaming, and structured meetings to enhance team productivity.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •