umanda / Hello-API

A Starter providing everything to build a modern API, with PHP and Laravel 5

Home Page:https://hello-api.readme.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hello API

Hello-API Build Status Scrutinizer Code Quality Build Status Dependency Status GitHub license

A Hello World for API's : )

Content

If you used Hello API before 21 June 2016 you may need to check the branch 0.1.

What is Hello API

Hello API is a Starter providing everything to build a modern API-Centric application, with PHP and Laravel 5.2.

It gives all the common functionalities of a modern API, to help building API-Centric Apps faster.

It uses the best framework, packages, tools and conventions. All configured to work together in a beautiful piece of code.

Setting up an API from scratch takes a lot of time, even with the existence of the many great Technologies and Tools. Hello API saves you time.

Why API-Centric Apps

Web developers are used to serve HTML pages directly from the Backend. However, this traditional method has many disadvantages in nowadays.

Today we’re living in a digital era, where almost everything is connected to the Internet.

Building cross-devices applications is becoming a must. And to do it, you need APIs (Application Programing Interfaces).

API's can serve anything and everything (Mobile Apps, Web Apps, Smart TVs, Smart Watches,...). As well as, it can be exposed to the world allowing developers to interact with your Application and help growing your business.

API-Centric Apps allows front-end (Web + Mobile) and back-end developers to work on their codes in parallel. After the front-end Apps are ready they get attached to the back-end (API-Centric) code to start functioning. This leads to zero decoupling between the front-end and the back-end code and also removes the dependencies. The API documentation acts as the contract between both sides during the development life cycle of all the Apps.

Important Note:

The project is currently under heavy development. So expect things to change very quickly. Also note that there's no stable release till this date.


forthebadge

Features

The Hello API comes with great features:

  • Token Based Authentication (with JWT "JSON Web Tokens").
  • Social Authentication supported out of the box (Facebook, Twitter, Google+)
  • API Throttling (Rate Limiting).
  • User Endpoints (Login, Logout, Register, List, Update, Delete, Search).
  • Functional Tests covering all the existing Endpoints (using PHPUnit).
  • Data Caching support (with auto clearing on Create, Update and Delete).
  • Query Parameters support out of the box (orderBy, sortedBy, filter, include).
  • Full-text search support out of the box (search, searchFields).
  • Auto API Documentation generator (using the API Doc JS).
  • Authorization system (ACL), to control which consumer can access your API.
  • Supports CORS "Cross-Origin Resource Sharing".
  • Localization support (multiple langauges via Content-Language header).
  • Automatic Data Pagination (meta links to next and previous data).
  • Support Visitors Authentication by Device ID (Use first register later).
  • Auto detect and save device type and platform.
  • Easy and auto request input validation.
  • Type-Casting JSON responses with Transformers.
  • Custom Tests Helpers for faster automated testing (using PHPUnit).
  • RESTful API (supporting all HTTP verbs).
  • Optional support for the JSON API specification v1.0.
  • Automatic dates conversion to ISO format in responses.
  • Support for JSON with padding (JSONP).
  • Scalable, Stateless and Distributable Application on the server.
  • Maintainable and scalable Software Architectural Pattern (using Porto).
  • Fully Object Oriented Code, implementing the best design patterns.
  • Following the PSR-2/PSR-4 coding/autoloading standards.
  • Easy to send Emails.
  • Easy to support payment gateways (Ready for Stripe and Paypal).
  • Runs on PHP 5.5.9+ (including PHP 7 and HHVM).
  • Fully detailed documentation.
  • 100% customizable and Open Code.

Full Documentation

Hello API is architectured using the Porto Software Architectural Pattern.
Thus you MUST read the Porto Document before starting.

###Full Documentation Here

Technologies

Hello API is built with the latest & hottest Technologies:


SensioLabsInsight

Contribution

Just do it. You are welcome :)

Credits

Authors Follow on Twitter Ask for Help Hire
Mahmoud Zalt (Creator) @Mahmoud_Zalt Get help on Codementor mahmoud@zalt.me

License

The MIT License (MIT).

About

A Starter providing everything to build a modern API, with PHP and Laravel 5

https://hello-api.readme.io

License:MIT License


Languages

Language:PHP 97.7%Language:HTML 2.1%Language:ApacheConf 0.2%