recchia / todo

A todo task list

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TODO API

A todo task list

This api was develop on top of the following tools.

  • Api Plarform - REST and GraphQL framework to build modern API-driven projects
  • Nginx - Nginx [engine x] is an HTTP and reverse proxy server.
  • PHP-FPM - Alternative PHP FastCGI implementation with additional features useful for sites of any size.
  • MYSQL - MySQL is the world's most popular open source database.
  • Redis - Redis is an open source, in-memory data structure store.
  • Docker - Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
  • Blackfire - Continuous PHP Performance Testing.

Requirements

  • Docker 17.12.1-ce
  • Docker Compose 1.19.0

Setup, Build & Run

In order to getting the api working you need to execute the next commands.

$ git clone https://github.com/recchia/todo.git
$ cd todo
$ docker-compose up -d
$ docker exec -ti todo_php bash
$ composer install --prefer-dist

Next you should browse http://127.0.0.1:8080 to see the app running and click on document link to see examples and try the API.

Blackfire (Optional)

Blackfire empowers all developers and IT/Ops to continuously verify and improve their app’s performance, throughout its lifecycle, by getting the right information at the right moment.

In order to use it you need export the following environment variables. You can set those in user .profile file.

$ export BLACKFIRE_CLIENT_ID=[hash]
$ export BLACKFIRE_CLIENT_TOKEN=[hash]
$ export BLACKFIRE_SERVER_ID=[hash]
$ export BLACKFIRE_SERVER_TOKEN=[hash]

The credentials must be obtained in the blackfire website creating a free hack account. You need install too the companion plugin in your browser. The Companion is currently available for Google Chrome and Firefox

This step is optional and only needed if you want to profile the application, but you can remove the blackfire service from docker-compose.yml file.

About

A todo task list


Languages

Language:PHP 88.8%Language:HTML 11.2%