Documentation

Introduction

Table of Contents
Welcome to LotteryBox

LotteryBox is a powerful and complete Lottery and Raffle Management System built using the latest technologies like Laravel 12 and PHP 8.x series. It is fully compatible with PHP 8.2, 8.3, and 8.4, ensuring smooth performance across multiple environments. Designed to streamline the management of Powerball lotteries, raffle draws, and ticket sales, it offers a rich set of modern and advanced features, making lottery operations easier and more efficient.

  • Manual & Auto-Draw options for flexible lottery operations
  • Multi-Language Support for global accessibility
  • Multiple Payment Gateways to ensure seamless transactions
  • Centralized Admin Panel for efficient management

Whether you're running a small lottery or a large-scale raffle platform, LotteryBox provides all the essential tools you need to streamline your     operations and maximize success.

When you purchase LotteryBox from CodeCanyon, you're not just buying a script—you’re investing in a complete lottery and raffle management solution designed to streamline your operations and maximize revenue. You'll receive the full source code built with Laravel 12 and ensuring a secure, scalable, and developer-friendly foundation. Plus, enjoy lifetime free updates and 6 months of free support, giving you the confidence to launch and grow your lottery business with ease.

LotteryBox Awesome Features:

  • Modern Dashboard with Real-time Statistics
  • One-time and Multiple-time Lotteries
  • Advanced Lottery Draw Date Creation & Winning Setup
  • Manual & Auto Draw System with Full Admin Control
  • Auto-Winning Prize Distribution
  • Advanced Result Management
  • Multiple Payment Gateway Integration
  • Deposit Commission & Referral System
  • Premium Push Notifications for Promotions & Marketing
  • Rich Analytics & Reports
  • One-Stop Frontend & System Settings
  • Multi-Language Support (Unlimited Languages)
  • Google & Facebook Login
  • reCAPTCHA
  • Google Analytics Integration
  • Bank Account Setup & Financial Configuration
  • Advanced Ticket Management
  • Withdraw Request System
  • Referral System for Earning Bonuses
  • Email Verification for Secure Accounts
  • Result Page with Detailed Breakdowns
  • SEO-Friendly Design
  • Customizable Appearance for Brand Identity
  • FAQ & Blog for User Engagement
  • Discount & Promotional Offers
  • And Much More...

Configuration Summary

  • To install, set up, and publish LotteryBox with your branding, you need a basic understanding of server-side technologies, as the system includes multiple features for web applications
  • Server Knowledge: Understanding of real servers like Apache or Nginx. We recommend using a real server instead of a local machine.
  • cPanel Preferred: For quick installation, we suggest having cPanel on your server.
  • Technical Skills (Optional for Customization): Basic knowledge of PHP, NPM, and Laravel if you plan to make custom modifications.
  • Cloud Services: Familiarity with Google Cloud and Firebase for integration purposes

Also, you can customise any part of the application according to your own.

Warning

We are not responsible for any issues that arise from custom modifications made to the system.


Application Configuration

Server Requirements

LotteryBox requires a server running PHP 8.2, 8.3, or 8.4 and MySQL 8.0+. Please ensure your server has the necessary configurations and all required PHP extensions enabled for optimal performance.

  • OpenSSL extension
  • PDO extension
  • MySQL PDO extension
  • Mbstring extension
  • Tokenizer extension
  • JSON extension
  • cURL extension
  • XML extension
  • Ctype extension
  • BCMath extension
  • Zip extension
  • GD extension
  • Imagick extension
  • Fileinfo extension
  • Exif extension

Most servers have these enabled by default. However, verify with your hosting provider to ensure full compatibility.

Warning: Please configure carefully. We are not responsible for issues caused by incorrect setup.

Environment Configuration

Local

Choose the right development environment for your local machine based on the operating system. Follow the instructions below for a smooth setup:

  • Windows (XAMPP) :
    – Download and install XAMPP to set up a comprehensive local development environment on Windows.
  • Linux (LAMP):
    – Configure the LAMP stack on your Linux distribution for the local development environment.
  • MacOS (MAMP):
    – Install MAMP to establish a compatible local development environment on MacOS.

Each choice gives you a flexible setup that fits well with your computer’s system. Watch the tutorial videos for step-by-step help while installing.

cPanel - Database Configuration

Before starting the admin installation, the database must be configured for the application.

For creating the database, follow these steps:

  • Step 1: Go to MySQL Databases in your cPanel.
cpanel image
  • Step 2: Create a new database for the application.
cpanel image
  • Step 3: Create a user for the database.
cpanel image
Warning

