Note: Dotkernel API has come a long way since this post was created; a newer version is documented separately.
Dotkernel API 1.0.0 was just released.
What is Dotkernel API?
It is a Zend Expressive 3 application aiming to help developers quickly and efficiently develop an API.
How Does It Work?
Under the hood, it uses the following libraries:
ezimuel/zend-expressive-api- skeleton application on which this API is baseddotkernel/dot-annotated-services(^1.1) - for handling dependency injection in your servicesdotkernel/dot-console(^0.1.1) - for developing console applicationsdotkernel/dot-errorhandler(^1.0) - which provides customizable error loggingdotkernel/dot-mail(^1.0) - for sending emails via SMTPzendframework/zend-expressive-authentication-oauth2(^1.0) - for OAuth2 authenticationzendframework/zend-expressive-authorization-rbac(^1.0) - for role-based permissionszendframework/zend-expressive-twigrenderer(^2.4) - for composing email bodiesdasprid/container-interop-doctrine(^1.1) - database abstraction layertuupola/cors-middleware(^0.9.4) - for automatically sending CORS headers with each requestswagger-api/swagger-ui(^3.22) - for creating OpenAPI 3 documentation
What Does It Offer?
Out-of-the-box, Dotkernel API provides the following features:
- Secure authentication via OAuth2
- Two user roles: admin and member
- Admin users are allowed to manage any user account
- Members are allowed to manage only their own accounts
- OpenAPI 3 documentation - also an interactive interface that developers can use to integrate your API
Frequently Asked Questions
What is Dotkernel API? +
It is a Zend Expressive 3 application aiming to help developers quickly and efficiently develop an API.
What key libraries does Dotkernel API 1.0.0 use? +
Among others, it's built on the `ezimuel/zend-expressive-api` skeleton, and uses `dotkernel/dot-annotated-services` for dependency injection, `dotkernel/dot-console` for console applications, `dotkernel/dot-errorhandler` for error logging, `dotkernel/dot-mail` for SMTP email, `zend-expressive-authentication-oauth2` for OAuth2 authentication, `zend-expressive-authorization-rbac` for role-based permissions, and `swagger-api/swagger-ui` for OpenAPI 3 documentation.
What features does Dotkernel API 1.0.0 offer out of the box? +
Secure authentication via OAuth2, two user roles (admin and member), where admins can manage any user account and members can manage only their own, plus OpenAPI 3 documentation with an interactive interface developers can use to integrate the API.