A GitHub-integrated async code review platform for developer teams🌟
DevCollab replaces the chaos of managing code reviews over WhatsApp or Slack. Developers submit a PR link, assign a teammate as reviewer, and track the entire review lifecycle in one place.
- Submit any GitHub PR for review
- Assign reviewers by GitHub username
- Real-time notifications via WebSockets when status changes
- Status tracking: Pending → In Review → Approved / Changes Requested
- Team metrics dashboard showing reviewer load and turnaround time
Frontend: React, TypeScript, WebSockets
Backend: Node.js, Express, Passport.js, JWT
Database: PostgreSQL
APIs: GitHub OAuth, GitHub REST API
DevOps: Docker, Vercel (frontend), Render (backend)
┌─────────────────┐ ┌──────────────────┐ ┌─────────────┐ │ React Client │────▶│ Express Server │────▶│ PostgreSQL │ │ (Vercel) │◀────│ (Render) │ │ (Render) │ │ │ WS │ │ │ │ └─────────────────┘ └──────────────────┘ └─────────────┘ │ ▼ ┌──────────────┐ │ GitHub API │ │ OAuth + PRs │ └──────────────┘
- Node.js 18+
- PostgreSQL
- GitHub OAuth App
git clone https://github.com/Jerusha547/devcollab.git
cd devcollabcd server
npm install
cp .env.example .env
# Fill in your values in .env
npm run devcd client
npm install
npm startpsql -U postgres -d devcollab -f schema.sqlPORT=5000
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
SESSION_SECRET=your_session_secret
JWT_SECRET=your_jwt_secret
SERVER_URL=http://localhost:5000
CLIENT_URL=http://localhost:3000
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432
DB_NAME=devcollabREACT_APP_API_URL=http://localhost:5000
REACT_APP_WS_URL=ws://localhost:5000WebSocket connection is established on login. When a PR status changes, the submitter receives an instant notification without refreshing the page.
- Login with GitHub OAuth
- PR titles are automatically fetched from GitHub API
- Links directly to the original PR on GitHub
- Total PRs per reviewer
- Completion rate with visual progress bars
- Average review turnaround time
- Status breakdown across the team
- Create a team and get a unique invite code
- Share invite code with teammates to join
- PRs and metrics are scoped to your team only
- Only see your team's review activity
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.