Avoid using hash (“#”) in your password.

  • Step 4: Add the user to the database.
cpanel image
  • Step 5: Grant privileges to the user.
cpanel image
Info

From one hosting provider to the next, the interface or steps may differ. Speak with your server provider if you're having trouble configuring the database. You can also get in touch with us for consulting support if needed.

Domain Configuration

Navigate to your cPanel and locate the page for domain configuration. For LotteryBox, it is essential to have a single domain.

cpanel image

Installation

After downloading the code from CodeCanyon, upload the project.zip file to your server and extract it in your desired directory. LotteryBox can be installed directly on your main domain. For example: yourdomain.com.

WARNING

Don’t install the project in a sub directory (like: yourdomain.com/folder)

LotteryBox requires an SSL certificate to be installed on your domain to work with all the services. A free SSL certificate can be easily installed on your domain using sslforfree.com

Let’s start the installation process.

  • Step 1: First, visit your site URL. The installation wizard will automatically launch. Click ‘Check Requirements’ to start.
Installation Step 1
  • Step 2: Ensure all required extensions are enabled. If everything is okay, click ‘Check Permission’ to proceed..
Installation Step 2
  • Step 3: Ensure all required Permission’ are enabled. If everything is okay, click Database Setup to proceed..
Installation Step 3
  • Step 4: Configure your database by entering the Database Host, Database Name, Database Username, and Password, then click Final Setup. If your database is hosted on the same server, use ‘localhost’ as the host.
Domain Activation
  • Step 5: Complete the installation by filling in the required details and clicking ‘Finished’
Database Configuration
TIP

Recommended tutorial is below 👇

Mandatory Setup

In the admin panel we have a menu called System Setting where you can set your logo, timezone, country, time format, location, currency and many more things.

Mail Configuration

  • Mail Configurations part admin can set his Mailer name, host, driver, user name, Email ID and his own encryption method and password for this SMTP Mail setup. This configuration is used for sending password recovery mail for the store.

Firebase Push Notification

Firebase Push Notifications enable real-time messaging for User Notifications and Promotional Alerts.

To set up Firebase notifications, navigate to: Admin Panel → System Settings → Notification → Firebase Configuration.

Follow these steps to configure Firebase Push Notifications:

  • Go to Firebase Console.
  • If you don’t have a project, create a new one.
  • Click the settings icon in the left sidebar (next to "Project Overview") and go to Project Settings.
  • Navigate to the Service Accounts tab.
  • Click Generate New Private Key to create a new key. The file will be downloaded as a .json file.
  • Open the downloaded file using any text editor, copy its contents, and paste them into the Service File Content field in: Admin Panel → System Settings → Notification → Firebase Configuration.
Tip

Watch the tutorial below for a step-by-step guide 👇

Why Use Push Notifications?

Push notifications are a powerful way to instantly communicate with users, ensuring they stay engaged and informed.

Push Notifications in LotteryBox

In LotteryBox, the push notification system allows the admin to send messages to:

  • All users at once – Perfect for promotional messages, announcements, or updates.
  • Specific users – Ideal for personalized notifications or important alerts.

Common Use Cases:

  • 🔹 Promotional Messages – Notify users about upcoming draws, special offers, or discounts.
  • 🔹 Important Announcements – Inform users about system updates or maintenance.
  • 🔹 User-Specific Alerts – Send updates related to ticket purchases, winnings, or account activity.

With push notifications, LotteryBox ensures users stay engaged and never miss important updates! 🚀

firebase.initializeApp({ apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID", databaseURL: "...", });

Payment Configuration

The Payment Configuration section allows the admin to manage the payment gateways that users can use for deposits. The following payment gateways are supported:

  • PayPal - Popular global online payment system for secure transactions.
  • Stripe - A widely used payment gateway for processing card payments securely.
  • Flutterwave - A payment solution for global transactions, focusing on African markets.
  • MercadoPago - A payment platform widely used in Latin America.
  • Moli - A flexible payment gateway offering local and international solutions.
  • Skrill - A global payment platform for online money transfers and payments.
  • Paystack - A Nigerian payment gateway that supports online payments.

As an admin, you have the flexibility to enable or disable any of these gateways according to your business needs. This feature provides complete control over payment options, allowing you to streamline the payment process for your users.

To configure these payment gateways, go to the Admin Panel → System Settings → Payment Configuration, where you can activate or deactivate each payment gateway. You can also manage the settings and integration options for each payment method.

By enabling the desired gateways, you ensure a seamless payment experience for users, helping them choose their preferred method.

Note

More payment gateways will be added in future updates to expand payment options for users globally. Keep an eye on upcoming releases to enable new, user-preferred payment methods.

Language Configuration

In the LotteryBox application, the language settings can be easily managed through the System Settings under the Language Module. Here, you can set up the default language for your system, allowing users to experience the application in their preferred language.

Go to the Admin Panel and click on System Settings → Language → Language Module.

Tip

Watch the tutorial below for a step-by-step guide 👇


Version Update

If you'd like to upgrade your current system or need assistance, feel free to contact our support team at softkilo247@gmail.com

Warning

You have to be a developer in that case. If something goes wrong, we won’t be responsible for that.

Need Help? Contact Support

If you need assistance with your system, troubleshooting, or upgrading to a newer version, our support team is here to help. Feel free to reach out to us at softkilo247@gmail.com

Important Notice

Please note that technical changes require developer expertise. If modifications are made incorrectly, we will not be responsible for any issues that may arise.

Version History

V1.0 - 28 April 2025
  •  Initial Release

Common Issues

This issue can occur due to various reasons like server performance or data processing delays. For optimal performance, we recommend the following:
  • Use a fast and reliable server.
  • Ensure your internet connection is stable and fast.
  • Clear cache regularly to improve loading times.

If your application is unable to connect to the database, check the following:
  • Ensure the database host, name, username, and password are correctly set.
  • Verify your database server is running and accessible.
  • Make sure you have the required database extensions enabled.

Incorrect server permissions or incompatible PHP versions can cause issues. Ensure that the server meets the following requirements:
  • Ensure the correct file and directory permissions are set.
  • Check that your PHP version is compatible with the application (PHP 8.4 or higher is recommended).
  • Ensure all required PHP extensions are enabled.

Missing server extensions can cause various application issues. Ensure the following extensions are enabled:
  • openssl
  • pdo
  • pdo_mysql
  • mbstring
  • tokenizer
  • JSON
  • cURL
  • xml
  • Ctype
  • BCMath
  • Zip
  • gd
  • Imagick
  • fileinfo
  • Exif