All Projects → dotkernel → api

dotkernel / api

Licence: MIT license
DotKernel's PSR-7 REST style API built around the Mezzio API skeleton.

Programming Languages

PHP
23972 projects - #3 most used programming language
Twig
543 projects

Projects that are alternatives of or similar to api

travels-api
API for Travels Management - UFLA Comp Jr/20 anniversary event
Stars: ✭ 22 (+37.5%)
Mutual labels:  restful-api
go-onion-architecture-sample
Sample RestAPI project write in Go
Stars: ✭ 40 (+150%)
Mutual labels:  restful-api
rest.vertx
A JAX-RS like annotation processor for vert.x verticals and more
Stars: ✭ 138 (+762.5%)
Mutual labels:  restful-api
goexpress
An Express JS Style HTTP server implementation in Golang
Stars: ✭ 87 (+443.75%)
Mutual labels:  restful-api
gothic
🦇 Gothic is a user registration and authentication SWT/JWT microservice. It supports REST, gRPC, and gRPC Web API, reCAPTCHA & a variety of DBs with Gorm.
Stars: ✭ 65 (+306.25%)
Mutual labels:  restful-api
gateCracker
No description or website provided.
Stars: ✭ 20 (+25%)
Mutual labels:  restful-api
project-3-crm
⭐crm 客户关系管理系统模板⭐一个不错的后台管理种子项目,拥有自由设置角色自由分配权限🔑的权限管理功能,三员管理多员管理均可,前端antd vue admin后端spring-boot-api-seedling 拥有完善的功能。文档包含需求文档,设计文档和测试文档等。同时配置了travis,拥有集成测试和自动构建的功能。
Stars: ✭ 128 (+700%)
Mutual labels:  restful-api
feedpushr
A simple feed aggregator daemon with sugar on top.
Stars: ✭ 222 (+1287.5%)
Mutual labels:  restful-api
AnomalyDetection
基于智能计算框架nupic的异常检测restful Api.
Stars: ✭ 31 (+93.75%)
Mutual labels:  restful-api
Mangadb
A Secured RESTful API Service for Manga
Stars: ✭ 17 (+6.25%)
Mutual labels:  restful-api
kontenbase
Kontenbase is a no code backend API platform / Backend as a Service (BaaS)
Stars: ✭ 98 (+512.5%)
Mutual labels:  restful-api
YuiAPI
一个浏览器API测试客户端,API文档生成器,支持chrome/firefox/新版edge
Stars: ✭ 25 (+56.25%)
Mutual labels:  restful-api
egg-RESTfulAPI
基于egg.js2.x的RESTfulAPI风格的项目模板,用于快速构建高性能的服务端。
Stars: ✭ 70 (+337.5%)
Mutual labels:  restful-api
dawn-api
A RESTful API package
Stars: ✭ 25 (+56.25%)
Mutual labels:  restful-api
restful-services-in-pyramid
RESTful / HTTP services in Pyramid and Python course handout materials
Stars: ✭ 56 (+250%)
Mutual labels:  restful-api
grapevine
Fast, unopinionated, embeddable, minimalist web framework for .NET
Stars: ✭ 72 (+350%)
Mutual labels:  restful-api
ogen
OpenAPI v3 code generator for go
Stars: ✭ 436 (+2625%)
Mutual labels:  restful-api
metalarchives-api
RESTful API for metal-archives.com
Stars: ✭ 26 (+62.5%)
Mutual labels:  restful-api
mezzio-tooling
Migration and development tooling for Mezzio
Stars: ✭ 14 (-12.5%)
Mutual labels:  mezzio
RESTCountries.NET
.NET Standard wrapper library around the API provided by REST Countries https://restcountries.com. The world in .NET 🔥.
Stars: ✭ 33 (+106.25%)
Mutual labels:  restful-api

DotKernel API

DotKernel's PSR-15 API built around the Mezzio API skeleton based on Enrico Zimuel's Zend Expressive API skeleton example.

OSS Lifecycle

GitHub issues GitHub forks GitHub stars GitHub license

PHP from Packagist (specify version)

Getting Started

Step 1: Clone the project

Using your terminal, navigate inside the directory you want to download the project files into. Make sure that the directory is empty before proceeding to the download process. Once there, run the following command:

git clone https://github.com/dotkernel/api.git .

Step 2: Install project dependencies

composer install

During the installation process you will be prompted:

Please select which config file you wish to inject 'Laminas\*\ConfigProvider' into:
  [0] Do not inject
  [1] config/config.php
Make your selection (default is 1):

Please enter 0 because the application has an injected ConfigProvider which already contains the prompted configurations.

Next, you will be prompted: Remember this option for other packages of the same type? (Y/n)

Please hit Enter to accept the default option, which will also leave other packages' ConfigProviders not injected.

Step 3: Development mode

If you're installing the project for development, make sure you have development mode enabled, by running:

composer development-enable

You can disable development mode by running:

composer development-disable

You can check if you have development mode enabled by running:

composer development-status

Step 4: Prepare config files

  • duplicate config/autoload/cors.local.php.dist as config/autoload/cors.local.php <- if your API will be consumed by another application, make sure configure the allowed_origins
  • duplicate config/autoload/local.php.dist as config/autoload/local.php
  • duplicate config/autoload/mail.local.php.dist as config/autoload/mail.local.php <- if your API will send emails, make sure you fill in SMTP connection params

Optional:

  • duplicate phpcs.xml.dist as phpcs.xml
  • duplicate phpunit.xml.dist as phpunit.xml

Step 5: Setup database

Running migrations:

  • create a new MySQL database - set collation to utf8mb4_general_ci
  • fill out the database connection params in config/autoload/local.php under $databases['default']
  • run the database migrations by using the following command:
php vendor/bin/doctrine-migrations migrate

This command will prompt you to confirm that you want to run it:

WARNING! You are about to execute a migration in database "..." that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:

Hit Enter to confirm the operation.

Executing fixtures:

Fixtures are used to seed the database with initial values and should be executed after migrating the database.

To list all the fixtures, run:

php bin/doctrine fixtures:list

This will output all the fixtures in the order of execution.

To execute all fixtures, run:

php bin/doctrine fixtures:execute

To execute a specific fixture, run:

php bin/doctrine fixtures:execute --class=FixtureClassName

More details on how fixtures work can be found here: https://github.com/dotkernel/dot-data-fixtures#creating-fixtures

Step 6: Test the installation

php -S 0.0.0.0:8080 -t public

Sending a GET request to the home page should output the following message:

{
  "message": "Welcome to DotKernel API!"
}

Using the CLI:

You can access the Mezzio's CLI by using the following command:

php vendor/bin/mezzio

You can access the Laminas' CLI by using the following command:

php vendor/bin/laminas

You can access Doctrine's CLI by using the following command:

php vendor/bin/doctrine

You can access DBAL CLI by using the following command:

php vendor/bin/doctrine-dbal

You can access Doctrine's migration tools by using the following command:

php vendor/bin/doctrine-migrations

You can access app-specific commands by using the following command:

php bin/cli.php
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].