limoncello-php / app

Licence: MIT License
Quick start JSON API application

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects
typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to app

framework
No description or website provided.
Stars: ✭ 13 (-83.75%)
Mutual labels:  json-api, limoncello
ctuning-programs
Collective Knowledge extension with unified and customizable benchmarks (with extensible JSON meta information) to be easily integrated with customizable and portable Collective Knowledge workflows. You can easily compile and run these benchmarks using different compilers, environments, hardware and OS (Linux, MacOS, Windows, Android). More info:
Stars: ✭ 41 (-48.75%)
Mutual labels:  json-api
DidacticalEnigma
An integrated translator environment for translating text from Japanese to English
Stars: ✭ 29 (-63.75%)
Mutual labels:  application
tutti-quanti-shelf
Collection of miscellaneous developer-oriented utilities wrapped into one single app, built with Electron.
Stars: ✭ 30 (-62.5%)
Mutual labels:  application
geometer
A simple drawing program to replicate construction with a compass and straightedge
Stars: ✭ 19 (-76.25%)
Mutual labels:  application
RESTEasy
REST API calls made easier
Stars: ✭ 12 (-85%)
Mutual labels:  json-api
SearchWorks
SearchWorks (Stanford University Libraries)
Stars: ✭ 42 (-47.5%)
Mutual labels:  application
redbull
Develop JSON endpoints fast!
Stars: ✭ 11 (-86.25%)
Mutual labels:  json-api
zoom
A Laravel boilerplate application
Stars: ✭ 46 (-42.5%)
Mutual labels:  application
JSONinSV
JSON lib in Systemverilog
Stars: ✭ 25 (-68.75%)
Mutual labels:  json-api
MQL5-JSON-API
Metaquotes MQL5 - JSON - API
Stars: ✭ 183 (+128.75%)
Mutual labels:  json-api
json-api-serializer
Node.js/browser framework agnostic JSON API (http://jsonapi.org/) serializer.
Stars: ✭ 141 (+76.25%)
Mutual labels:  json-api
hanami-serializer
Serializer library for hanami applications
Stars: ✭ 22 (-72.5%)
Mutual labels:  json-api
girias.json
JSON com gírias da rua e seus significados.
Stars: ✭ 40 (-50%)
Mutual labels:  json-api
jsonapi
Set of tools to build a JSON:API compliant service.
Stars: ✭ 19 (-76.25%)
Mutual labels:  json-api
Plastic
This project provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application.
Stars: ✭ 30 (-62.5%)
Mutual labels:  application
ToTheTop
🔝To the top - A small macOS application to help you scroll to the top.
Stars: ✭ 33 (-58.75%)
Mutual labels:  application
rstpad
Standalone reStructuredText editor with live preview (native app)
Stars: ✭ 35 (-56.25%)
Mutual labels:  application
dothq.co
This repository has moved to:
Stars: ✭ 17 (-78.75%)
Mutual labels:  application
ck-web
Collective Knowledge web extension to browse CK repositories, visualize interactive graphs and articles, render CK-based websites, implement simple web services with JSON API (for example to crowdsource experiments or unify access to DNN). Demos of interactive articles, graphs and crowdsourced experiments:
Stars: ✭ 31 (-61.25%)
Mutual labels:  json-api

License

Summary

How to create JSON API application

Limoncello App is a fully featured OAuth 2.0 JSON API quick start application.

Out-of-the-box it has

  • JSON API CRUD operations (create, read, update and delete) for a few sample resources with to-one, to-many and many-to-many relationship types.
  • Support for such JSON API features as resource inclusion, sparse field sets, sorting, filtering and pagination.
  • Database migrations and seedings.
  • OAuth 2.0 server authentication and role authorization.
  • Admin panel for managing users and roles.
  • Cross-Origin Resource Sharing (CORS).
  • JSON API errors.
  • API tests.
  • Web tests.

Supported features

  • Multiple nested paths resource inclusion (e.g. posts,posts.user,posts.comments.user).
  • Filtering and sorting by multiple attributes in resources and its relationships.
  • Supported operators =, eq, equals, !=, neq, not-equals, <, lt, less-than, <=, lte, less-or-equals, >, gt, greater-than, >=, gte, greater-or-equals, like, not-like, in, not-in, is-null, not-null.
  • Pagination works for main resources and resources in relationships. Limits for maximum number of resources are configurable.

Based on

It could be a great start if you are planning to develop JSON API.

Feel free to ask questions and thank you for supporting the project with .

Installation

1 Create project

$ composer create-project --prefer-dist limoncello-php/app app_name
$ cd app_name

Recommended additional step

$ npm install

or

$ yarn install

2 Run server

Application runs PHP built-in server on port 8080

$ composer serve

Recommended

$ npm serve

or

$ yarn serve

Port could be configured in composer.json or client/webpack/base.config.js

If you use Postman here is a collection of API requests that would work with a local server (reading users, filter users, create users, and etc).

Run in Postman

Here is a Postman screen-shot with the collection opened

Requests in Postman

3 Turn on production mode (optional)

By default the application is installed in development mode (less performance, tests and development libraries are available). Application could be switched into production mode (higher performance, no tests, no development libraries) with command

$ composer build

Performance comparision with other frameworks could be found here and here.

Testing

$ composer test

How-to add Google Auth to the Application

You can find detailed instructions here.

License

MIT license

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].