ResCharity is a secure, blockchain-based charity donation platform built with Next.js and powered by ResVault from ResilientDB. The platform provides transparent and traceable donation tracking while ensuring secure transactions.
Create a .env file in the root directory of the project and add the following environment variables:
MONGODB_URI=Your MongoDB connection string
EMAIL_USER=Your email
EMAIL_PASS=Your 16-digit Google Apps password
PORT=3001npm install
npm install chart.js react-chartjs-2
npm run build
npm startnode src/api/sync.jsOnce the setup is complete, open a browser and navigate to:
- Next.js 12.3.4
- React 17.0.2
- React Bootstrap
- Chart.js
- React Chartjs-2
- Node.js
- Express
- MongoDB
- Nodemailer
- Multer
- CORS protection
- File upload restrictions
- Email authentication
- Environment variable protection
- Blockchain transaction verification
- POST
/send-email- Handles form submissions with file attachments
- Supports multiple file uploads
- Sends automated email notifications
- Performs cleanup of temporary files
- Maximum file size: 10MB
- Maximum files per request: 10
- Supported formats:
- Images: JPEG, PNG, GIF, WebP
- Documents: PDF, DOC, DOCX
- Text: Plain text
- Ensure the
.envfile contains valid credentials for both MongoDB and email settings. - The provided
MONGODB_URIis a placeholder. Replace it with your actual MongoDB cluster connection string. - For Google email credentials, generate a 16-digit app-specific password via your Google account.
Feel free to report issues or contribute to this project by submitting a pull request or opening an issue.