Skip to content

pranjal29092005/Skill-Swap-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skill Swap Platform 🚀

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.

🌟 Features

Core Functionality

  • 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 Experience

  • 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

🛠️ Tech Stack

Frontend

  • 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

Backend

  • 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

AI Integration

  • Google GenAI - AI-powered assistance features

📁 Project Structure

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

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • MySQL database
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/pranjal29092005/Skill-Swap-Platform.git
    cd Skill-Swap-Platform
  2. Install backend dependencies

    cd backend
    npm install
  3. Install frontend dependencies

    cd ../frontend
    npm install
  4. Database Setup

    • Create a MySQL database
    • Update database configuration in backend/db.js
    • Run database migrations (if any)
  5. Environment Configuration

    • Create .env files for both frontend and backend if needed
    • Configure API endpoints and database connections

Running the Application

  1. Start the backend server

    cd backend
    npm start

    The backend will run on http://localhost:3000

  2. Start the frontend development server

    cd frontend
    npm run dev

    The frontend will run on http://localhost:5173

  3. Open your browser Navigate to http://localhost:5173 to access the application

📱 Usage

For Learners

  1. Sign Up/Login: Create an account or log in to your existing account
  2. Browse Skills: Explore available skills and mentors
  3. Book Sessions: Schedule learning sessions with mentors
  4. Earn Credits: Share your own skills to earn credits
  5. Rate & Review: Provide feedback after sessions

For Mentors

  1. Create Profile: Set up your skill profile with expertise areas
  2. Set Availability: Define when you're available for sessions
  3. Accept Requests: Review and accept session requests
  4. Conduct Sessions: Use the real-time chat for teaching
  5. Earn Credits: Get paid in skill credits for your time

🔧 API Endpoints

Authentication

  • POST /api/users/sign - User registration/login
  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile

Chat & Messaging

  • POST /api/chat/send - Send a message
  • GET /api/chat/history - Get chat history
  • POST /api/chat/request - Request a chat session

Ratings & Reviews

  • POST /api/update-rating - Rate another user
  • GET /api/users/ratings - Get user ratings

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the ISC License - see the LICENSE file for details.

👥 Team

  • Pranjal - Full Stack Developer
  • Aditya - Frontend Developer

📞 Support

If you have any questions or need support, please open an issue on GitHub or contact the development team.

🔮 Future Enhancements

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •