Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillShare — Developer Collaboration Platform (Backend)

SkillShare is a collaborative platform where developers can sign up, post their skills, and join or create projects based on matching expertise. This repository includes the backend built with Node.js, Express.js, and MongoDB.

🚀 Features

  • User Authentication: JWT-based login/signup with email & password.
  • Role-based Access: Support for User and Admin roles.
  • User Profiles: Bio, profile picture URL, skills list, and social links (GitHub, LinkedIn).
  • Project Listings: Create and manage projects with title, description, required skills, and status (open/closed).
  • Matching System: Fetch projects based on a user's skills.
  • Collaboration Requests: Request to join projects and accept/reject members.
  • Admin Panel (optional): Monitor users, ban/report abuse (to be implemented).

🛠 Tech Stack

  • Backend: Node.js, Express.js
  • Database: MongoDB (Mongoose ODM)
  • Authentication: JWT (JSON Web Tokens)

📦 Installation

git clone https://github.com/your-username/skillshare-backend.git
cd skillshare-backend
npm install

⚙️ Setup

Create a .env file in the root with the following variables:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

📡 Run the Server

npm run dev

📁 Project Structure

.
├── controllers/
├── models/
├── routes/
├── middlewares/
├── utils/
├── config/
├── server.js

📌 API Endpoints

  • POST /api/v1/auth/register — Register a new user
  • POST /api/v1/auth/login — Login user
  • GET /api/v1/projects — Get all projects
  • POST /api/v1/projects — Create a new project
  • POST /api/v1/need/:projectId/join — Request to join a project
  • POST /api/v1/request/my-requests — View all join requests by the current user
  • GET /api/v1/users/me — Get current user profile

📎 Future Enhancements

  • Admin panel UI & moderation tools
  • Email notifications
  • Search and filter by tech stack
  • Real-time chat/collaboration features

🧑‍💻 Author

Developed by Hrishabh Gupta — Connect with me on GitHub

About

SkillShare — A Developer Collaboration Platform(Backend)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages