Skip to content
forked from apiato/apiato

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

Notifications You must be signed in to change notification settings

wouterNL/Hello-API

 
 

Repository files navigation

Hello API

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

A Hello World project for API's.

forthebadge

Build better API's faster and smarter with PHP and Laravel 5.4.

Content

Into

What is Hello API

Hello API is a starter providing the common functionalities required to build modern API-Centric Application.

It uses the best frameworks, packages, tools and conventions to deliver one of the best PHP API starters.

Why!? Because setting up an API from scratch everytime is time consuming. Hello API gives you the core features of robust API's, so you can focus on the business logic of your App instead.

Why API-Centric Apps

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

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

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 Frontend (Web + Mobile) and Backend developers to work on their codes in parallel. After the Frontend Apps are ready they get attached to the Backend (API-Centric) code to start functioning. This leads to zero decoupling between the Frontend and the Backend 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.

Features

The Hello API comes with great features:

  • JSON Web Tokens (JWT) based Authentication, with pre-configured middleware's.
  • Role-Based Access Control (RBAC), seeded with a Super Admin Role and Permissions.
  • Query Parameters support (orderBy, sortedBy, filter, include) with full-text search (search, searchFields).
  • User basic Endpoints and more (Login, Logout, Register, List, Update, Delete, Search).
  • API Throttling (Rate Limiting).
  • Easy API Documentations generator from artisan commands (using the ApiDocJS tool).
  • Auto encoding/decoding of real ID's, to prevent exposing real ID's to the outer world.
  • Data Caching support out of the box (with auto clearing on Create, Update and Delete).
  • Supports for CORS "Cross-Origin Resource Sharing", allowing access from different domians.
  • Social Authentication supported out of the box (Facebook, Twitter, Google+).
  • Localization support (multiple languages via Content-Language header).
  • Automatic Data Pagination (meta links to next and previous data).
  • Http Requests/Response Monitor and DB Query Debugger (from the Debugger Container).
  • Type-Casting JSON responses with Transformers.
  • Custom Tests Helpers for faster automated testing (using PHPUnit).
  • Optional support for the JSON API specification v1.0.
  • Automatic dates conversion to ISO format in responses.
  • Optional support for JSON with padding (JSONP).
  • WEB and API Authentication Middlewares.
  • Ready Admin dashboard infrastructure (just drop your admin views).
  • Maintainable and scalable Software Architectural Pattern (using Porto SAP).
  • Support Stripe payment gateways (easy to extend and cover other gatways).
  • Functional Tests covering all the existing Endpoints (using PHPUnit).
  • Fully detailed documentation (on hello-api.readme.io/docs).
  • 100% customizable and Open Code.
  • And much more...

Chat

Join our chatting room on Gitter by click on the icon below

Gitter

Documentation

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

###Full Documentation

Contribution

Just do it! :)

Credits

Contributors Twitter Ask for Help Contact / Hire Site
Mahmoud Zalt (Creator) @Mahmoud_Zalt Get help on Codementor [email protected] https://zalt.me

License

The MIT License (MIT).

SensioLabsInsight

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 97.7%
  • HTML 1.9%
  • Other 0.4%