Design and Implementation of Web Application Based on MVC Laravel Architecture

— Developing web applications with traditional methods causes large limitations such as a lot of time consuming, number of unexpected errors. A novel approach technology of MVC framework is built by some companies to deal with such issues. This paper presents a design and implementation for web application with Laravel framework. This research makes us find out that the development was standardized and much scalability, so it gives us more efficiency through the implementations.


I. INTRODUCTION
In modern Information Technology industry, it is essential for web developers to know at least one battleproven framework. There are several advantages and benefits of using web framework in general and Laravel in particular. Framework is a product of collective intelligence, comprising many robust libraries and convenient tools from other developers. They help to reduce most of the repetitive tasks and complex tasks in simple interface, which means developers can write less and do more with highest quality in a certain amount of time. Therefore, using a reliable framework also help to lower the development cost [1], [2].
Furthermore, using a robust web framework also helps to strengthen the security of the application. It does not require developers have a deep knowledge about security. There are many forms and types of cyber-attacks, fortunately, Laravel as well as most of web frameworks support several features to prevent basic security vulnerabilities such as SQL injection, cross-site request forgery (CRF) and cross-site scripting (XSS) [1], [2].
Moreover, Laravel also provides a well-structured skeleton for building big projects. Basically, Laravel employ the famous MVC architectural pattern, which helps organizing code better. MVC pattern separate the business logic (models), the control coordination (controllers) and the presentation of data (views) into 3 different layers [3].
The main outcome of this paper is to build a journal website which allow users view information, published articles and submit their articles. In order to submit articles, guest must open an account and login to the system. In the backend side, administrators can also create and manage information, papers, and users.
The remainder of the paper is organized as follows. Section II presents the MVC Laravel framework. In section III, the system design and implementations are illustrated. Section IV shows the results of website. Finally, Section V concludes this paper and figures out the future works.

II. MVC LARAVEL FRAMEWORK
The Model-View-Controller pattern nowadays has widely been used by companies and developers [4]. The MVC architecture is shown in Fig. 1.
Model is an abstraction layer, which presents data in an application. In general, it usually corresponds to the records in DBMS database or any type of storage engine such as NoSQL or Microsoft Access. In Laravel 5, a Model usually extends from Eloquent master class and presenting a table in database [5]- [8].
View is the layer that present data in suitable and in desire format for end client, and usually presented as a HTML web page. It is the final visual presentation of data in a web application that Controller has received based on the change from Model. Laravel 5 come along with Blade template language, which allow developers create reusable and maintainable layouts and template components [5]- [8].
Controller is the layer that handles requests and return appropriate responses to the correct View. Therefore, Controller acts as a coordinator between View and Model. In other words, it is the logical layer of the application. For example, controller can receive form submission from the View and perform validation, writing valid data to a database, and redirecting users to other routes [5]- [8]. Journal web system design and planning will be presented through Unified Modelling Language (UML). The design part for the application is so important for the quality management [9]. The requirements are being collected by analysts and then converted into diagrams. These diagrams to show the developer how the system is working and how the data are been flowed through the system. We will show some parts such as activity diagram, ER diagram, SQL schema that may be important to be shown.
A. System Architecture Some processing diagrams are illustrated as follows.

1) Registration system diagram
Registration system is shown in Fig. 2.

2) Submit manuscript diagram
Submit manuscript diagram is shown in Fig. 3.

3) Reviewer's review diagram
Reviewer's review diagram is shown in Fig. 4.

4) Editor's feedback diagram
Editor's feedback diagram is shown in Fig. 5.
B. Detailed ER diagram The Detailed ER diagram is shown in Fig. 6.   C. SQL Schema The SQL schema is shown in Fig. 7.

IV. RESULTS
By the time this paper was written, the journal website was completed and tested. Here are some screenshots of the web pages from Fig. 8 to 17.

V. CONCLUSION
The paper objectives were to analysis, design and implement a journal website using MVC pattern technology. The Analysis and Design part clear up the website basic features together with initial description of mentioned subcomponents. Additionally, this part presents gathered requirements based on not only user's expectations but also the needs for an application and management requirements.
Through the implementation of the system, we can figure out the following points: 1. The requirements gathering and design help the developers to avoid the flaws and understand the workflow easily. 2. Using the OOP pattern makes the codes more efficient and easier to reuse the functions and that make the development faster. 3. Using the MVC to develop an application is more securable because of the built classes such as authentication, routing, database managing, sending emails Class auto loading. The first version of the website was successfully deployed. According to feedback, this solution met with success in most aspects. This is motivation so that in the future we will improve the remaining aspects of the system more efficient.