Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Nov 16, 2022. It is now read-only.

ibrunotome/laravel-api-templates

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

155 Commits
155 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


A Laravel API starter kit collection using different structures.
Not maintained anymore

CI Build Status Build Status License

Screen Shot 2020-09-05 at 21 38 49

Screen Shot 2020-09-05 at 22 12 44

Screen Shot 2019-05-26 at 11 29 40

Screen Shot 2019-05-26 at 11 24 15

Not maintained anymore

Today Laravel has almost all these features natively, and I just use the standard skeleton/structure.

I would recommend you to use the standard structure too. Taylor too: https://twitter.com/taylorotwell/status/1590332496767586307

What is it

This is a starter kit for your next API using Laravel, implemented with more than one structure, all battle-tested with the same features listed below.

Features

  • 2FA
  • ACL
  • Anti Phishing Code on email
  • Audit
  • CORS
  • Device authorization
  • Etag
  • Horizon
  • Laravel 8.x, 7.x, 6.x, 5.8
  • Login
  • Login history
  • Multiple localizations, preconfigured with en_US and pt_BR
  • Password reset
  • Password must not be in one of the 4 million weak passwords
  • PHPCS PSR2, phpinsights and sonarqube analysis
  • Register
  • Swoole
  • Tests
  • Transactional events: Listen to events and send notifications only if the transaction is commited
  • uuid

Soon:

  • Background job example

Up and running

Environment: develop

The container used is created from Google Cloud Platform official php-docker + swoole and can be found here: https://github.com/ibrunotome/docker-laravel-appengine

The oficial php image from Google Cloud Platform is updated once in a lifetime so I decided to manage my own php images at http://github.com/ibrunotome/php

  • Set the .env variables, see .env.example that is already configured to point to pgsql and redis services
  • Run the container with docker-compose -f docker-compose.develop.yml up. Alternatively, if you have an older laptop, try running remotely with Blimp.
  • Enter into app container with docker exec -it default-structure-app bash
  • Run the migrations with php artisan migrate:fresh

And it's up and running :)

Environment: testing

The container with xdebug is in the Dockerfile.testing, you can get into this container using: docker-compose -f docker-compose.testing.yml up -d app and then:

  • Get into app container with docker exec -it default-structure-app-testing bash (off course, default-structure-app is for the default-structure)
  • Run tests with composer test
  • Run "lint" (phpcs) with composer lint
  • Run "lint and fix" (phpcbf) with composer lint:fix
  • Run phpcpd with composer phpcpd
  • Run php static analysis (level 5) with composer static:analysis
  • Run nunomaduro/phpinsights with php artisan insights

To see sonarqube analysis, simple run docker-compose -f docker-compose.sonarqube.yml up, the quality profile used is PSR-2.

Environment: production

See the contents of the .k8s folder :)

Email layout

screenshot 2019-02-07 08 26 51

Database structure

Screen Shot 2019-05-26 at 17 55 32

Routes

Screen Shot 2019-05-26 at 17 56 41

Author

ibrunotome
@ibrunotome

Contributors

crcms
@crcms
ejj
@ejj
Morty Proxy This is a proxified and sanitized view of the page, visit original site.