# Guide
The goal of CrowdFunding is Online Fund raising platform that allows you to create campaigns.
# Technologies Used
This system uses multiple technologies to give the best possible experience.
- PHP 8.0 with Laravel Framework
- MySQL 5.7+
- jQuery
- Ajax
- Boostrap
- Turbo
# Installation Guide
We tried our best to make the installation of the system as easy as possible. System Requirements It is assumed that you have primary knowledge Laravel installation knowledge since this application is built on Laravel.
# System Requirement
It is assumed that you have primary knowledge Laravel and JS application installation knowledge since this application is built on Laravel with JS.
You can read about laravel Requirements here (opens new window)
You need update below variables in php.ini file if you want to send bigger files (Optional).
upload_max_filesize = 50M
max_file_uploads = 50
post_max_size = 100M
# Setup CrowdFunding System
If you have purchased the CrowdFunding system then you will be able to find the zip named dist.zip.
If you want to setup CrowdFunding into your local environment then you can take help
from here.
Now if you want to setup CrowdFunding on your server then you can directly copy the dist.zip folder to your web root directory on server and the following steps:
# 1. Copy files to web server
Upload dist.zip to your web server's root (public_html) and extract it there. If you are installing it on subdomain then do extract it in your subdomain's root folder.
# 2. Setup Default DB
- Open PHPMyAdmin on your server and do a login.

- Click on the Databases tab.

- Create a new database and specify a Database name of your choice and Click Create button.

- Now on the left, select the database that you have created and click Import in the top menu

- Under Import, choose the database SQL file from dist/database/infy_funding.sql from the extracted file from your local and click the Go button.

# 3. Setup environment .env file
- Open .env file from your server's root folder.

