All Projects → sunrise-php → Awesome Skeleton

sunrise-php / Awesome Skeleton

🎉 Release 3.0 is released! Awesome Skeleton for modern development on PHP 7.4+ (incl. PHP 8). Contains quality tested packages, thoughtful structure and everything you need to develop microservices.

Projects that are alternatives of or similar to Awesome Skeleton

Http Router
🎉 Release 2.0 is released! Very fast HTTP router for PHP 7.1+ (incl. PHP8 with attributes) based on PSR-7 and PSR-15 with support for annotations and OpenApi (Swagger)
Stars: ✭ 124 (+49.4%)
Mutual labels:  openapi, annotations
Express Typescript Boilerplate
A delightful way to building a RESTful API with NodeJs & TypeScript by @w3tecch
Stars: ✭ 2,293 (+2662.65%)
Mutual labels:  annotations, skeleton
spectree
API spec validator and OpenAPI document generator for Python web frameworks.
Stars: ✭ 190 (+128.92%)
Mutual labels:  annotations, openapi
Dredd Example
Example application using Dredd and CI
Stars: ✭ 79 (-4.82%)
Mutual labels:  openapi, skeleton
Swag
Automatically generate RESTful API documentation with Swagger 2.0 for Go.
Stars: ✭ 5,173 (+6132.53%)
Mutual labels:  openapi, annotations
Amcparser
Parse and visualize asf/amc files from CMU MoCap dataset.
Stars: ✭ 70 (-15.66%)
Mutual labels:  skeleton
Openapivalidators
Use Jest or Chai to assert that HTTP responses satisfy an OpenAPI spec
Stars: ✭ 77 (-7.23%)
Mutual labels:  openapi
Express Jsdoc Swagger
Swagger OpenAPI 3.x generator
Stars: ✭ 69 (-16.87%)
Mutual labels:  openapi
Dreamfactory
DreamFactory API Management Platform
Stars: ✭ 1,148 (+1283.13%)
Mutual labels:  openapi
Openapi Viewer
Browse and test a REST API described with the OpenAPI 3.0 Specification
Stars: ✭ 82 (-1.2%)
Mutual labels:  openapi
Wsdl Creator
PHP WSDL Creator using PHPdoc (annotations, reflections).
Stars: ✭ 79 (-4.82%)
Mutual labels:  annotations
Skeleton
A ready-to-use CodeIgniter skeleton with tons of new features and a whole new concept of hooks (actions and filters) as well as a ready-to-use and application-free themes and plugins system. Facebook Page: http://bit.ly/2oHzpxC | Facebook Group: http://bit.ly/2o3KOrA. Help me carry on making more free stuff → http://bit.ly/2ppNujE ←
Stars: ✭ 74 (-10.84%)
Mutual labels:  skeleton
Slim3
Slim Framework 3 Skeleton Application
Stars: ✭ 70 (-15.66%)
Mutual labels:  skeleton
Sanic Nginx Docker Example
Sanic + Nginx + Docker basic example
Stars: ✭ 77 (-7.23%)
Mutual labels:  skeleton
Charger
Characterization of Germline variants
Stars: ✭ 69 (-16.87%)
Mutual labels:  annotations
Openapi Python Sdk
Python SDK for Tiger Open API
Stars: ✭ 80 (-3.61%)
Mutual labels:  openapi
Flui
A powerful UI framework for Google Flutter.
Stars: ✭ 1,153 (+1289.16%)
Mutual labels:  skeleton
Textannotationgraphs
A modular annotation system that supports complex, interactive annotation graphs embedded on top of sequences of text.
Stars: ✭ 73 (-12.05%)
Mutual labels:  annotations
Openapi Mock Generator
Progressive Web App for generating mocked data from an OpenAPI specification
Stars: ✭ 72 (-13.25%)
Mutual labels:  openapi
Umdio
An open API for the University of Maryland
Stars: ✭ 72 (-13.25%)
Mutual labels:  openapi

Awesome Skeleton for modern development on PHP 7.4+ (incl. PHP 8)

Contains quality tested packages, thoughtful structure and everything you need to develop microservices.

Build Status Code Coverage Scrutinizer Code Quality Total Downloads Latest Stable Version License


Installation

composer create-project 'sunrise/awesome-skeleton:^3.0' app

Cooking

Set up your database connection:

cp .env.example .env && nano .env

Execute a migration:

php bin/app migrations:migrate --service 'master' --no-interaction

Run CLI

incl.: Doctrine DBAL, Doctrine ORM, Doctrine Migrations.

php bin/app

Run via PHP

listen 0.0.0.0:3000

composer serve

Run via RoadRunner

listen 0.0.0.0:3000

Set up your server:

cp .rr.yml.example .rr.yml && nano .rr.yml

Run the server:

rr -dv serve

Run via Swoole

Coming soon...

Run tests

composer test

Run benchmarks

composer bench

Run routes through cURL

you may need to change the server address...

Home (index)

curl -X 'GET' 'http://127.0.0.1:3000/'

OpenAPI document

curl -X 'GET' 'http://127.0.0.1:3000/openapi'

Create an entry (example bundle)

curl -X 'POST' -H 'Content-Type: application/json' -d '{"name": "foo", "slug": "foo"}' 'http://127.0.0.1:3000/api/v1/entry'

Update an existing entry (example bundle)

you need to set an existing ID.

curl -X 'PATCH' -H 'Content-Type: application/json' -d '{"name": "foo", "slug": "foo"}' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'

Delete an existing entry (example bundle)

you need to set an existing ID.

curl -X 'DELETE' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'

Read an existing entry (example bundle)

you need to set an existing ID.

curl -X 'GET' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'

List of entries (example bundle)

curl -X 'GET' 'http://127.0.0.1:3000/api/v1/entry'

Useful commands

Deploy

bash bin/deploy

Down

bash bin/down 'Reason...'

Up

bash bin/up

Generate Systemd unit for RoadRunner

php bin/app app:roadrunner:generate-systemd-unit > app.service

Generate OpenApi document

php bin/app app:openapi:generate-document > openapi.json

Used stack

see composer.json

Used technology

RoadRunner

OpenApi (Swagger) specification

Json Schema specification


It may be useful to you

Awesome middlewares for your application


with ❤️ for you

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].