PHPackages                             jack.savich/laravel-api-skeleton - 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. [API Development](/categories/api)
4. /
5. jack.savich/laravel-api-skeleton

AbandonedArchivedLibrary[API Development](/categories/api)

jack.savich/laravel-api-skeleton
================================

This package contains laravel skeleton api application

v1.1.0(9y ago)31231MITPHPPHP &gt;=5.5.9

Since May 19Pushed 9y ago2 watchersCompare

[ Source](https://github.com/jackSavich1993/laravel-api-skeleton)[ Packagist](https://packagist.org/packages/jack.savich/laravel-api-skeleton)[ RSS](/packages/jacksavich-laravel-api-skeleton/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (7)Versions (13)Used By (0)

laravel-api-skeleton
====================

[](#laravel-api-skeleton)

This is package provide laravel skeleton api, includes BaseController, Request and json format response

Installation
============

[](#installation)

### Composer require

[](#composer-require)

```
savich/laravel-api-skeleton

```

### Register Service Provider

[](#register-service-provider)

```
'providers' => [
...
Savich\ApiSkeleton\Providers\ApiServiceProvider::class,

```

### Register Middleware

[](#register-middleware)

```
protected $routeMiddleware = [
...
'api.auth' => \Savich\ApiSkeleton\Middleware\Auth::class,

```

Usage
=====

[](#usage)

### Controller

[](#controller)

```
use Savich\ApiSkeleton\Controllers\ApiController;

class YourController extends ApiController

```

### Routes

[](#routes)

On your routes file specify middleware for route group that provide checking if user is authenticated via api

```
// on routes file

Route::group(['middleware' => 'api.auth'], function () {
    // your routes ...
});

```

### Request

[](#request)

All api requests should inherit ApiRequest for making one errors format

```
use Savich\ApiSkeleton\Requests\ApiRequest;

class YourRequest extends ApiRequest

```

Features
========

[](#features)

### Response

[](#response)

To making response of the api just call in your controller method `send()` of ApiController that provide convenient way of response representation

```
use Savich\ApiSkeleton\Controllers\ApiController;
use Savich\ApiSkeleton\Response\ResponseInterface;

class YourController extends ApiController
{
    public function index()
        {
            return $this->send(/* params */);
        }

```

The response looks like:

```
{
  "status": 1,
  "message": null,
  "token": null,
  "result": null // here will be your `params`
}

```

### Auth

[](#auth)

The package provide simple work with auth via api. You just need to use TokenTrait that makes login easy and nice.

Example.

```
use Savich\ApiSkeleton\Controllers\ApiController;
use Savich\ApiSkeleton\Controllers\Mixins\TokenTrait;
use Savich\ApiSkeleton\Response\ResponseInterface;

class AuthController extends ApiController
{
    use TokenTrait;

    public function __construct(ResponseInterface $response)
    {
        parent::__construct($response);
    }

    /**
     * API Login, on success return JWT Auth token
     * @param LoginRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function login(LoginRequest $request) // you can make your own request
    {
        $user = $this->getUser($request->only('email', 'password'));

        if (!$user) {
            $this->addError('Invalid credentials');

            return $this->send();
        }

        return $this->attemptToken($user);
    }
}

```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 60.7% 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

Every ~16 days

Recently: every ~0 days

Total

12

Last Release

3520d ago

Major Versions

0.0.4 → v1.02016-11-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/30cb0fb1883155a5c15da38f0bae922429adcf38e053e16e05ce06b64d11dbe5?d=identicon)[runtothefather](/maintainers/runtothefather)

---

Top Contributors

[![IlyaSavich](https://avatars.githubusercontent.com/u/12517348?v=4)](https://github.com/IlyaSavich "IlyaSavich (17 commits)")[![runtothefather](https://avatars.githubusercontent.com/u/8307619?v=4)](https://github.com/runtothefather "runtothefather (11 commits)")

### Embed Badge

![Health badge](/badges/jacksavich-laravel-api-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/jacksavich-laravel-api-skeleton/health.svg)](https://phpackages.com/packages/jacksavich-laravel-api-skeleton)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

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

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k14.1M123](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9772.3M122](/packages/roots-acorn)[aedart/athenaeum

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

245.2k](/packages/aedart-athenaeum)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45344.0k1](/packages/pressbooks-pressbooks)[essa/api-tool-kit

set of tools to build an api with laravel

53386.5k](/packages/essa-api-tool-kit)

PHPackages © 2026

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