A peer-to-peer skill exchange platform where users can offer what they know and learn what they don't — all without spending money. Earn skill credits by mentoring others and use them to get help with design, coding, languages, career advice, or anything you're curious about.
- 1-on-1 & Group Sessions: Learn or teach in personalized sessions tailored to your needs
- Time-based Skill Credits: Earn credits by sharing your skills and use them to learn new ones
- Real-Time Chat & Booking: Connect instantly and schedule sessions with ease
- Explore Diverse Skill Profiles: Discover a wide range of skills from a global community
- Verified Feedback System: Build trust with transparent reviews and ratings
- User Authentication: Secure login and registration system
- Profile Management: Create and manage your skill profile
- Real-time Messaging: Instant chat with other users
- Session Booking: Schedule and manage learning sessions
- Rating System: Rate and get rated by other users
- History Tracking: Keep track of your learning and teaching sessions
- React 19 - Modern React with latest features
- Vite - Fast build tool and development server
- React Router DOM - Client-side routing
- Framer Motion - Smooth animations and transitions
- GSAP - Advanced animations
- Axios - HTTP client for API calls
- Socket.io Client - Real-time communication
- js-cookie - Cookie management
- Node.js - JavaScript runtime
- Express.js - Web application framework
- Socket.io - Real-time bidirectional communication
- MySQL - Database management
- bcrypt - Password hashing
- CORS - Cross-origin resource sharing
- Cookie Parser - Cookie parsing middleware
- Google GenAI - AI-powered assistance features
skillswapper/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── assets/ # Static assets
│ │ └── App.jsx # Main application component
│ ├── public/ # Public assets
│ └── package.json # Frontend dependencies
├── backend/ # Node.js backend server
│ ├── routes/ # API route handlers
│ ├── uploads/ # File upload directory
│ ├── server.js # Main server file
│ ├── db.js # Database configuration
│ └── package.json # Backend dependencies
└── README.md # Project documentation
- Node.js (v16 or higher)
- MySQL database
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/pranjal29092005/Skill-Swap-Platform.git cd Skill-Swap-Platform -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install -
Database Setup
- Create a MySQL database
- Update database configuration in
backend/db.js - Run database migrations (if any)
-
Environment Configuration
- Create
.envfiles for both frontend and backend if needed - Configure API endpoints and database connections
- Create
-
Start the backend server
cd backend npm startThe backend will run on
http://localhost:3000 -
Start the frontend development server
cd frontend npm run devThe frontend will run on
http://localhost:5173 -
Open your browser Navigate to
http://localhost:5173to access the application
- Sign Up/Login: Create an account or log in to your existing account
- Browse Skills: Explore available skills and mentors
- Book Sessions: Schedule learning sessions with mentors
- Earn Credits: Share your own skills to earn credits
- Rate & Review: Provide feedback after sessions
- Create Profile: Set up your skill profile with expertise areas
- Set Availability: Define when you're available for sessions
- Accept Requests: Review and accept session requests
- Conduct Sessions: Use the real-time chat for teaching
- Earn Credits: Get paid in skill credits for your time
POST /api/users/sign- User registration/loginGET /api/users/profile- Get user profilePUT /api/users/profile- Update user profile
POST /api/chat/send- Send a messageGET /api/chat/history- Get chat historyPOST /api/chat/request- Request a chat session
POST /api/update-rating- Rate another userGET /api/users/ratings- Get user ratings
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
- Pranjal - Full Stack Developer
- Aditya - Frontend Developer
If you have any questions or need support, please open an issue on GitHub or contact the development team.
- Video calling integration
- Mobile app development
- Advanced search and filtering
- Payment integration for premium features
- AI-powered skill matching
- Multi-language support
- Advanced analytics dashboard
Made with ❤️ by the Skill Swap Team