Main Project Structure

This is the structure of the main project I have done. It was done from scratch and using Phalcon along with Redis and MySQL. All installed in a CentOS.

drawit-diagram

The system is a black box with the purpose of communicate all service providers to any Department, or company within the group. It has a Rest API for getting all the info and is able to manage transactions from the Service providers.

The calls into the API are done within 3 security checkpoints, unique IP filter of service, secret token for service communication and signature for client identification. The identification is granting authorization to several endpoints and information upon the DB.

Redis is helping MySQL as for 80% of the request are never Hitting MySQL. This might not be noticeable in a short period of life spam in the application but within the data grow it will support several years before collapsing.

The use of Phalcon along with Redis and with FastCGI is giving API responses with 10 – 12 inserts at time of 60ms. The read ratio was down to 20ms (local env).

The speed and the structure of this project ensures the easy intervention of other developers and the architecture ensures that it will be easy to develop on it as all common methods are in abstract classes and all required method are defined within the interfaces of the project structure.

I’m a personal fanatic of performance and scaleability, the more active users the system has the more cash the company gets! So lets give them a fast and clean service