Join our chatting room on Gitter:
The project is currently under heavy development. So expect major updates without notice. Also note that there's no stable release till this date.
If you used Hello API before
21 June 2016
you may need to check the branch 0.1
Hello API is a Starter providing everything to build a modern API-Centric application, with PHP and Laravel 5.3.
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.
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 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.
The Hello API comes with great features:
- Token Based Authentication (with JWT "JSON Web Tokens").
- API Throttling (Rate Limiting).
- Query Parameters support out of the box (orderBy, sortedBy, filter, include).
- Full-text search support out of the box (search, searchFields).
- User Endpoints (Login, Logout, Register, List, Update, Delete, Search).
- Functional Tests covering all the existing Endpoints (using PHPUnit).
- Auto API Documentation generator (using the API Doc JS).
- Authorization system (ACL), with Default Super Admin seeding.
- Support ID hashing, to hide original IDs from users (using HashID).
- Data Caching support (with auto clearing on Create, Update and Delete).
- Social Authentication supported out of the box (Facebook, Twitter, Google+)
- Supports CORS "Cross-Origin Resource Sharing".
- Localization support (multiple languages via Content-Language header).
- Send Emails from App to User & User to App (Welcome, Email Confirmation, Contact Us,...).
- Automatic Data Pagination (meta links to next and previous data).
- Support Visitors Authentication by Device ID (Use first register later).
- Http Requests/Response Monitor and Debugger (easy test your Apps requests).
- 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.
- Optional support for JSON with padding (JSONP).
- Maintainable and scalable Software Architectural Pattern (using Porto SAP).
- Ready Middlewares for WEB, API and App Authentication.
- Easy to support payment gateways (Ready for Stripe and Paypal).
- Ready Admin dashboard infrastructure (just drop your admin views).
- Fully detailed documentation (on www.hello-api.readme.io/docs).
- 100% customizable and Open Code.
- And much more...
Hello API is architectured using the Porto Software Architectural Pattern.
Thus you MUST read the Porto Document before starting.
Just do it. You are welcome :)
Contributors | Ask for Help | Contact / Hire | Site | |
---|---|---|---|---|
Mahmoud Zalt (Creator) | @Mahmoud_Zalt | [email protected] | http://zalt.me |
The MIT License (MIT).