PHPackages                             gwebas/laravel-lucky-wheel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gwebas/laravel-lucky-wheel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gwebas/laravel-lucky-wheel
==========================

A customizable, themeable Lucky Wheel spin package for Laravel applications with anti-cheat protection.

v1.0.0(today)01↑2900%MITBladePHP ^8.2

Since Jun 27Pushed todayCompare

[ Source](https://github.com/alytukas/laravel-lucky-wheel)[ Packagist](https://packagist.org/packages/gwebas/laravel-lucky-wheel)[ RSS](/packages/gwebas-laravel-lucky-wheel/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel Lucky Wheel
===================

[](#laravel-lucky-wheel)

🎲 An interactive, animated, and easily configurable Lucky Wheel package for Laravel e-commerce and web projects. Engage your users by letting them spin the wheel to win discount codes or free shipping, while you manage prizes, probability weights, design themes, and email capture directly from the admin dashboard.

---

✨ Features
----------

[](#-features)

- **3 Built-in Themes:** Modern (`default`), Festive Christmas with snowflakes (`christmas`), and Bright Summer (`summer`).
- **Anti-Cheat System:** Limits spins based on User ID, IP address, browser fingerprint, and cookies using a customizable cooldown period (`cooldown_hours`).
- **Flexible Email Capture Policy:**
    - `none`: Not required (guests can spin immediately).
    - `before_spin`: Require an email address before spinning the wheel.
    - `after_win`: Require an email address after winning to reveal/claim the prize code.
- **Weighted Probability Algorithm:** Admins can set a `probability_weight` for each prize. The higher the weight, the higher the chance of winning.
- **Automatic Code Generation:** Automatically generates unique promo codes (e.g., `WHEEL-ABC123`) and links them to your existing discount codes system.
- **Multilingual Support (i18n):** Full support for English (EN) and Lithuanian (LT) out of the box.

---

🚀 Installation
--------------

[](#-installation)

You can install the package via composer:

```
composer require gwebas/laravel-lucky-wheel

🛠️ Configuration & Migrations

After installing the package, publish the configuration, migrations, and translation files to your main project:
Bash

php artisan vendor:publish --tag=lucky-wheel-config
php artisan vendor:publish --tag=lucky-wheel-migrations
php artisan vendor:publish --tag=lucky-wheel-lang

Run the database migrations (this will create the lucky_wheel_settings, lucky_wheel_prizes, and lucky_wheel_spins tables):
Bash

php artisan migrate

📖 Usage

1. Frontend Integration

To display the wheel on your website, insert the following Blade component into your main layout file (e.g., resources/views/layouts/app.blade.php), just before the closing  tag:
Blade

The component automatically checks if the lucky wheel is enabled in the admin panel, applies the selected theme, and displays a floating button in the bottom corner of the screen.

2. Admin Dashboard

The control panel is accessible via:
Plaintext

GET /admin/lucky-wheel

(Note: This route is protected by web and auth middleware).

From the dashboard, administrators can:

    Enable / Disable the wheel globally with one click.

    Change the active Design Theme (default, christmas, summer).

    Set the Email Requirement Policy (none, before_spin, after_win).

    Adjust the Cooldown Hours for repeat spins.

    Create, edit, and delete prizes, and adjust their winning probabilities.

🌐 Localization

The package automatically uses your application's current locale (app()->getLocale()).
Supported languages by default: EN (English) and LT (Lithuanian).

If you want to force a specific language only for the lucky wheel, open config/lucky-wheel.php and change the value:
PHP

'locale' => 'en', // Or 'lt', or null (for auto-detection)

To edit or add translations for other languages, modify the files in:
resources/lang/vendor/lucky-wheel/
📝 License

The MIT License (MIT).
```

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/59535602?v=4)[alytukas](/maintainers/alytukas)[@alytukas](https://github.com/alytukas)

---

Top Contributors

[![alytukas](https://avatars.githubusercontent.com/u/59535602?v=4)](https://github.com/alytukas "alytukas (3 commits)")

### Embed Badge

![Health badge](/badges/gwebas-laravel-lucky-wheel/health.svg)

```
[![Health](https://phpackages.com/badges/gwebas-laravel-lucky-wheel/health.svg)](https://phpackages.com/packages/gwebas-laravel-lucky-wheel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[wearepixel/laravel-cart

A cart implementation for Laravel

1355.6k](/packages/wearepixel-laravel-cart)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
