Skip to content

A crowdfunding platform for creating and supporting fundraising campaigns, built with MERN + Java

License

Notifications You must be signed in to change notification settings

denniszwang/GoFundMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Go Fund Me Clone

A Full-Stack Crowdfunding Project
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Features
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

This project is a GoFundMe-inspired platform that enables users to support and initiate fundraising campaigns through a seamless front and backend service. Whether creating organizations, setting up contributor profiles, or making donations, users can easily navigate our web interface or use a Java-based terminal application for a more hands-on approach. Designed to be accessible and versatile, our platform empowers individuals and organizations to make a meaningful impact, one donation at a time.

(back to top)

Built With

MongoDB Express.js React.js NodeJS Java

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Node.js
  • MongoDB

Installation

  1. Download Project Code Begin by cloning the repository to get the project code on your local machine.

    git clone https://github.com/denniszwang/GoFundMe.git
  2. Install and Configure Node Express App

  • **Install Node.js: Make sure Node.js is installed on your system.
  • **Install Node Packages: Navigate to the project directory and install the required npm packages. Run this command with administrator privileges.
      npm install npm@latest -g
  1. Install MongoDB Follow the official MongoDB documentation to install MongoDB on your system.

(back to top)

Usage

To effectively use the application from both the frontend and backend, follow these steps:

  1. Start the Admin App
  • Navigate to the admin directory within the project.
  • Start the admin application by running:
    node admin.js
  1. Start the RESTful API Server
  • Within the same admin directory, start the API server by executing:
    node api.js
  1. Set Up Organization App
  • Ensure you have Java installed on your system.
  • Locate the UserInterface class in the project.
  • Run the UserInterface class, passing the login ID and password you created for an organization via the Admin app as runtime arguments to the main method.

(back to top)

Features

The application's capabilities are organized into the following main categories, each with specific features:

Organization Management

  • Create Organization: Set up new organization profiles.
  • Edit Organization: Modify existing organization information.
  • Delete Organization: Remove an organization from the platform.
  • View Organization Details: Look up detailed information about organizations.

Contributor and Donations

  • Create Contributor: Add new contributors to the platform.
  • Edit Contributor: Change details for existing contributors.
  • Delete Contributor: Erase a contributor's information from the system.
  • View Contributor: See detailed information about contributors.
  • Donate Money: Enable contributors to make donations.
  • Display Donations: Show all donations for a specific fund or organization.
  • Aggregate Donations by Contributor: Compile donation amounts by each contributor.

Security and User Management

  • Login/Logout: Manage user sessions securely.
  • Password Encryption: Protect user passwords with encryption.
  • New User Registration: Register a new account on the platform.
  • Change Password: Allow users to update their passwords.
  • Edit Fund: Permit the edition of funds from the system.
  • Delete Fund: Permit the deletion of funds from the system.

For more detailed feature information, please refer to the Documentation.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Dennis Wang - LinkedIn - [email protected]

Tiffany Gao -

Qianyue Ding -

(back to top)

Acknowledgments

  • Part of the project is based on the CIS 573 excellent course taught by Chris Murphy at University of Pennsylvania.

(back to top)

About

A crowdfunding platform for creating and supporting fundraising campaigns, built with MERN + Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published