Hello API is an API Starter providing you everything to build a professional API with PHP on top of Laravel 5.1.
Today everything needs an API (Mobile Apps, Websites, Internet of Things,...). And setting up an API from scratch takes a lot of time, even with the existence of the many great Packages and Tools.
Hello API is a project that gives you all the common functionalities of a professional modern API, to start building your own Application on top of it immediately. It uses the best framework, packages, tools and conventions. All configured to work together in a beautiful piece of code.
The Hello API comes with great features:
- Token Based Authentication (with JWT "JSON Web Tokens").
- 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).
- Useful 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".
- Automatic Data Pagination (meta links to next and previous data).
- 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.
- Modular Software Architecture (using the Freestyle Architecture).
- Fully Object Oriented Code, implementing the best design patterns and coding techniques.
- Following the PSR-2/PSR-4 coding/autoloading standards.
- Runs on PHP 5.5.9+ (including PHP 7 and HHVM).
- Full detailed documentation.
- 100% customizable and Open Code.
Hello API is built with the latest & hottest Technologies:
- PHP (Server-Side Scripting Language)
- Laravel 5.1 LTS (Back-End Framework)
- PHPUnit (PHP Testing Framework)
- MySQL (RDBMS Database)
- Redis (Cache System)
- API Doc JS (API Documentation Generator)
- Laravel Homestead (Virtual Server Provisioning via Vagrant)
- Third Party Packages:
Hello API comes with a detailed documentation (wiki), to help you getting started and modifying the existing code.
- Intro
- General
- API
- Components
- Hidden real IDs from the response.
- IP Restriction (to whitelist or blacklist IP's).
- Request size limiting and response rate limiting.
- Automatic Code and Data Backup.
- Admin Panel (For Users Management).
- Support login with social networks (Facebook, Twitter, Github, Google).
- Back-end generators (to generate Modules and components) for faster development.
- A lot more cool stuff in mind, (never stop coding).
Suggest a feature by opening a new Issue with (
Feature -) title here.
Just do it. You are welcome :)
| Authors | Follow on Twitter | Ask for Help | Hire |
|---|---|---|---|
| Mahmoud Zalt (Creator) | @Mahmoud_Zalt | mahmoud@zalt.me |
The MIT License (MIT).
