Rewardy is a social status application where users can post status and earn points for
their activities. Users can exchange their points to get amazing rewards. !
Follow the instructions below and your installation will be done with ease.
Server Requirement
Make Sure your server meet these requirements (Laravel 9). [ Recommend: Ubuntu VPS Server ]
PHP >= 8.1
BCMath PHP Extension
Ctype PHP Extension
cURL PHP Extension
DOM PHP Extension
Fileinfo PHP Extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL PHP Extension
PCRE PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
GD Library >=2.0 / Imagick PHP extension >= 6.5.7
FFMpeg and FFProbe binaries (For Video)
App Structure
client.zip = Main Frontend
api.zip = App Backend
admin.zip = Admin Panel
Domain Setup:
Default:
example.com = Frontend
api.example.com = API
admin.example.com = Admin Panel
Recommended:
example.com = Custom Landing Page
{app/my/panel/web}.example.com = Frontend
api.example.com = API
admin.example.com = Admin Panel
API
Login into your cpanel.
Create a new sub-domain api.example.com. The document root should point to
the
public folder of the project. [ex: "/home/example/api/public"]
Create a new database and remember the credentials. [ex: database= rewardy, user=
test, password= 1234]
Upload the api.zip file in the root directory of your API
(ex: "/home/example/api") and extract the file.
Go to your site url (ex: https://api.example.com) and follow the installation
wizard.
Installation Wizard :
The Installation Wizard will help you to do all the complicated things automatically.
Let's Start :
You'll need to know these things to proceed.
If you have these, then click Start Installation.
Step-1 :
It'll check all the required extensions and file permissions.
If Everything is okay, then you'll be able to Go To the Next Step.
Step-2 :
Domain : This domain will be registered with your purchase code. Once activated you
won't be able to use this purchase code from another domain. Contact us if you need to
change your domain.
Go to your site url (ex: https://admin.example.com) and check everything.
PWA Settings
SSL Certificate is required for PWA.
N.B: Browsers uses a huge cache for these icons. If you change these icons it won’t reflect
on the customer installed app. So before customers browsing your site replace those icons,
splash images.
Go to icons folder and change the images.
Open the manifest.json file in an editor and update the following infos:
"name": "Example Name"
"short_name": "ShortName"
"description": "Best Reward App Ever"
If you want to change the theme color then update these infos:
"theme_color": "Your Color"
"background_color": "Your Color"
Cron Job
You need to create a cron job to run commands to reset daily status post limit and reset
leaderboard points and send rewards to top users.
api_root_directory : "/home/example/api" or "/home/example/Public_html/api"
Full Command : "/usr/local/bin/php /home/example/api/artisan
schedule:run 1>> /dev/null 2>&1"
*Above commands are examples. Please use your own hosting PHP path and your api
domain root path. While running this command the terminal should use PHP >= 8.1. If your default
php version is different, then please use PHP 8.1 path (ex:
"/usr/local/bin/ea-php81")
Rewardy is pretty easy to use if you have any doubt you can follow below
instructions.
Settings:
Settings are dynamic, you can change them at any time.
General Settings :
App Name : App name that shows on header and title.
Logo : Logo on title and preloader.
Reward Type : Referral reward type.
Once : User will get reward only once when the referred user make first withdrawal.
Lifetime : User will get reward everytime the referred user make a withdrawal.
Reward Amount : How many points you want to give for referring a user.
FFMpeg : Settings for FFMPeg for video size compressing. You need FFMPeg installed in
your server to use this function.
Disable : If you don't have or don't want to use FFMpeg, you can turn it off. Video
size won't be converted and user needs to provide thumbnail image as mandatory.
Screenshot Only : You can use it for only generating auto thumbnails from video.
Screenshot + Convert : It will compress the video size and generate auto
thumbnails.
New User Reward : User will get this points when they first register.
Need Verification : If you turn it on, every user needs to verify their email. If off
then verification won't be required.
Manual Payment : You can turn On or Off the manual payment system.
Leaderboard : You can turn On or Off the leaderboard system.
1st Prize : Reward for the 1st place of the leaderboard.
2nd Prize : Reward for the 2nd place of the leaderboard.
3rd Prize : Reward for the 3rd place of the leaderboard.
Ads Type : What kind of ads user can create.
PPV + PPD : Both Pay Per View and Pay Per Day.
Pay Per View : Only Pay Per View, where pricing will be based on amount of view.
Pay Per Day : Only Pay Per Day, where pricing will be based on amount of day.
Feed Items : Advertisement will show after every X number of posts in the feed.
PPV Price : User need to pay that amount for every 1000 views he purchases.
PPD Price : User need to pay that amount for each day he wants to show ads.
PPV Min : Minimum amount of views user need to purchase.
PPV Max : Maximum amount of views that user can purchase.
PPD Min : Minimum amount of days user need to purchase.
PPD Max : Maximum amount of days that user can purchase.
Status Settings :
Mail Settings :
Payment Settings :
If the mail and payment setting don't get updated properly from settings then please manually set
them. Go to
your API root directory on your server and edit .env file and update or add
below fields.
MAIL_HOST={Your Value}
MAIL_PORT={Your Value}
MAIL_USERNAME={Your Value}
MAIL_PASSWORD={Your Value}
MAIL_ENCRYPTION={Your Value}
MAIL_FROM_ADDRESS={Your Value}
STRIPE_KEY={Your Value}
STRIPE_SECRET={Your Value}
STRIPE_CURRENCY={Your Value}
MOLLIE_KEY={Your Value}
MOLLIE_CURRENCY={Your Value}
Packages :
Manage paid membership packages and point system.
Title : Package Title.
Price : Package Price [Primary Currency] for 30 days.
Status Limit : Daily status post limit for this package users.
View Limit : Daily status view limit for this package users.
Like Limit : Daily status like limit for this package users.
Comment Limit : Daily status comments limit for this package users.
User Count : how many users using this package.
Action Buttons : There are two options.
Edit : Update package details and points.
Delete : Delete the package. If you delete any package all the users of that
package will be downgraded to free package.
Title : Package Title.
Description : A short description about the package.
Price : Package Price in Primary Currency for 30 days.
Status Limit : Daily status post limit for this package users.
View Limit : Daily status view limit for this package users. [0 for unlimited]
Like Limit : Daily status like limit for this package users. [0 for unlimited]
Comment Limit : Daily status comments limit for this package users. [0 for unlimited]
Spin Limit : Daily "Spin The Wheel" game limit for this package users. [0 for unlimited]
Toss Limit : Daily "Flip A Coin" game limit for this package users. [0 for unlimited]
Add : Points for uploading an image. User will get reward only if there
image gets approved.
Like : Points for liking an image. User will get reward only once from each
image.
Comment : Points for commenting an image. User will get reward only once
from each image on his first comment.
View : Points for viewing an image. User will get reward only once from
each image.
Author Like : Author Points for getting like on his image. Author of the
status will get reward when someone likes their image.
Author Comment : Author Points for getting comment on his image. Author of
the status will get reward when someone comments on their image.
Author View : Author Points for getting view on his image. Author of the
status will get reward when someone views their image.
*It has same patterned for Video and YouTube.
User :
You'll get all information about the user from the user details page.
Details : View or Edit user personal information.
Messages : View or Send user inbox message.
Following : List of users who's followed by this user.
Followers : List of users whose follow this user.
Status : List of approved status from this user.
Deposits : List of deposits from this user.
Withdrawal : List of withdrawal from this user.
Transactions : User all transactions history.
Transactions : List of users who was referred by this user.
Daily Limit Use : User today post count. Maximum - X = limit left. If any user reach
the maximum daily limit number, he won't be able to post anymore on that day.
Package : You can manually change user package.
Package End : You can manually change user package expiry/renew date.
Verification Badge : User will be verified and show a blue tick beside their name.
Posts from verified users will automatically get approved.
Auth Verified : You can mark user as email verified or not. If not and Need
verification option is on, then user need to verify their account before login the app.
Blocked : You can block any user. If you block any user then that user will instantly
get logged out from app and won't be login or use the app again until you unblock them.
Status :
List of all approved status. You can sort them by type/date. You can search by title or user.
Button 1 : View Status Details.
Button 2 : Edit Status.
Edit Status : Go to Status Edit Page.
Comments : List of all comments on this status. You can delete any comment.
Transactions : List of all transactions of this status.
Allow Comments : You can turn On or Off status comments.
Enabled : You can turn On or Off status comments visibility to everyone.
Thumbnail : You can change thumbnails of the status.
Status Review :
Multiple : You can select all items on the page and approve or delete them at once.
Button 1 : View or update details of the status.
Button 2 : Approve the status.
Button 3 : Delete the status. If you delete any status then the uploaded files will
also get deleted.
Slide :
Manage slides of the app.
Slide Type : There are 3 type of slides.
Status : When clicking on the slide user will be navigated to the status details
page.
Category : When clicking on the slide user will be navigated to the category status
page.
Custom : You can set any custom link. User will get navigated to that link. You can
set link as empty, and it'll behave like a banner.
Status Type : If you choose slide type as status then you'll be asked to select a
status. You can select by 2 methods.
Status Code: You can select a status by it's unique code.
Status List: You can select a status from the list of all status.
Title : Status Title.
Image : Image that will be displayed at the slide section.
Currency :
First currency is your site primary currency.
Name : Shortname of the Currency
Symbol : Currency symbol to show in front of amount
Rate : Currency rate against app points. 1 unit currency = X points.( ex: 1$ = 1000
points)
Withdrawal Methods :
You can add unlimited withdrawal methods. There are to type of method. Girt Card and Usual. For
the usual method, you can set a minimum amount, and user can withdraw any amount greater than
that
minimum amount. As for gift card, user needs to purchase that with fixed amount.
Gift Card : Is it a gift card or not. If yes then you'll have to create options
for this gift card. While creating option choose this method as parent.
Name : Name of the method
Slug : Url format unique name of the method.
Minimum Amount : Minimum amount to withdraw from this method. For gift card it's
the fixed price. While creating parent gift card leave this empty.
Logo : Logo for the method.
Withdrawals :
Withdrawal request from the users. You can click on username to view user details.
Button 1 : View Withdrawal Details.
Button 2 : Approve the request and change status to successful. Do this after sending
the money or gift.
Button 3 : Reject the request. If you reject the request, user will get refund of the
amount he paid for this request. While rejecting you'll have to give a reason for users to
see.
Deposit Methods :
Automatic and manual deposit method list.
You can turn them On or Off by editing them.
You can only add new manual method.
To add any new payment gateway, please contact us.
Name : Name of the method
Slug : Url format unique name of the method.
Minimum Amount : Minimum amount to deposit from this method.
Instructions : Instructions to follow while making the deposit.
Logo : Logo for the method.
Deposits :
Deposit request from the users. You can click on username to view user details.
Button 1 : View Deposit Details.
Button 2 : Approve the request and change status to successful. It'll add the amount
to the user's fund.
Button 3 : Reject the request. While rejecting you'll have to give a reason for users
to see.
Reports :
Reports against posts. You can click on username to view user details.
Button 1 : View Report Details.
Button 2 : View the reported status. You can take action manually after reviewing
that status.
Button 3 : You can send a message to both of the users regarding the report.
Button 4 : After reviewing and taking action, you can delete the report.
Advertisements :
Feed ad will be visible between posts and banner ad will be shown in the status details page. Ads
will be not visible to the creator of the ad. For PPV Ad, it'll automatically get marked as
complete after reaching the view count and for PPD Ad after days expire. You can click on
username to view user details.
Button 1 : View Report Details.
Button 2 : Approve the ad and change status to active.
Button 3 : Reject the ad. If you reject the request, user will get refund of the
amount he paid for this ad.
User Manual
Here you'll learn how the frontend works.
Upload :
You can turn off any of this these upload system.
Upload Image :
Daily Limit Left : For every status you post your limit will get decreased by 1. If
it's 0 you won't be able to post until tomorrow.
Image : Choose an image file for your image status.
Title : Write a suitable title for your image status. Minimum 6 characters required.
Description : Write a suitable description for your image status. Minimum 10
characters required.
Categories : Choose at least one or multiple categories related to your status.
Languages : Choose at least one or multiple languages related to your status.
Upload Video :
Choose Video : Choose a video file for your video status.
Thumbnail : If you choose "Screenshot Only" or "Screenshot + Covert" in the settings
then it will be optional. If they provide an image thumbnail will be generated from this
image, otherwise server will take a screenshot using FFMPeg and set it as thumbnail. If
FFMpeg is disabled then it will be required to provide an image.
Upload Youtube :
Youtube URL : Provide a valid youtube video URL.
Thumbnail : . If they provide an image thumbnail will be generated from this
image, otherwise server will use original YouTube thumbnail.
Status :
Like : Like the status. You can't undo like once it's done.
Favourite : Add status to you favorite collection.
Download : Download the media. You can't download the YouTube video.
Report : If you have any problem with the status then report it to the admin.
Menu :
My Profile : View your profile and statuses. You can also edit your profile from
here.
My Points : View your available balance and latest transactions. You can also view
your withdrawal history and create new request.
Inbox : You can view messages from server and admin from here. That badge is your new
unread message count.
Fund : View your available fund and deposit history. You can create a new deposit.
Advertisement : You can view your previous ads or create a new one.
Leaderboard : User can the leaderboard prize-pool and top users with their points and
see his own rank. It'll be hidden if you turn off leaderboard from settings.
Favourites : User can add status as favourite to make a collection here.
Invite Friends : User can invite their friends with their referral link and get
rewards.
Daily Limits : User can check their daily limits from here.
Support Tickets : User can create or view their supports. On the active ticket, they
can send up to 2 messages until getting a reply from admin panel.
Settings : They can manage their settings.
Logout : Log out from the app.
Wallet :
Here you'll learn about points and withdrawal.
Points and Transactions :
Withdrawal History : User can view all their previous withdrawal and their status.
Withdraw Balance : User can create a new withdrawal request.
Available Balance : It'll show their earned points and amount in their currency.
Lifetime : It'll show their lifetime earning amount in their currency.
1 $ : It'll show their currency value in points [currency rate].
Latest Transactions : It'll show their last 20 transactions from where and when they
earned points. If they click on the transaction, they will be navigated to the status
details page.
Withdrawal History :
Total Withdraw : It'll show their lifetime withdrawal amount in their currency.
Click on any transaction to see more details.
Withdrawal Method :
All the active withdrawal methods will be listed here.
Withdraw Amount :
Non gift card method will be shown like this.
Amount : User can enter the amount they want to withdraw. Amount must be greater or
equal to minimum amount.
Payment Info : User will provide information to send the amount to them (ex:
email/id).
Withdraw Gift Card :
Gift Card will be shown like this.
Gift Card Options : All the child of the parent gift card will be listed here. They
will get details after selecting one.
Price : Fixed price for this method.
Payment Info : User will provide information to send the gift card to them (ex:
email/id).
Packages :
Manage membership package.
End Date : Package renew / expire date.
Available Packages : All your packages will be listed here.
Package Action Button : There are 3 options.
Upgrade Package : If your current package price is less than selected package
then it'll show upgrade package.
Downgrade Package : If your current package price is higher than selected
package then it'll show downgrade package.
Extend Package : If your current package and selected package is same, and
it's not the free package then it'll show extend package. It'll extend current
package by 30 days.
Package Details : All the package benefits will be shown here.
Deposit :
All deposit will use the primary currency of the app. Here you'll learn about
deposits.
Fund Page :
Available Fund : It'll show their available fund and their value in points.
Advertisement : Navigate to advertisement page.
Recharge : Navigate to deposit page.
Deposit History : Click on any deposit to see more details.
Deposit :
Deposit Methods : Deposit methods will be listed here.
Amount : User can enter the amount they want to deposit. Amount must be greater or
equal to minimum amount.
Payment Action : There are 3 types of action.
Stripe : User need to provide their card info and payment will be completed
automatically on site and amount will be added to their fund.
Mollie : They'll be redirected to mollie website for payment and after successful
process they'll be redirect back to fund page and their fund will be added
automatically to their fund.
Manual : Request will be submitted to the admin. Admin will take action from the
admin panel.
Advertisement :
User can only create ad from their fund balance.
Ad Type : There are 2 types of ad.
Boost Status: You can any of your status.
Custom Ad: Create a custom ad.
Ad Location : There are 3 ad location available.
Feed: Your ad will be shown in feed between posts. [Boost Status ad only support
feed ad]
Banner: Banner ad will be shown in the status details page.
Feed + Banner: Feed image will be shown in feed and banner image will be shown on
status details page.
Feed Image : Image for the feed ad to show between posts. [Boost Status ad will use
status thumbnail]
Banner Image : Image for the banner ad to show in status details page.
App Theme : User can change the app theme from here. They can also change it from the
header options. If no theme is selected then it'll use dark theme as default.
Choose Languages : User can choose their preferred languages. Only status from
selected language will be visible to them. If none selected then it'll show from all
languages.
Currency : User can choose their currency. Withdraw balance will be shown in this
currency. It'll use app default currency if not selected.
Search :
Rewardy has a premium search feature.
Users : List of users who matches your search query.
Status : List of statuses that matches your search query.
Update Guide
Follow the instructions below to update your existing app to the latest version.
1.3 :
Unzip the update.zip file from the downloaded files.
API :
Delete the "vendor" folder from your API root directory.
Upload api.zip file on your root directory and unzip the file. It'll automatically update
and replace files to the latest version.
Admin Panel :
Go to your admin domain root folder and delete "assets" folder, "index.html"
and "config.js"
file.
Upload admin.zip file in your root directory and unzip the file.
It'll automatically update and replace files to the latest version.
Edit the "index.html" file and update the meta-tags. [Titles, Description etc.]
Edit the "config.js" file and update your API URL.
User Panel :
Go to your client domain root folder and delete "assets" folder, "index.html"
and "config.js"
file.
Upload the client.zip file in your root directory and unzip the file. It'll automatically
update
and replace files to the latest version.
Edit the "index.html" file and update the meta-tags. [Titles, Description etc.]
Edit the "config.js" file and update your API URL.
Database :
Go to your admin panel.
Navigate to settings, and you'll see a new update tab.
Click on the update button, and it'll update your database, and everything of the latest
version
will work fine.