https://github.com/hossahin/helpinghub-project-server
HelpingHub Server is a Node.js backend providing RESTful APIs for managing volunteer posts, user details, and authentication. Using Express, MongoDB, and Firebase Admin SDK, it enables secure CRUD operations to support a volunteer management platform.
https://github.com/hossahin/helpinghub-project-server
api backend cors crud dotenv express javascript mongodb nodejs rest-api volunteer-management
Last synced: about 2 months ago
JSON representation
HelpingHub Server is a Node.js backend providing RESTful APIs for managing volunteer posts, user details, and authentication. Using Express, MongoDB, and Firebase Admin SDK, it enables secure CRUD operations to support a volunteer management platform.
- Host: GitHub
- URL: https://github.com/hossahin/helpinghub-project-server
- Owner: Hossahin
- Created: 2025-06-25T05:20:22.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-25T11:20:33.000Z (12 months ago)
- Last Synced: 2025-06-25T12:27:21.094Z (12 months ago)
- Topics: api, backend, cors, crud, dotenv, express, javascript, mongodb, nodejs, rest-api, volunteer-management
- Language: JavaScript
- Homepage: https://server-side-taupe-mu.vercel.app/
- Size: 35.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HelpingHub Server
## Overview
This backend server supports HelpingHub, a volunteer management platform. It provides RESTful APIs for managing volunteer posts, user details, and authentication, enabling full CRUD operations with secure access.
## Tech Stack
- Node.js with Express
- MongoDB
- Firebase Admin SDK
- CORS
- dotenv
## API Endpoints
### Volunteer Posts
- `GET /AllVolunteerNeedposts`
Retrieve all volunteer need posts.
- `GET /AllVolunteerNeedposts/Search`
Search volunteer posts by query.
- `GET /AllVolunteerNeedposts/volunteerneedpostdetailspage/:id`
Get details of a volunteer post by ID.
- `GET /AddVolunteerNeedPost/featuresdete`
Get featured data related to volunteer posts.
- `GET /ManageMyPosts/:email`
Get all posts created by a user (by email).
- `POST /AddVolunteerNeedPost`
Create a new volunteer need post.
- `PUT /Myvolunteerneedposts/:id`
Full update of a volunteer post by ID.
- `PATCH /AllVolunteerNeedposts/:id`
Partial update of a volunteer post by ID.
- `DELETE /Myvolunteerneedpost/:id`
Delete a volunteer post by ID.
### Volunteer User Details
- `GET /VolunteerDetails/:email`
Get volunteer details by user email.
- `POST /VolunteerDetails`
Add volunteer details.
- `DELETE /VolunteerDetails/:id`
Delete volunteer detail by ID.
### Authentication
- `POST /signup`
Register a new user.
### 🛠️ Local Setup Guide
Follow these steps to run the project locally:
---
### 1️⃣ **Clone the Repository**
```bash
https://github.com/Hossahin/HelpingHub-Project-Server.git
```
---
### 2️⃣ **Navigate to the Project Directory**
```bash
cd HelpingHub-Project-Server
```
---
### 3️⃣ **Install Dependencies**
```bash
npm install
```
---
### 4️⃣ **Set Up Environment Variables**
> Create a `.env` file in the root directory and add the following:
```env
DB_USER=your_database_username
DB_PASS=your_database_password
FIREBASE_SERVICE_KEY=your_firebase_key //base64
```
---
### 5️⃣ **Start the server with:**
```bash
nodemon index.js
```
---
### 6️⃣ **Open the App in Browser**
Visit the local server:
> 🌐 [http://localhost:3000](http://localhost:3000)