This project serves as the backend server for an NGO Website built with React, handling various functionalities such as payment integration, form submission processing, logging, and security features. The server is built using Node.js and interacts with multiple services to ensure a secure and efficient experience for users.
- Visit Dakshi Foundation - 'An Innovation for Change'.
This server is integrated with Razorpay to handle secure payments. Users can make donations or payments through the Razorpay gateway. The server verifies each transaction, providing security and reliability in payment processing.
The server processes custom form submissions and records data to a Google Sheet using the Google Sheets API. User data is collected through a form on the website, then submitted to the server. Using a Google Service Account, the server securely populates this data in the designated Google Sheet, ensuring data integrity and organization.
All payment transactions, including successful and failed attempts, are securely stored in a MongoDB database. The server records details such as transaction ID, payment amount, user details, timestamp, and status. This allows users to track their payment history, while administrators can review transactions, analyze trends, and manage refunds efficiently.
To prevent abuse and ensure optimal server performance, rate limiting is implemented. This restricts the number of requests a user can make to the server within a specified timeframe, providing protection against DoS attacks and maintaining server reliability.
- Node.js (v14.x or later)
- Razorpay API keys
- Google Service Account with access to the Google Sheets API
- Mongoose Database
- Clone the repository:
git clone https://github.com/dakshifoundation/DFIC-MAIN.git
- Install dependencies:
cd DFIC-MAIN npm install cd FrontEnd npm install npm run build cd ..
- Start the application:
node app.js
- Front-End Developer : Ayush Khale | 📧 ayushhkhale@gmail.com | 🐙 GitHub
- Back-End Developer : Abhishek Ganeshe | 📧 abhishekganeshe33@gmail.com | 🐙 GitHub