A modern, secure donation platform built with the MERN stack, enabling seamless charitable contributions through integrated Razorpay payment gateway.
Donate-Ease is a full-stack web application designed to facilitate online donations with a user-friendly interface and secure payment processing. The platform connects donors with charitable causes, making it easy to contribute to meaningful initiatives.
- π Home Page - Welcome interface with platform overview
- π° Donation System - Secure donation processing with multiple amount options
- π Contact Page - Easy communication channel for users
- π³ Razorpay Integration - Secure payment gateway for seamless transactions
- π± Responsive Design - Optimized for desktop and mobile devices
- π Secure Transactions - End-to-end encrypted payment processing
- β‘ Fast Loading - Optimized performance for better user experience
- React.js - User interface library
- HTML5 & CSS3 - Structure and styling
- JavaScript (ES6+) - Programming language
- Responsive Design - Mobile-first approach
- Node.js - Runtime environment
- Express.js - Web application framework
- RESTful APIs - Clean API architecture
- MongoDB - NoSQL database for data storage
- Mongoose - MongoDB object modeling
- Razorpay API - Secure payment processing
- Webhook Integration - Real-time payment status updates
- Vercel - Frontend deployment
- MongoDB Atlas - Cloud database hosting
Before running this project, make sure you have the following installed:
- Node.js (v14 or higher)
- npm or yarn
- MongoDB (local or Atlas)
- Razorpay account for payment integration
-
Clone the repository
git clone https://github.com/MohdOves/Donate-Ease.git cd Donate-Ease -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install -
Environment Configuration
Create a
.envfile in the backend directory:# Database MONGODB_URI=your_mongodb_connection_string # Razorpay Configuration RAZORPAY_KEY_ID=your_razorpay_key_id RAZORPAY_KEY_SECRET=your_razorpay_key_secret # Server Configuration PORT=5000 NODE_ENV=development # Frontend URL (for CORS) FRONTEND_URL=http://localhost:3000
Create a
.envfile in the frontend directory:REACT_APP_API_URL=http://localhost:5000/api REACT_APP_RAZORPAY_KEY_ID=your_razorpay_key_id
-
Start the development servers
Backend server:
cd backend npm run devFrontend server (in a new terminal):
cd frontend npm start -
Access the application
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5000
- Frontend:
Donate-Ease/
βββ frontend/
β βββ public/
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ services/
β β βββ utils/
β β βββ App.js
β βββ package.json
βββ backend/
β βββ controllers/
β βββ models/
β βββ routes/
β βββ middleware/
β βββ config/
β βββ server.js
βββ README.md
POST /api/donations/create- Create new donationPOST /api/donations/verify- Verify paymentGET /api/donations- Get donation history
POST /api/contact- Submit contact form
The application uses Razorpay for secure payment processing:
- Payment Creation - Generate payment orders
- Payment Processing - Handle user payments
- Payment Verification - Verify transaction authenticity
- Webhook Handling - Process payment status updates
- Credit/Debit Cards
- Net Banking
- UPI
- Digital Wallets
- EMI Options
- Connect your GitHub repository to Vercel
- Configure environment variables
- Deploy automatically on push to main branch
- Choose your preferred hosting platform (Heroku, Railway, etc.)
- Configure environment variables
- Set up MongoDB Atlas connection
- Deploy the backend API
We welcome contributions to Donate-Ease! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Mohd Owes
- GitHub: @MohdOves
- LinkedIn: Connect with me
- Razorpay for payment gateway services
- Vercel for hosting platform
- MongoDB Atlas for database hosting
- Open source community for amazing tools and libraries
If you have any questions or need help, please feel free to:
- Open an issue on GitHub
- Contact through the website's contact form
- Email: your-email@example.com
β If you found this project helpful, please consider giving it a star! β