Colabify is a lightweight SaaS platform that helps development teams stay informed about GitHub repository activity across multiple projects. The platform provides clean, project-scoped notifications delivered via email, eliminating the noise of GitHub's default notification system.
- Multi-project Management: Organize repositories into projects with team-based access control
- Smart Notifications: Receive clean, formatted email notifications for GitHub activity
- Flexible Delivery: Choose between instant notifications or daily digest emails
- Team Collaboration: Invite team members and manage project access
- GitHub Integration: Seamless OAuth integration with automatic webhook setup
- Frontend: Next.js 14 with App Router, TypeScript, Tailwind CSS
- Backend: Next.js API routes, Supabase for database and authentication
- Database: PostgreSQL via Supabase
- Authentication: Supabase Auth with GitHub OAuth
- Email: Resend for transactional emails
- Deployment: Vercel (frontend), Supabase (backend)
- Node.js 18+ and npm
- Supabase account and project
- GitHub OAuth app (for authentication)
- Resend account (for email delivery)
- Clone the repository and install dependencies:
npm install- Copy the environment variables template:
cp .env.example .env.local- Configure your environment variables in
.env.local:- Set up your Supabase project URL and keys
- Configure GitHub OAuth credentials
- Add your Resend API key
- Set NextAuth configuration
- Run database migrations to create tables:
npm run db:migrate- (Optional) Seed the database with sample data for development:
npm run db:seed- (Optional) Reset the database if needed:
npm run db:resetStart the development server:
npm run devOpen http://localhost:3000 in your browser.
Colabify/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ ├── lib/ # Utility libraries and configurations
│ └── types/ # TypeScript type definitions
├── database/
│ ├── schema.sql # Database schema
│ └── seed.sql # Development seed data
├── scripts/ # Database management scripts
└── public/ # Static assets
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY |
Supabase service role key (server-side) |
GITHUB_CLIENT_ID |
GitHub OAuth app client ID |
GITHUB_CLIENT_SECRET |
GitHub OAuth app client secret |
RESEND_API_KEY |
Resend API key for email delivery |
NEXTAUTH_URL |
Application URL (http://localhost:3000 for dev) |
NEXTAUTH_SECRET |
NextAuth secret for JWT signing |
The application uses PostgreSQL with the following main tables:
- users: User accounts and preferences
- projects: Project containers for repositories
- project_members: Team membership and invitations
- repositories: Connected GitHub repositories
- notifications: Activity events and messages
- email_deliveries: Email delivery tracking
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.