Skip to content

A platform connecting volunteers with NGOs based on skills and availability. Features include task discovery, progress tracking, certification management, and campaign monitoring. Built with Node.js, Express, and MongoDB, with AI integration in Flask for smart recommendations.

Notifications You must be signed in to change notification settings

Yashparmar1125/ImpactLink

Repository files navigation

ImpactLink

ImpactLink is a collaborative platform designed to connect NGOs, volunteers, and social impact projects. It includes a backend API and a frontend application to manage campaigns, volunteers, and certificates, among other features.

Table of Contents


Getting Started

Follow these instructions to set up the project on your local machine for development and testing purposes.

Prerequisites

Make sure you have the following installed on your machine:

  • Node.js (v14 or above)
  • npm (Node Package Manager)
  • Git

Clone the repository:

git clone https://github.com/Yashparmar1125/ImpactLink.git
cd ImpactLink

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Configure environment variables:
    • Create a .env file in the backend folder.
    • Add the necessary environment variables as described in the .env.example file.
  4. Start the server:
    npm start

The backend will run on http://localhost:5000 by default.


Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Configure secrets:
    • Place the client_secret_*.json file in the frontend folder (this will be provided by the admin).
  4. Start the development server:
    npm run dev

The frontend will run on http://localhost:5173 by default.


Environment Variables

The project uses environment variables to configure sensitive data. Ensure you have the following variables in your .env files:

Backend (backend/.env)

DATABASE_URL=<your_database_url>
JWT_SECRET=<your_jwt_secret>
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>

Contributing

We welcome contributions from the community! Follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add feature description"
  4. Push to your branch:
    git push origin feature-name
  5. Create a pull request on GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A platform connecting volunteers with NGOs based on skills and availability. Features include task discovery, progress tracking, certification management, and campaign monitoring. Built with Node.js, Express, and MongoDB, with AI integration in Flask for smart recommendations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •