PHPackages                             jeremieflahaut/laravel-api-starter-kit - 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. [Framework](/categories/framework)
4. /
5. jeremieflahaut/laravel-api-starter-kit

ActiveProject[Framework](/categories/framework)

jeremieflahaut/laravel-api-starter-kit
======================================

The skeleton application for the Laravel framework.

0.0.4(2y ago)017MITPHPPHP ^8.1

Since Sep 13Pushed 2y ago1 watchersCompare

[ Source](https://github.com/jeremieflahaut/laravel-api-starter-kit)[ Packagist](https://packagist.org/packages/jeremieflahaut/laravel-api-starter-kit)[ RSS](/packages/jeremieflahaut-laravel-api-starter-kit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (12)Versions (5)Used By (0)

Laravel api stater kit
======================

[](#laravel-api-stater-kit)

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

[](#installation)

you may create a new Laravel project via the Composer create-project command:

```
    composer create-project jeremieflahaut/laravel-api-starter-kit

```

if you are on Docker you can use official [Composer](https://hub.docker.com/_/composer) Image :

```
    docker run --rm --interactive --tty --volume $PWD:/app --user $(id -u):$(id -g) \
        composer create-project jeremieflahaut/laravel-api-starter-kit

```

migrations to database (by default it's sqlite see your `.env`)

```
    cd  && php artisan migrate

```

Start Laravel's local development server using the Laravel's Artisan CLI serve command:

```
    php artisan serve

```

Features
--------

[](#features)

### Github workflow for laravel test

[](#github-workflow-for-laravel-test)

Laravel tests are run in Github runner . The coverage badge will be pushed to a Badges branch. To do this, you must provide read and write access to the workflow.

To do this, go to settings &gt;&gt; Actions &gt;&gt; General &gt;&gt; Workflow permissions in your repository.

[![Tests](https://github.com/jeremieflahaut/laravel-api-starter-kit/actions/workflows/tests.yml/badge.svg)](https://github.com/jeremieflahaut/laravel-api-starter-kit/actions/workflows/tests.yml)[![Coverage](https://github.com/jeremieflahaut/laravel-api-starter-kit/raw/badges/coverage.svg?raw=true&sanitize=true&branch=badges)](https://github.com/jeremieflahaut/laravel-api-starter-kit/blob/badges/coverage.svg?raw=true&sanitize=true&branch=badges)

### Enforcing Strict Behavior in Development with shouldBeStrict

[](#enforcing-strict-behavior-in-development-with-shouldbestrict)

```
    Model::shouldBeStrict(! $this->app->isProduction());
```

```
public static function shouldBeStrict(bool $shouldBeStrict = true)
{
    static::preventLazyLoading($shouldBeStrict);
    static::preventSilentlyDiscardingAttributes($shouldBeStrict);
    static::preventAccessingMissingAttributes($shouldBeStrict);
}
```

In our starter kit, we've adopted the shouldBeStrict method to optimize application performance and enforce better coding practices, especially in a production environment. This method, located in the boot() method of app/Providers/AppServiceProvider.php, is defined as follows:

1. preventLazyLoading($shouldBeStrict)

- Functionality: When set to true, this function throws an exception if lazy loading is attempted on Eloquent models. Lazy loading, while useful in development, can lead to numerous unoptimized database queries in production, impacting performance.
- Benefit: Encourages the use of eager loading strategies, thus reducing database load and enhancing application efficiency.

2. preventSilentlyDiscardingAttributes($shouldBeStrict)

- Functionality: This ensures that any attempt to set attributes that do not exist on the model will throw an exception. Normally, Laravel silently discards such assignments, which can mask typos or logic errors.
- Benefit: Increases code robustness by avoiding silent failures and ensuring data integrity.

3. preventAccessingMissingAttributes($shouldBeStrict)

- Functionality: When enabled, trying to access undefined or non-existent attributes on a model will result in an exception. By default, Laravel returns null for undefined attributes, which can lead to subtle bugs.
- Benefit: Enhances code safety by making attribute access more explicit and preventing unnoticed errors due to undefined attributes.

### Force Https for all generated url in Production

[](#force-https-for-all-generated-url-in-production)

We force https on with the url generator in `boot()` method of `app/Providers/AppServiceProvider.php`.

```
    if ($this->app->isProduction()) {
        URL::forceScheme('https');
    }
```

### laravel pint

[](#laravel-pint)

We added a git pre hook before each commit to run laravel pint on the php files that will be in the commit. For this we execute this command in `post-autoload-dump` composer script:

```
    [ -d .git ] && git config core.hooksPath .hooks || true
```

We invite you to see the `.hooks/pre-commit` and `pint.json` files for configuring [laravel pint](https://laravel.com/docs/10.x/pint).

Installed packages
------------------

[](#installed-packages)

Here are the dependencies added after installing laravel 10.x

- [pestphp/pest](https://pestphp.com/).

License
-------

[](#license)

The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

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

Every ~45 days

Total

4

Last Release

835d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/becb11ad6625df121e7124f4b5429332fba06bf7e0f09cff9d800a71e34e39f4?d=identicon)[jeremieflahaut](/maintainers/jeremieflahaut)

---

Top Contributors

[![jeremieflahaut](https://avatars.githubusercontent.com/u/30655859?v=4)](https://github.com/jeremieflahaut "jeremieflahaut (12 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/jeremieflahaut-laravel-api-starter-kit/health.svg)

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

###  Alternatives

[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[juzaweb/cms

Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Framework and web platform whose sole purpose is to make your development workflow simple again. Project develop by Juzaweb

187571.2k](/packages/juzaweb-cms)

PHPackages © 2026

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