Build Slim2 or Slim3 php mysql API
My website is work in progress however before I built it I need an API interface to mysql. The software I am using is php 5.6.21, MariaDB 10.1.13 and apache httpd/nginx.
The API will have the following features coded in Slim2 or Slim3 framework ( other frameworks can be suggested but it hes to be easy to read and understand by someone with basic php knowledge - me - so I can modify it as needed ):
* logging of all API calls to a logfile by having a DEBUG option ( on and off )
* JSON input and output must be supported ( if query is done through JSON you must return JSON output; if query done through regular GET/POST/DELETE, API must return regular output
* input methods supported: GET ( select from DB ), PUT & POST ( update DB ) and DELETE ( delete rows from DB )
* X-API-KEY or TOKEN authentication must be supported ( keep tokens in a separate table in MySQL )
* caching optional ( not mandatory )
* must have error handling ( choose what to return e.g. 403 or 500 or 404 ) to each request
* interface to mysql/mariadb will be done through a separate PDO class ( class will be provided ) - codecanyon smplpdo mysql database helper class: [login to view URL] . If you prefer your own PHP PDO class, we can discuss as I want something that is easy to understand and use.
* at the end of the project all source code will be posted ( by me ) on [login to view URL] as open source software
Project will be done in 2 phases:
1. API part ( 50%)
2. Mysql/mariadb integration ( 50%)
I will be giving you curl examples of how the API would work, later on, however for simplicity I will paste some information here as well. I can give you mysql database structure if needed.
curl [login to view URL] ( ib = API router path, test5 = user, EMAILHERE = email, US = country ) . This is a GET request ( just an example ) however in the API please make this a POST
curl [login to view URL] (display statically defined columns from table, not all columns)
curl [login to view URL] ( search and display ITEM-2016-10000 from mysql table )
Project must be done in 1 or 2 weeks. I am very keen on security so INPUT validation is a MUST!
..........if we fail to deliver quality results......we will refund the full amount without asking a single sentence .
We always work for client satisfaction with 24x7 support.
Try our services we will make you feel happy :)