SkillSwap is a full-stack peer-to-peer learning platform that helps users exchange skills with one another. Users can create profiles, showcase the skills they can teach, list the skills they want to learn, explore other members, and send exchange requests to start collaborative learning.
The platform is designed to make learning more accessible, community-driven, and practical by connecting people who have complementary knowledge.
Many people want to learn new skills but face barriers such as expensive courses, limited access to mentors, or lack of a supportive learning network. At the same time, many individuals already have valuable knowledge they are willing to share. Despite this, there is no simple and community-focused platform that helps people connect and exchange skills effectively.
SkillSwap solves this problem by providing a platform where users can teach what they know and learn what they need through direct skill exchange. Instead of relying only on paid learning resources, users can connect with others who offer complementary skills, build mutually beneficial relationships, and grow together through knowledge sharing.
- 🔐 User authentication with signup and login
- 👤 User profile management
- 🛍️ Skills marketplace to explore available skills
- 🤝 Skill exchange request system
- 📊 Personalized dashboard for user activity
- 🔎 Search functionality for discovering skills and users
- 🧭 Filtering and sorting for better exploration
- 📄 Pagination for scalable data browsing
- 🛠️ Full CRUD operations for skills
- 🌗 Light and dark theme support
- 📱 Fully responsive design for desktop, tablet, and mobile
| Layer | Technologies |
|---|---|
| Frontend | React.js, Tailwind CSS, React Router, Context API |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| Page | Description |
|---|---|
| Home | Landing page with platform introduction and key actions |
| Signup | User registration page |
| Login | User authentication page |
| Dashboard | Overview of user activity, requests, and skills |
| Profile | User details, teachable skills, and learning interests |
| Skills Marketplace | Browse, search, filter, and explore listed skills |
| Requests Management | View, accept, reject, and track exchange requests |
- A new user signs up and creates an account.
- The user updates their profile with skills they can teach and skills they want to learn.
- Other users search the marketplace using filters, sorting, and search.
- A user sends a skill exchange request to another user with complementary skills.
- The recipient reviews the request and accepts or rejects it.
- Once accepted, both users can connect and begin the knowledge exchange.
- Users manage their ongoing activity through the dashboard and requests pages.
git clone https://github.com/<your-username>/skillswap.git
cd skillswapIf your project uses separate frontend and backend folders, install dependencies in both:
cd frontend
npm installcd ../backend
npm installCreate a .env file in the backend directory and add the required variables:
PORT=5000
MONGODB_URI=your_mongodb_connection_stringStart the backend server:
cd backend
npm run devStart the frontend development server:
cd frontend
npm run devVisit:
http://localhost:5173- 💬 Real-time chat between matched users
- ⭐ Ratings and reviews for skill exchange sessions
- 📅 Session scheduling and calendar integration
- 🔔 Notification system for requests and updates
- 🧠 AI-based skill recommendations
- 🌍 Location-based or language-based matching
- 📹 Video call integration for remote learning sessions
Patel Jivan