MERN Stack (MongoDB, Express.js, React.js, Node.js) Sample
A MERN Stack Prototype for Empowering Fundraising
Description
The Giving Network is a web application prototype built with the MERN stack (MongoDB, Express.js, React.js, Node.js) and Redis that streamlines the fundraising process for individuals and organizations. It empowers them to create engaging fundraising campaigns, foster real-time communication with donors, and securely process donations via Stripe.
Key Features
- Fund Raising Campaigns: Create compelling fundraising campaigns with clear descriptions, goals, and progress tracking.
- Real-time Campaign Page Group Messenger (WIP): Enhance donor engagement with a built-in group messaging system on each campaign page fostering a sense of community and excitement.
- Donation Payment Processing with Stripe: Accept secure donations using Stripe's payment gateway, ensuring a smooth and trustworthy giving experience.
- User System (WIP): Manage user profiles and roles, providing a secure platform for donors and campaign creators.
- TypeScript: Enforce type safety for a more robust and maintainable codebase.
- Redis Message Queues: Implement asynchronous message delivery for scalability and enhanced performance.
Project Status
This project is currently in its prototype phase (WIP) but showcases the core functionalities of campaign creation, donation processing, and planned features like user management and real-time communication. Development is ongoing with a focus on refining the features and user experience.
Getting Started
- Clone the repository:
git clone https://github.com/evan-sctg/MERN.git
- Install dependencies:
npm install
- Configure environment variables for database connection and Stripe integration (refer to the
.env.example
file for guidance). - Start the server:
npm start
Technology Stack
- Frontend: React.js
- Backend: Express.js, Node.js
- Database: MongoDB
- Message Queues: Redis
- Payment Processing: Stripe
- Type Safety: TypeScript
Credits
- We acknowledge the valuable resources and libraries used in building this project.
Roadmap
- Continued development of core functionalities
- Implementation of real-time chat functionality (WIP)
- User interface enhancements
- User system integration (WIP)
- Additional features (e.g., transaction history, analytics, campaign management tools)
- Thorough testing and refinement