PHPackages                             subal-roy/preorder - 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. [Admin Panels](/categories/admin)
4. /
5. subal-roy/preorder

ActivePackage[Admin Panels](/categories/admin)

subal-roy/preorder
==================

A laravel package to manage preorder of an online shop

01PHP

Since Mar 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/subal-roy/preorder)[ Packagist](https://packagist.org/packages/subal-roy/preorder)[ RSS](/packages/subal-roy-preorder/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Preorder Form Package for Laravel
=================================

[](#preorder-form-package-for-laravel)

A Laravel package for handling a pre-order form with product selection, validation, and email notifications. The package provides a reusable, decoupled pre-order form system with the following features:

- Pre-order form with fields: Name, Email, Product, and conditional Phone number field for `@xyz.com` emails.
- Support for rate-limiting pre-order submissions to prevent spam (10 submissions per minute).
- Pre-order submission data stored in a PostgreSQL database.
- Admin dashboard view for listing all pre-orders search, and delete functionality.
- Email notifications to users and admins when a pre-order is submitted.
- Soft delete functionality
- Simple, clean user interface using Blade and Tailwind CSS.

Features
--------

[](#features)

- **Pre-order Form**: Fields for Name, Email, Product, and Phone (if email ends with `@xyz.com`).
- **Validation &amp; Sanitization**: Ensures that only valid and sanitized data is stored.
- **Rate Limiting**: Prevents users from submitting more than 10 pre-orders per minute.
- **Admin Panel**: Admins can view, search, and delete pre-orders.
- **Email Notifications**: Confirmation email sent to the user first, then to the admin.

Installation
------------

[](#installation)

Follow the steps below to install the package into your Laravel project.

### 1. Install via Composer

[](#1-install-via-composer)

Run the following command to install the package from Packagist:

```
composer require subalroy/preorder
```

### 2. Install Frontend Dependencies

[](#2-install-frontend-dependencies)

This package relies on Vue.js, Axios, Vite and Tailwind CSS for the frontend.

### 3. Publish Assets

[](#3-publish-assets)

To publish the package's views, assets, and migrations, run the following commands:

```
php artisan vendor:publish --provider="SubalRoy\Preorder\PreorderServiceProvider" --tag="views"
php artisan vendor:publish --provider="SubalRoy\Preorder\PreorderServiceProvider" --tag="js"
php artisan vendor:publish --provider="SubalRoy\Preorder\PreorderServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="SubalRoy\Preorder\PreorderServiceProvider" --tag="models"
```

### 4. Migrate the Database

[](#4-migrate-the-database)

Run the migration command to create the pre-orders table:

```
php artisan migrate
```

### 5. Configure Email Settings

[](#5-configure-email-settings)

Make sure you have email configurations set up in your .env file to send emails for notifications.

```
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="your_email@example.com"
MAIL_FROM_NAME="${APP_NAME}"
```

### Usage

[](#usage)

Pre-order Form
--------------

[](#pre-order-form)

To display the pre-order form, visit /preorder in your browser. The form allows users to select a product, enter their name and email, and submit their information.

Admin Panel
-----------

[](#admin-panel)

Admins can access the list of pre-orders by visiting /preorders. The list includes functionality for searching, paginating, and deleting pre-orders.

Delete Pre-orders
-----------------

[](#delete-pre-orders)

Admins can delete pre-orders. The deletion will be soft.

### Middleware

[](#middleware)

You can add the admin middleware to restrict access to certain routes (e.g., /preorders).

Example:

```
Route::get('preorders', [PreorderController::class, 'index'])->middleware('admin')->name('preorders.index');
```

### License

[](#license)

This package is open-source and available under the MIT License. See the LICENSE file for more information.

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ef3a26fbeb072482d403d60da54025996b8f486448f252ccac4e53ad38d59ad?d=identicon)[subalroy22](/maintainers/subalroy22)

---

Top Contributors

[![subalroy22](https://avatars.githubusercontent.com/u/175678891?v=4)](https://github.com/subalroy22 "subalroy22 (2 commits)")

### Embed Badge

![Health badge](/badges/subal-roy-preorder/health.svg)

```
[![Health](https://phpackages.com/badges/subal-roy-preorder/health.svg)](https://phpackages.com/packages/subal-roy-preorder)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

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