Nowadays, the number of devices with internet access show a steady increase compared to the numbers from a few years ago. Because of this, currently we cannot imagine a popular application without any server-client logic appearing in it. These days, trends show that one of the most popular implementation for the server-client architecture is a server side implemented REST API interface with a REST client connected to it. The RESTful principles are well-defined for this kind of applications, however, there is still the freedom to make your own implementation of it in order to fit to your project. This makes the architecture really flexible and capable for a usage in almost every project which includes the server-client hierarchy.
The goal of my thesis is to design and implement a PHP framework by gaining a better insight and applying the best and most widely accepted practices of this architecture principle. I would also like to insert an application into this framework. In both cases I will use a PHP language. In addition, my essay will list the current opportunities on the market and I will compare those to my system.
The implemented framework and application was written with the usage of PHP 7 script language, which is the newest PHP version accessible and it contains a large number of new features compared to the version number 5.x. The main idea behind my thesis is to implement the framework and this can help with the familiarization of the new features of this PHP 7 language and also the basic principles of the REST architecture.
The application idea itself was taken from a real-life example and it provides an easy solution for the problem. This problem might concern a lot of university students who are trying to find an easy solution for the everyday problem of being able to control their monthly outcome: the rent fees and the electricity, water and gas consumptions. This application idea provides an easy and searchable channel for the communication between the tenant and the landlord. The REST API framework and the application logic have both been created to deliver this channel.
Besides showing the implementation process of the application, the thesis puts emphasis on the underlying technologies and tools. In addition, it also shows the important steps of the development processes such as the importance of the testing and quality.