Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibrunotome/laravel-api-templates
Laravel API starter kit collection using different structures.
https://github.com/ibrunotome/laravel-api-templates
architectural-patterns ddd design-patterns domain-driven-design laravel laravel-ddd laravel-docker laravel-framework laravel-modular laravel-skeleton laravel-swoole php swoole
Last synced: 3 months ago
JSON representation
Laravel API starter kit collection using different structures.
- Host: GitHub
- URL: https://github.com/ibrunotome/laravel-api-templates
- Owner: ibrunotome
- License: mit
- Archived: true
- Created: 2019-01-20T12:07:09.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-16T16:25:54.000Z (about 2 years ago)
- Last Synced: 2024-09-23T16:02:32.055Z (3 months ago)
- Topics: architectural-patterns, ddd, design-patterns, domain-driven-design, laravel, laravel-ddd, laravel-docker, laravel-framework, laravel-modular, laravel-skeleton, laravel-swoole, php, swoole
- Language: PHP
- Homepage:
- Size: 4.61 MB
- Stars: 266
- Watchers: 19
- Forks: 81
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A Laravel API starter kit collection using different structures.
Not maintained anymore![CI](https://github.com/ibrunotome/laravel-api-templates/workflows/CI/badge.svg)
[![Build Status](https://img.shields.io/github/stars/ibrunotome/laravel-api-templates.svg)](https://github.com/ibrunotome/laravel-api-templates)
[![Build Status](https://img.shields.io/github/forks/ibrunotome/laravel-api-templates.svg)](https://github.com/ibrunotome/laravel-api-templates)
[![License](https://img.shields.io/github/license/ibrunotome/laravel-api-templates.svg)](https://github.com/ibrunotome/laravel-api-templates)## 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](https://github.com/ibrunotome/laravel-api-templates/tree/v8.x), [7.x](https://github.com/ibrunotome/laravel-api-templates/tree/v7.x), [6.x](https://github.com/ibrunotome/laravel-api-templates/tree/v6.x), [5.8](https://github.com/ibrunotome/laravel-api-templates/tree/v5.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
- uuidSoon:
- 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](https://kelda.io/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
## Database structure
## Routes
## Author
## Contributors