DevHub is a full-stack web application that connects developers, allowing them to create profiles, discover other developers, and connect with them.
- User registration and authentication with JWT
- Profile creation with name, email, GitHub URL, and optional profile image
- Developer discovery and search functionality
- Responsive design for all devices
- Node.js
- Express.js
- JSON Web Tokens (JWT) for authentication
- File upload with Multer
- JSON file-based data storage
- React
- React Router for navigation
- Context API for state management
- Axios for API requests
- CSS for styling
devhub/
├── client/ # React frontend
│ ├── public/ # Static files
│ └── src/ # React source code
│ ├── components/ # Reusable components
│ ├── context/ # React context for state management
│ ├── pages/ # Page components
│ └── utils/ # Utility functions
└── server/ # Node.js backend
├── data/ # JSON data storage
└── uploads/ # User uploaded files
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd devhub -
Install server dependencies
cd server npm install -
Install client dependencies
cd ../client npm install
-
Start the server
cd server npm run dev -
Start the client (in a new terminal)
cd client npm start -
Open your browser and navigate to
http://localhost:3000
POST /api/users/register- Register a new userPOST /api/users/login- Login and get JWT token
GET /api/users- Get all usersGET /api/users/me- Get current userGET /api/users/:id- Get user by IDGET /api/users/search- Search users by name