Documentation

Fundme Crowdfunding Platform

Created: 05, October 2016 by Miguel Vasquez

Last update 23, November 2024

Fundme Crowdfunding Platform It is a script for fundraising for various causes, the administrator can add volunteers who can create unlimited campaigns, this script is finished create a community where different people to help those in need either your community or different places.

Features:

  • Built with Laravel 11
  • Implemented GDPR
  • reCAPTCHA
  • Rewards
  • Facebook Login
  • Bootstrap 5
  • Font Awesome 5
  • Send mail to Organizer
  • Members can create unlimited campaigns
  • Updates campaigns
  • Option Delete Account
  • Members can change their name, email and password
  • Members manage their campaigns and see donations
  • Upload Avatar
  • Change password
  • Integration with PayPal
  • Integration with Stripe (SCA implemented)
  • Bank Transfer (Manual)
  • XSS: Protection from cross site scripting
  • Secure Bcrypt password hashing
  • SMTP Support
  • Share social
  • Multiple currencies
  • Easy translation
  • Ajax pagination in Campaigns, Donations and Updates
  • Admin Features:
  • Template AdminLTE
  • Change the site name
  • Change the site title welcome
  • Statistics
  • Set keywords for the site. (SEO)
  • Add a description (SEO)
  • Create/Edit pages e.g.: Help, Privacy, etc.
  • Payments Settings.
  • See Donations
  • Set up social accounts
  • Manage members.
  • Add / Edit members.
  • Manage campaigns.
  • Add / Edit Campaigns.

Requirements:

  • PHP >= 8.2
  • MySQL 5.7 or Mariadb 10.3.17
  • Ctype PHP Extension
  • cURL PHP Extension
  • DOM PHP Extension
  • Fileinfo PHP Extension
  • Filter PHP Extension
  • Hash PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PCRE PHP Extension
  • PDO PHP Extension
  • Session PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • GD or Imagick
  • EXIF
  • allow_url_fopen (PHP.INI) is ON

Setting MySQL

  • 1.) Create a database
  • 2.) Create a user for database
  • 3.) Import the Database
  • Log into your phpMyAdmin and import the fundme.sql file located in the folder Mysql

Uploading Files

  • Upload all files inside the folder "Script" to the "public_html" or "www" folder on your server. You can compress the files or use FTP.

Installation

  • After you have uploaded all files, go to https://yousite.com/installer/script
  • This screen will appear, all the boxes must be green to proceed with the installation.
  • Next, you can put the credentials of your database, your App name, URL and an email.
  • If all goes well, a success notice will appear with the Admin credentials, remember to change immediately, click Go to Panel Admin.
  • Mail Set Up
  • Open the file .env located in root folder, with any text editor, e.g: NOTEPAD
  • MAIL_MAILER=sendmail
    MAIL_HOST=smtp.mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
    MAIL_FROM_ADDRESS=no-reply@miguelvasquez.com
  • You can choose between sendmail and smtp
  • reCAPTCHA
  • Open the file .env located in the root folder, with any text editor, e.g: NOTEPAD
  • NOCAPTCHA_SITEKEY=YOU_KEY
    NOCAPTCHA_SECRET=YOU_SCRETKEY
  • Get your API keys here https://www.google.com/recaptcha/admin/create
  • Set Timezone
  • Open the file .env located in the root folder, with any text editor, e.g: NOTEPAD
  • TIMEZONE=UTC
  • List of Supported Timezones http://php.net/manual/en/timezones.php

Social Login

  • Open the file .env located in the root folder, with any text editor, e.g: NOTEPAD
  • FACEBOOK_CLIENT_ID=
    FACEBOOK_CLIENT_SECRET=
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=

Customize

  • Language files
  • To change the script language go to: lang / en / Edit the text strings of all the files in are in that folder.
  • /*
    |--------------------------------------------------------------------------
    | Admin Language Lines
    |--------------------------------------------------------------------------
    |
    */
    
    'admin'      => 'Panel Admin',
    'role_admin' => 'Admin',
    'dashboard'  => 'Dashboard',
  • Edit text string Sliders, open the file lang / en / slider.php
  • 'slider_1_title' => 'Little help, for big cause!',
    'slider_1_subtitle' => 'Cras justo odio, dapibus ac facilisis in, egestas eget quam.',
    
    'slider_2_title' => 'Help people near your',
    'slider_2_subtitle' => 'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id.',
    
    'slider_3_title' => 'Educating the future',
    'slider_3_subtitle' => 'With a small contribution you can help educate hundreds of children.',
  • Edit images Sliders, go to https://yoursite.com/panel/admin/theme

How to add a new language

  • Duplicate the folder lang / en
  • Rename to your language for example es
  • Translate the strings
  • Duplicate the file public/ js / jqueryTimeago_en.js and rename ie: public/ js / jqueryTimeago_es.js
  • Translate the strings the new file
  • Go panel admin https://yourwebsite.com/panel/admin/languages/create and add you new lenguage
  • Translate Categories

  • Create a file called categories.php in the folder of the language to be translated, for example lang / es
  • <?php
    
    return array(
    
    	/*
    	|--------------------------------------------------------------------------
    	| Categories Language Lines
    	|--------------------------------------------------------------------------
    	|
    	*/
    	"Animals" => "Animales",
    	"Business" => "Negocios",
    	"Charity" => "Caridad",
    );
  • The key identifier will be the Slug / URL of the category
  • Translate Pages

  • Just create a page by selecting the new language, remember that you must put the same Slug / URL

  • Make sure these folders have 755 permissions

  • public / avatar
  • public / temp
  • public / campaigns
  • public / campaigns / large
  • public / campaigns / small
  • public / campaigns / updates
  • public / avatar
  • public / img-category

  • Sources and Credits

    • Laravel - http://laravel.com/
    • jQuery - http://jquery.com/
    • Bootstrap - http://getbootstrap.com/
    • Font Awesome - http://fortawesome.github.io/Font-Awesome/
    • jquery Form // malsup.com/jquery/form/
    • jqueryTimeago.js // http://timeago.yarp.com/
    • Readmore - http://jedfoster.com/Readmore.js/
    • Images - unsplash - http://unsplash.com/ -- splitshire http://www.splitshire.com/
    • Avatars - http://uifaces.com/
    • Fonts - https://www.google.com/fonts
    • http://www.tinymce.com/
    • https://ckeditor.com/
    • http://morrisjs.github.io/morris.js/

    Any problem or doubt send me an email to support@miguelvasquez.net
    Do not forget to visit miguelvasquez.net


    Thank you for purchasing my script 😉