A modern web platform that connects people worldwide to exchange skills and knowledge. Share what you know, learn what you love, and grow together in a vibrant community of learners and experts.
- Nileemoy Pathak
- Partha Pratim Kashyap
- Shayan Chakroborty
- Ratush Pandit
- Skill Exchange: Request and offer skill swaps with other users
- User Profiles: Showcase your skills and what you want to learn
- Real-time Messaging: Communicate with other users through built-in chat
- Request Management: Track incoming and outgoing swap requests
- Admin Panel: Comprehensive admin dashboard for platform management
- Google Authentication: Secure login with Google OAuth
- Responsive Design: Beautiful UI that works on all devices
- Rating System: Rate and review completed skill exchanges
- Frontend: Next.js 15, React 18, TypeScript
- Styling: Tailwind CSS, Radix UI Components
- Authentication: NextAuth.js with Google OAuth
- Database: MongoDB
- AI Integration: Google AI (Genkit)
- Deployment: Vercel-ready
- UI Components: Custom design system with shadcn/ui
- Node.js 18+
- MongoDB database
- Google OAuth credentials
-
Clone the repository
git clone https://github.com/Parthakashyap/Skill-Swap.git cd Skill-Swap -
Install dependencies
npm install
-
Set up environment variables Create a
.envfile in the root directory:MONGODB_URI=your_mongodb_connection_string NEXTAUTH_SECRET=your_nextauth_secret GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret NEXTAUTH_URL=http://localhost:9002 NEXTAUTH_SECRET=your_super_secret_value_for_nextauth MONGODB_DB_NAME=your_db_name
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:9002
- Home (
/): Discover users and search for skills - Profile (
/profile): Manage your profile and skills - Requests (
/requests): Handle swap requests - Messages (
/messages): Chat with other users - Admin (
/admin): Admin dashboard (admin users only)
src/
├── app/ # Next.js app router pages
│ ├── admin/ # Admin panel
│ ├── api/ # API routes
│ ├── login/ # Authentication
│ ├── messages/ # Messaging system
│ ├── profile/ # User profiles
│ └── requests/ # Swap requests
├── components/ # Reusable UI components
├── lib/ # Utilities and configurations
├── hooks/ # Custom React hooks
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run typecheck- Run TypeScript checks
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
SkillSwap - Building bridges between knowledge and curiosity. Join our community of learners and experts sharing skills worldwide.