- Update your .env file
You need to change the following information into your environment (.env) file.
Make sure your app name wrapped between Quotes ("APP NAME").
- APP_NAME - Name of your Application/Library System
- APP_URL - Change this URL with your server URL (including trailing path if you are putting it in sub folder or root website)
- DB_HOST - Put your database hostname here
- DB_PORT - Put your database port here if it does not default to 3306
- DB_DATABASE - Change it to your database name
- DB_USERNAME - Name of your database user
- DB_PASSWORD - Password of your database user
You will also need to set up mail configuration and update the following variables. You can use the below video for the reference on how to setup email configuration for cPanel servers.
- MAIL_DRIVER
- MAIL_HOST
- MAIL_PORT
- MAIL_USERNAME
- MAIL_PASSWORD
- MAIL_ENCRYPTION
- MAIL_FROM_ADDRESS
- MAIL_FROM_NAME
If you want to store your files to direct your s3 bucket then you have to use following
.env variables.
You need to change FILESYSTEM_DRIVER and MEDIA_DISK value to
s3 when you are using AWS file storage.
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- AWS_DEFAULT_REGION=us-east-1
- AWS_BUCKET=
- AWS_ENDPOINT=
- AWS_URL=
Or you can use your choice of storage driver to store your media assets if you want. All of your attachments will be placed into that.
Set Stripe configuration in Settings, you can set it from the admin settings. Here are some links by using it you will get an idea about how to generate stripe API keys.
- You can find steps here 1 (opens new window) or here 2 (opens new window) to Stripe configuration.
Set PayPal configuration in Settings, you can set it form the admin settings. Here are some links by using it you will get an idea about how to generate PayPal API keys.
- You can find steps here 1 (opens new window) or here 2 to PayPal configuration.
# 4. Admin login
You can do admin login by accessing given URL.
YOUR_APP_URL/login
Admin's Login
Admin email: admin@infyfund.com
Admin password: 123456
Users' Login
User email: user@infyfund.com
User password: 123456
And you are ready to go.
# Setup CrowdFunding into Local Environment
You can setup CrowdFunding into your local by using both zip files, but we recommend to use dist file so you have to perform minimal steps.
Here are some steps to setup CrowdFunding into your local environment :
# 1. Install xampp/wamp (if you don't have it).
# 2. Create folder CrowdFunding
- if you are using wamp then create CrowdFunding folder under you_path_to_wamp/www/
- if you are using xamp then create CrowdFunding folder under you_path_to_xamp/htdocs/
# 3. Unzip dist zip to CrowdFunding folder
# 4. Point the domain to the uploaded folder
You need to create virtual host first to setup CrowdFunding. You can find steps here to create virtual host.
- You can find steps
here (opens new window)
to create virtual host on
XAMPP. - You can find steps
here (opens new window)
to create virtual host on
WAMP.
Point your domain or subdomain to the CrowdFunding folder.
Please note that, CrowdFunding must be installed on a primary domain or subdomain. Installing on a sub-folder will not work, for example:
example.com/CrowdFunding (Invalid)
localhost/CrowdFunding (Invalid) if you are putting it in sub folder or root website)
example.com (Valid)
local.CrowdFunding.com (Valid)
CrowdFunding.test (Valid)
Open the link to the domain in the browser (Example: https://local.CrowdFunding.com).
# Key Features and Concepts
Here are some Key Features and Concepts that CrowdFunding provides.
# Landing page
It comes up with a beautiful landing page, which helps people to get information about the Campaigns, Events, News and etc. People can donate funds for campaigns from the landing page. They also can submit queries via the contact us form. Users can register for upcoming events from the landing page.
# Admin Panel
We have created a beautiful and user attractive admin panel to manage the contents for landing page. Admin can manage all the campaigns / events / news and also able to create new user account with assigned roles/permissions. Admin can change the system settings from the admin panel, like admin can change the landing page theme, change contact information, social account details, etc.
# Dashboard
Dashboard is more important thing in each application, as you can get quick information from there. Admin can see the total campaigns, total donations, the total number of donors, total users, etc. Here Admin can get information about Monthly Donation & Withdraw Report.
# Campaigns
You can see lists of all campaigns that you have added to your system. Admin can manage all campaigns in the system. He can create / update / delete campaigns.
You can see the raised funds into campaign details also see the withdrawal funds from that specific campaign.
User can mark the campaign as Completed once his funds collected.
# Campaign Categories
Each campaign will have specific category, so users can easily search the campaign that he's looking for.
You can create separate categories as per your need and assign it to campaigns.
# Withdraw Requests
Once the campaign completed and fund raised, users are going to withdrawal their funds to their account.
We have two methods for withdrawal, 1 : Paypal payouts, 2 : Bank Payouts.
Please note that for bank payouts users needs to provide all the bank related details and then admin is going to process the manually payouts, its not supporting automatic bank transfers, it's a manual process.
Admin can see the all the withdrawal requests and approve / deny it.
# Events
Events will be listed to the landing page and participants can join it specific event by registering them self.
Admin can define the lists of seal for the events and regarding that participants can join, if the seal is not available participant can not join the event.
You can manage all events and events registration. You can see list of all registrations. Admin can create a new events. Also he can update or delete this events.
# Event Categories
Event Categories every event can be categorised into a different category based on its purpose. so it can be easy to find the right events.
# News
This is the important module for your regular users.
Users can get the latest updates or latest news from here, admin will add the latest news of the system here by adding title, image and the long description.
# News Categories
News Categories every news can be categorised into a different category based on its purpose.
# News Tags
Every news will have some tags, that will help users to search the news easily.
That will also help in the SEO too.
# Users
Admin can add new users for specific roles wise by using this module. Admin can directly verify any user from here. Also, he can change users' status.
# Role & Permission
We are supporting the roles and permission features. so, You can create different kinds of roles as per your need. you can create a role by selecting different permissions whatever you want to select for the given role.
# Pages
You can manage the page from here, and you can add pages for front content.
# Inquiries
The website's contact us form submission is converted to an inquiry which portal admin can see in the admin panel and respond them.
# Languages
By using this module you can add a new language. Also, you can change the word text from here.
# CMS Menu
Here you can manage all front contents including single header text. Yeah, it's all configurable, so you can add/edit any text of the landing page by using this.
In CMS Menu we are providing three different home page themes. You can change the home page theme change from the settings.
# Success Stories
This module allows you to add success stories. which you have achieved.
# FAQs
Manage your website FAQs in this module to answer users’ frequently asked questions.
# Settings
Settings will include some other set of modules.
- General Setting
- Contact Information
- Social Settings
- Homepage
- Credentials
# User Panel
# Dashboard
Users can see their own total campaigns, total donations, the total number of donors, etc.
Here Users can get information about their own Monthly Donations & Withdraw reports.
#Campaigns
Admin / Users can create different kind of campaign with different categories for raising the funds.
Admin will get commission on each fund transfer, he can set this amount or percentage in system setting.
Users can see lists of their own campaigns that you have added to in the system.
Users can manage their own campaigns in the system. He can create / update / delete own campaigns.
# Withdraw Request
Users can raise the withdrawal request per campaign, once the withdrawal request raised for the specific campaign, that campaign will be no longer visible to the landing page and user can not change his status to active until the withdrawal request action will be taken
Users can send withdrawal requests to the admin. Users can obtain information about how many requests are sent, how many requests are approved, etc.