A modern freelance marketplace connecting clients with skilled freelancers — secure job postings, real-time chat, reporting, and seamless project management.
A single-stop platform for clients and freelancers to find, manage, and deliver projects with confidence.
Table of Contents
- About
- Features
- Tech Stack
- Project Structure
- Quick Start
- Scripts
- Chrome Extension
- Theme (Dark/Light)
- Roadmap
- Contributing
- Security
- License
- Acknowledgments
SkillConnect is a modern, full-stack freelance marketplace designed to connect clients with freelancers worldwide. It focuses on security, performance, and a great developer experience.
Language composition: TypeScript (99.2%), Other (0.8%).
- Secure authentication with role-based access control (Client / Freelancer) and Clerk integration.
- Job management: post jobs, apply, manage proposals, track progress.
- Real-time communication: WebSocket-based chat with history and search.
- Reporting & dispute workflow for safety and trust.
- Analytics dashboard and calendar integration.
- Chrome extension for quick access.
- Persistent light/dark theme support.
- Frontend: Next.js 15, TypeScript, TailwindCSS
- Backend: Next.js App Router (API routes / edge functions)
- Database: MongoDB (Mongoose)
- Auth: Clerk (NextAuth.js reference)
- Real-time: WebSockets / Socket.io
- Runtime / Package Manager: Bun
skillconnect/
├── src/
│ ├── app/ # Next.js App Router (pages & api)
│ │ ├── api/ # API endpoints (auth, jobs, users, chat)
│ │ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── jobs/ # Job listings and details
│ │ ├── profile/ # User profiles
│ │ └── chat/ # Chat interface
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utilities (db, auth, utils)
│ ├── models/ # MongoDB schemas
│ ├── types/ # TypeScript types
│ └── styles/ # Global styles
├── public/ # Static assets
├── package.json # Dependencies & scripts
├── tailwind.config.ts # Tailwind config
├── next.config.ts # Next.js config
└── tsconfig.json # TypeScript config
Prerequisites
- Bun v1.0+ (https://bun.sh/docs/installation)
- Node.js v18+ (for compatibility)
- MongoDB Atlas or local MongoDB
Installation
- Clone the repository
git clone https://github.com/Rudrxxx/SkillConnect.git
cd SkillConnect
2. Install dependencies
```bash
bun install- Create environment file
Create a .env.local in the project root with the values below (replace placeholders):
# Database
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/SkillConnect
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_******************************
CLERK_SECRET_KEY=sk_test_*****************************
CLERK_WEBHOOK_SECRET=whsec_***************- Start development server
bun devbun dev # Start development server with hot reload
bun build # Create production build
bun start # Start production serverA lightweight Chrome extension is included for one-click access to the app.
To test:
- Open Chrome → Extensions → Enable Developer Mode → Load Unpacked → Select the extension folder
- Click the SkillConnect icon → Open SkillConnect
- Tailwind is configured with
darkMode: 'class'. - ThemeProvider manages
light,dark, andsystemmodes. - Preference stored in
localStorageunderSkillConnect-theme.
- Phase 1: Core marketplace features (done)
- Phase 2: Multi-language support, Advanced Analytics
- Phase 3: AI-powered matching, API marketplace
- Phase 4: Enterprise & white-label features
We welcome contributions! Please follow the standard Git workflow:
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature - Make changes & add tests
- Run tests:
bun test - Commit & open a PR
Please follow code style, add tests, and update docs.
MIT — see LICENSE file.
Thanks to Next.js, MongoDB, Tailwind CSS, and Bun.
Made with ❤️ by Rudransh Gupta