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!
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.
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
}
- 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, andbug. 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.ymland 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.
-
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.
- Node.js 18+
- Docker (optional)
- Git
- Clone & Install
git clone https://github.com/Coderx85/Collaro.git
cd Collaro
npm install-
Environment Setup π
-
Copy the example environment file:
cp .env.example .env.local- Update the following variables in
.env.local:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Your Clerk public keyCLERK_SECRET_KEY: Your Clerk secret keySTREAM_API_KEY: Your Stream API keySTREAM_API_SECRET: Your Stream secret keyDATABASE_URL: Your PostgreSQL connection stringRESEND_API_KEY: Your Resend API key
Note: Never commit
.envor.env.localfiles to the repository
- Development
npm run dev # Start with Turbopack
# or
docker compose up --build # Start with DockerVisit http://localhost:3000
