PHPackages                             billyranario/prostarterkit - 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. billyranario/prostarterkit

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

billyranario/prostarterkit
==========================

A Laravel package that provides a set of utilities for rapid development. Typical structure for senior developers to start a new project.

v1.1.3(4mo ago)02571MITPHPPHP &gt;=7.4

Since Sep 3Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/billyranario/protstarter-kit)[ Packagist](https://packagist.org/packages/billyranario/prostarterkit)[ RSS](/packages/billyranario-prostarterkit/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (2)Versions (15)Used By (1)

ProstarterKit by Billy Joel Ranario
===================================

[](#prostarterkit-by-billy-joel-ranario)

Description
-----------

[](#description)

`ProstarterKit` is a Laravel package designed to expedite the initial setup and ongoing development of Laravel projects. It serves as a boilerplate, providing a collection of utilities, helpers, and core functionalities that are commonly used in Laravel applications.

This package includes a robust `BaseRequest` class that provides various methods for input transformation and validation. The package also integrates seamlessly with Data Transfer Objects (DTOs), giving you the flexibility to work with data in an organized manner.

Whether you're building a simple API backend, a complex web application, or anything in between, `ProstarterKit` aims to streamline your development process, enabling you to focus more on business logic and less on boilerplate code.

Requirements
------------

[](#requirements)

- **PHP version:** 7.4 and above
- **Laravel version:** 6.0 and above

Features
--------

[](#features)

- **Input Transformation:** Easily transform request data types with methods like getInputAsString, getInputAsInt, getInputAsFloat, and more.
- **DTO Integration:** Comes with a built-in support for DTOs, allowing for easy mapping of request data to data transfer objects.
- **Highly Customizable:** Designed to be flexible, allowing you to extend or override the built-in functionalities according to your project's needs.
- **Easy to Use:** Just a composer require away from being used in any Laravel application.

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Usage Examples](#usage-examples)
- [Available Classes](#available-classes)
    - [BaseRequest](#baserequest)
    - [BaseDto](#basedto)
    - [ResponseHelper](#responsehelper)
    - [ServiceResponse](#serviceresponse)
    - [UserRepositoryInterface](#userrepositoryinterface)
    - [ProstarterKitServiceProvider](#prostarterkitserviceprovider)
- [Helper Classes](#helper-classes)
    - [LoggerHelper](#loggerhelper)
- [Contributing](#contributing)
- [License](#license)

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

[](#installation)

```
composer require billyranario/prostarterkit

php artisan vendor:publish --tag=prostarter-kit
```

Usage Examples
--------------

[](#usage-examples)

Below is a quick example of how you can use `BaseRequest` and `BaseDto` together:

```
use Billyranario\ProstarterKit\App\Http\Requests\BaseRequest;
use Billyranario\ProstarterKit\App\Dtos\BaseDto;

// In your controller
public function index(BaseRequest $request) {
    $baseDto = new BaseDto();
    $baseDto->setPerPage($request->getInputAsInt('perPage'));
    $baseDto->setOrderBy($request->getInputAsString('orderBy'));

    // Your business logic here
}
```

Available Classes
-----------------

[](#available-classes)

### ResponseHelper

[](#responsehelper)

The `ResponseHelper` class provides methods for sending HTTP responses.

#### Usage

[](#usage)

```
use Billyranario\ProstarterKit\App\Core\ResponseHelper;

// Sending JSON data with status code 200
ResponseHelper::json(['message' => 'Hello World']);

// Sending a 200 OK status code
ResponseHelper::ok();

// Sending an empty JSON object with status code 200
ResponseHelper::empty();
```

### ServiceResponse

[](#serviceresponse)

The `ServiceResponse` class encapsulates a standard service response object.

#### Usage

[](#usage-1)

```
use Billyranario\ProstarterKit\App\Core\ServiceResponse;

// Create a success response
$response = ServiceResponse::success('Operation successful', ['data' => 'some_data']);
```

### BaseDto

[](#basedto)

The `BaseDto` class serves as a base data transfer object for handling query parameters like pagination, sorting, etc.

#### Usage

[](#usage-2)

```
use Billyranario\ProstarterKit\App\Dtos\BaseDto;

$baseDto = new BaseDto();
$baseDto->setPerPage(20);
$baseDto->setOrderBy('created_at');
```

### UserRepositoryInterface

[](#userrepositoryinterface)

The `UserRepositoryInterface` serves as the contract for any class that wants to interact with User data storage.

#### Methods

[](#methods)

- `findById(int $id): ?User:` Find a user by ID.
- `findByEmail(string $email): ?User:` Find a user by email.
- `create(array $data): User|bool:` Create a new user.
- `update(array $data, int $id): User|bool:` Update an existing user.
- `delete(int $id): bool|null:` Delete a user by ID.

#### Usage

[](#usage-3)

```
use Billyranario\ProstarterKit\App\Repositories\Contracts\UserRepositoryInterface;

class UserRepository implements UserRepositoryInterface
{
    // implementation here
}
```

### ProstarterKitServiceProvider

[](#prostarterkitserviceprovider)

The `ProstarterKitServiceProvider` class provides the bootstrapping logic for the package.

#### Usage

[](#usage-4)

Usually, you don't need to interact with this class directly. Laravel will automatically register and boot the provider

```
use Billyranario\ProstarterKit\App\Core\ServiceResponse;

// Create a success response
$response = ServiceResponse::success('Operation successful', ['data' => 'some_data']);
```

### BaseRequest

[](#baserequest)

The `BaseRequest` class extends Laravel's `FormRequest` and provides methods for typecasting request inputs. It is commonly used together with DTOs to fill in data.

#### Usage with DTOs

[](#usage-with-dtos)

```
use Billyranario\ProstarterKit\App\Http\Requests\BaseRequest;
use Billyranario\ProstarterKit\App\Dtos\BaseDto;

class MyRequest extends BaseRequest
{
    public function rules()
    {
        return [
            // validation rules
        ];
    }

    public function toDto(): BaseDto
    {
        $baseDto = new BaseDto();
        $baseDto->setPerPage($this->getInputAsInt('perPage'));
        $baseDto->setOrderBy($this->getInputAsString('orderBy'));
        return $baseDto;
    }
}

// Inside a controller method
public function update(MyRequest $request)
{
    $baseDto = $request->toDto();
    // Now you can use $baseDto->getPerPage() or $baseDto->getOrderBy()
}
```

Helper Classes
--------------

[](#helper-classes)

```
use Billyranario\ProstarterKit\App\Helpers;
```

### LoggerHelper

[](#loggerhelper)

The `LoggerHelper` class provides methods for logging messages to the application's log files.

#### Usage

[](#usage-5)

```
use Billyranario\ProstarterKit\App\Helpers\LoggerHelper;

// Log a debug message
LoggerHelper::debug('This is a debug message', ['some_data' => 'some_value']]);

// Log an info message
LoggerHelper::info('This is an info message', ['some_data' => 'some_value']]);

// Log a warning message
LoggerHelper::warning('This is a warning message', ['some_data' => 'some_value']]);

// Log a critical message
LoggerHelper::critical('This is a critical message', ['some_data' => 'some_value']]);

// Log an alert message
LoggerHelper::alert('This is an alert message', ['some_data' => 'some_value']]);

// Log an emergency message
LoggerHelper::emergency('This is an emergency message', ['some_data' => 'some_value']]);

// Log an error message
LoggerHelper::error('This is an error message', ['some_data' => 'some_value']]);

// Log an error message
try {} catch (\Throwable $th)
LoggerHelper::logThrowError($th);
```

Contributing
------------

[](#contributing)

Contributions are welcome. Please submit a PR or open an issue.

License
-------

[](#license)

This package is open-source and licensed under the MIT License.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance75

Regular maintenance activity

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

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

Every ~68 days

Recently: every ~221 days

Total

14

Last Release

136d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10057058?v=4)[Billy Ranario](/maintainers/billyranario)[@billyranario](https://github.com/billyranario)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/billyranario-prostarterkit/health.svg)

```
[![Health](https://phpackages.com/badges/billyranario-prostarterkit/health.svg)](https://phpackages.com/packages/billyranario-prostarterkit)
```

###  Alternatives

[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17818.7k](/packages/markwalet-nova-modal-response)[crumbls/layup

A visual page builder plugin for Filament 5 — Divi-style grid layouts with extensible widgets.

591.7k1](/packages/crumbls-layup)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

119.2k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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