<commit_before># apiato

[![apiato](https://img.shields.io/badge/Status-Awesome-brightgreen.svg)](https://github.com/apiato/apiato)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/apiato/apiato/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/apiato/apiato/?branch=master)
[![Build Status](https://travis-ci.org/apiato/apiato.svg?branch=master)](https://travis-ci.org/apiato/apiato)
[![Latest Stable Version](https://poser.pugx.org/apiato/apiato/v/stable)](https://packagist.org/packages/apiato/apiato)
[![Latest Unstable Version](https://poser.pugx.org/apiato/apiato/v/unstable)](https://packagist.org/packages/apiato/apiato)
[![Dependency Status](https://www.versioneye.com/user/projects/578988f4c3d40f0046852116/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/578988f4c3d40f0046852116)
[![Build Status](https://scrutinizer-ci.com/g/apiato/apiato/badges/build.png?b=master)](https://scrutinizer-ci.com/g/apiato/apiato/build-status/master)
[![composer.lock](https://poser.pugx.org/apiato/apiato/composerlock)](https://packagist.org/packages/apiato/apiato)
[![License](https://poser.pugx.org/apiato/apiato/license)](https://packagist.org/packages/apiato/apiato)



[![forthebadge](http://forthebadge.com/images/badges/ages-12.svg)](http://apiato.co)

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


<br>

> apiato is the new name of Hello API.
>
> Hello API is the original project name, it has been renamed to apiato in March, 22, 2018 for no reason.

## Content

* [Introduction](#Introduction)
* [Features](#Features)
* [Chat](#Chat)
* [Documentation](#Documentation)
* [License](#License)


<a name="Introduction"></a>
## Into


### What is `apiato`

**apiato** is a starter project, designed to help you build scalable API's faster, by providing tools and
functionalities that facilitates the development of any API-Centric Applications.

apiato uses the best frameworks, tools and conventions in a very creative way to deliver a modern PHP Application.

Why!? setting up a solid API from scratch is time consuming (and time is money).
apiato gives you the core features of robust API's, so you can focus on your business logic and deliver faster.
Skip the repetitive work and enjoy the open source fun.


#### Intro to 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.




<a name="Features"></a>
## Features

>The apiato 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 apiato.readme.io/docs).
- 100% customizable and Open Code.
- And much more...


<a name="Chat"></a>
## Chat

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

[![Gitter](https://badges.gitter.im/apiato/Lobby.svg)](https://gitter.im/apiato/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)



<a name="Documentation"></a>
## Documentation

**apiato** is built with a new architectural pattern called **[Porto](https://github.com/Mahmoudz/Porto)**.
> **Porto SAP** is a modern Software Architectural Pattern, designed to help developers organize their Code in a super maintainable way. It is very helpful for big and long term projects, as they tend to have higher complexity with time.

Reading the simple [**Porto document**](https://github.com/Mahmoudz/Porto) is essential before starting.


### apiato full [documentation](https://apiato.readme.io/docs/installation) here.



<a name="Credits"></a>
## Credits

| Contributors           | Twitter                                 | Ask for Help                                                                                                          | Contact / Hire  | Site            |
|------------------------|---------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------|-----------------|
| [<NAME>](https://github.com/Mahmoudz) (Maker) | @[Mahmoud_Zalt](https://twitter.com/Mahmoud_Zalt) | [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/mahmoudz) | <EMAIL> | [https://zalt.me](https://zalt.me/) |



<a name="License"></a>
## License

The MIT License [(MIT)](https://opensource.org/licenses/MIT).



[![SensioLabsInsight](https://insight.sensiolabs.com/projects/1bdf99d7-13b1-46ca-8576-c6a702f9afd7/big.png)](https://insight.sensiolabs.com/projects/1bdf99d7-13b1-46ca-8576-c6a702f9afd7)
<commit_msg>update documentation domain<commit_after># apiato

[![apiato](https://img.shields.io/badge/Status-Awesome-brightgreen.svg)](https://github.com/apiato/apiato)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/apiato/apiato/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/apiato/apiato/?branch=master)
[![Build Status](https://travis-ci.org/apiato/apiato.svg?branch=master)](https://travis-ci.org/apiato/apiato)
[![Latest Stable Version](https://poser.pugx.org/apiato/apiato/v/stable)](https://packagist.org/packages/apiato/apiato)
[![Latest Unstable Version](https://poser.pugx.org/apiato/apiato/v/unstable)](https://packagist.org/packages/apiato/apiato)
[![Dependency Status](https://www.versioneye.com/user/projects/578988f4c3d40f0046852116/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/578988f4c3d40f0046852116)
[![Build Status](https://scrutinizer-ci.com/g/apiato/apiato/badges/build.png?b=master)](https://scrutinizer-ci.com/g/apiato/apiato/build-status/master)
[![composer.lock](https://poser.pugx.org/apiato/apiato/composerlock)](https://packagist.org/packages/apiato/apiato)
[![License](https://poser.pugx.org/apiato/apiato/license)](https://packagist.org/packages/apiato/apiato)



[![forthebadge](http://forthebadge.com/images/badges/ages-12.svg)](http://apiato.io)

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


<br>

> apiato is the new name of Hello API.
>
> Hello API is the original project name, it has been renamed to apiato in March, 22, 2018 for no reason.

## Content

* [Introduction](#Introduction)
* [Features](#Features)
* [Chat](#Chat)
* [Documentation](#Documentation)
* [License](#License)


<a name="Introduction"></a>
## Into


### What is `apiato`

**apiato** is a starter project, designed to help you build scalable API's faster, by providing tools and
functionalities that facilitates the development of any API-Centric Applications.

apiato uses the best frameworks, tools and conventions in a very creative way to deliver a modern PHP Application.

Why!? setting up a solid API from scratch is time consuming (and time is money).
apiato gives you the core features of robust API's, so you can focus on your business logic and deliver faster.
Skip the repetitive work and enjoy the open source fun.


#### Intro to 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.




<a name="Features"></a>
## Features

>The apiato 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 apiato.readme.io/docs).
- 100% customizable and Open Code.
- And much more...


<a name="Chat"></a>
## Chat

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

[![Gitter](https://badges.gitter.im/apiato/Lobby.svg)](https://gitter.im/apiato/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)



<a name="Documentation"></a>
## Documentation

**apiato** is built with a new architectural pattern called **[Porto](https://github.com/Mahmoudz/Porto)**.
> **Porto SAP** is a modern Software Architectural Pattern, designed to help developers organize their Code in a super maintainable way. It is very helpful for big and long term projects, as they tend to have higher complexity with time.

Reading the simple [**Porto document**](https://github.com/Mahmoudz/Porto) is essential before starting.


### apiato full [documentation](http://apiato.io/) here.



<a name="Credits"></a>
## Credits

| Contributors           | Twitter                                 | Ask for Help                                                                                                          | Contact / Hire  | Site            |
|------------------------|---------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------|-----------------|
| [<NAME>](https://github.com/Mahmoudz) (Maker) | @[Mahmoud_Zalt](https://twitter.com/Mahmoud_Zalt) | [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/mahmoudz) | <EMAIL> | [https://zalt.me](https://zalt.me/) |



<a name="License"></a>
## License

The MIT License [(MIT)](https://opensource.org/licenses/MIT).



[![SensioLabsInsight](https://insight.sensiolabs.com/projects/1bdf99d7-13b1-46ca-8576-c6a702f9afd7/big.png)](https://insight.sensiolabs.com/projects/1bdf99d7-13b1-46ca-8576-c6a702f9afd7)

{'fraction_non_alphanumeric': 0.14468385729424232, 'fraction_numerical': 0.013140233133168491, 'mean_word_length': 3.682765464770096, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 45, 'https://': 63, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6449402', 'n_tokens_mistral': 4277, 'n_tokens_neox': 3952, 'n_words': 1344}