DevLink is a modern web platform that connects developers with projects and collaborators, functioning like a "Tinder for Developers." It enables efficient discovery and collaboration between developers and project owners.
- Instant Messaging: Real-time chat between matched users using Pusher
- Live Notifications: Instant notifications for applications, matches, and updates
- WebSocket Support: Powered by Pusher for reliable, scalable real-time communication
- Swipe Interface: Tinder-like discovery for projects and developers
- Mutual Matching: Connect when both parties show interest
- Skill-based Matching: Algorithm considers skills, experience, and project needs
- GitHub Integration: Automatic profile population from GitHub
- Skills Management: Comprehensive skill listing and verification
- Portfolio Showcase: Display projects, contributions, and achievements
- Project Creation: Detailed project posting with role requirements
- Application System: Handle developer applications efficiently
- Collaboration Tools: Manage team members and project progress
- Node.js 18+
- MongoDB database
- Pusher account (free tier available)
- Clone the repository
git clone <repository-url>
cd devlink- Install dependencies
npm install- Set up environment variables
Create a
.env.localfile with:
# Database
MONGODB_URI=your_mongodb_connection_string
# Authentication
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Pusher (for real-time features)
PUSHER_APP_ID=your_pusher_app_id
PUSHER_KEY=your_pusher_key
PUSHER_SECRET=your_pusher_secret
PUSHER_CLUSTER=your_pusher_cluster
NEXT_PUBLIC_PUSHER_KEY=your_pusher_key
NEXT_PUBLIC_PUSHER_CLUSTER=your_pusher_cluster- Run the development server
npm run devOpen http://localhost:3000 to see the application.
- Real-time Setup Guide - Complete guide to setting up Pusher for real-time features
- Project Description - Detailed project overview and feature specifications
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, Radix UI
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js with GitHub OAuth
- Real-time: Pusher Channels
- Deployment: Vercel-ready
This application is optimized for Vercel deployment:
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
The real-time features work seamlessly on Vercel with no additional configuration needed.
- Open the application in two browser windows
- Log in as different users
- Create a match between the users
- Test instant messaging and notifications
Use the test script in scripts/test-pusher.js to verify Pusher connection.
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── (pages)/ # Application pages
│ └── globals.css # Global styles
├── components/ # React components
│ ├── ui/ # UI components
│ ├── matches/ # Match-related components
│ └── projects/ # Project-related components
├── lib/ # Utility libraries
├── models/ # Database models
├── types/ # TypeScript definitions
└── hooks/ # Custom React hooks
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if needed
- Submit a pull request
This project is licensed under the MIT License.