The Donation Management API is a backend application that seamlessly integrates with Stripe, enabling secure donation processing, management, and tracking of donations made to your organization. It provides functionality to store donation details in a Google Sheet and send confirmation emails to donors using Nodemailer.
Before running the API, ensure you have the following dependencies installed:
- Node.js
- Stripe Account
- Google Sheets API credentials (client email and private key)
- Nodemailer configured with an email service provider (e.g., Gmail)
- Clone this repository:
git clone https://github.com/wubeZ/donation-api.git
- Configure environment variables by creating a
.env
file and adding necessary values (see.env.example
for reference). - Run the docker-compose.yaml:
docker-compose up -d
- You can also use make to run the docker-compose.yaml:
make run
- You can see more inside Makefile.
- You can also use make to run the docker-compose.yaml:
- Install dependencies:
npm install
- Configure environment variables by creating a
.env
file and adding necessary values (see.env.example
for reference). - Start the server:
npm start
- Seamlessly integrate with Stripe for secure donation processing.
- Create a new donation and store the details in a Google Sheet.
- Send confirmation emails to donors using Nodemailer.
We welcome contributions to the Donation Management API! To contribute, please follow these steps:
- Fork the repository and create a new branch for your feature or bug fix.
- Make your changes in the branch, following the coding guidelines and best practices.
- Write tests to ensure your code is functioning correctly.
- Commit your changes and push them to your forked repository.
- Submit a pull request to the main repository, providing a clear description of the changes you made.
Please ensure that your code adheres to the existing coding style and conventions used in the project. Additionally, include any relevant documentation or updates to the README as part of your pull request.
This project is licensed under the MIT License.