Internship Application System (IAS) for University Students using Laravel

Industrial training or internship is an important part of a study program for all university students in Malaysia. The current implementation is done manually where students must apply for internship by filling in paper forms. The purpose of the study is to design, develop and evaluate the Internship Application System (IAS) for university students using Laravel PHP framework. Laravel is a fully-fledged Model View Controller (MVC) framework chosen due to many features it supports, which are valuable set of characteristics which will speed up web development and create powerful, interactive layouts with the contents. Agile methodology was implemented as the research methodology for this study. This methodology consists of five phases which are requirement, planning, design, develop and release. A set of questionnaires was given to participants to evaluate the usability of IAS. Most participants agreed that using the developed system can improve internship application process, with some suggestions on refinement also given to improve the system.


INTRODUCTION
There Industrial training or internship is an important part of a study plan for all university courses in Malaysia. To gain working experience, students should involve internship program which it is part of the university curriculum (Phang, Yusof, Saat, & Yusof, 2014). Internship is important to all students to help them build confidence level and lead to find a job in future (Patki, Patki, & August, 2015).
Current system of internship application is using manual process, where students fill in their details in a Google form. Details include basic student's information, and company details. Coordinator will generate an official letter, where students will need to manually print to attach with their resume, internship scope and objectives and a feedback form to their preferred company. Coordinators then will receive the feedback form by fax or email, where the student's application status is accepted or rejected by the company. Most students also will receive feedbacks via their email, but some do rely on coordinators since some companies send their feedback form using fax or physical letters only.
This method of internship application produces a lot of issues, which can lead to time consuming process and pushes tougher responsibilities towards both coordinators and students. Problems include miscommunication between coordinators and students, where coordinators usually create a group WhatsApp for the class representatives as a medium to disseminate information. However, not all students are aware of the information. Besides that, using the Google form prevents use of excessive paper form usage, and helped ease the coordinator's task to keep all student's information in one place, but still cannot prevent human errors. Therefore, the development of web-based system of IAS is to provide automation from current manual, time consuming process to a web-based system which can help speed up the internship application.

Model View Controller (MVC)
A model is the mode by which the developer can manipulate the data. It consists of a layer residing between the data and the application. The data itself can be stored in various types of database systems such as MySQL or even simple XML or Excel files (Armel, 2014).
Views are the visual representation of our web application (presentation layer), they are responsible for presenting the data that the controller received from the model (business logic). They can be easily built using the Blade template language that comes with Laravel or simply using plain PHP code. Blade is driven by template inheritance and sections.
The primary function of a controller is to handle requests and pass data from the model to the views. Thus, a controller can be considered as the link connecting our model and views. The developer has the option to write her/his business logic either in routers or controllers. Routers can be useful when dealing with a small web application, or in rapidly defining static pages. Writing controllers for every single page of the web application is thus not necessary (Armel, 2014).

Laravel
The used of Laravel is to design and improve the system that was developed and reduce time and cost. Laravel have its own special features which enables developers to develop a web-based system without losing any data or functionality (Armel, 2014). Laravel can create a simple process or system that have good design and most advance and elegant for PHP framework (Akash, Rohit, & Shivganga, 2017). Several other benefits include increase in popularity among PHP frameworks, able to create powerful layouts, and being able to produce secure applications. Laravel is a fully-fledged MVC framework. MVC rapidly became the industry's standard practice used in every modern development environment.

SYSTEM DEVELOPMENT
The development process adheres to the Agile methodology. IAS is developed during the fourth phase, which is the develop phase. After prior investigation and requirements for the system are gathered, coding is written using Laragon, MySQL and Sublime.

Database -Model
Database is an important element of every web system. Thus, model allows developers to create, define tables and columns for the database. Laravel allows migration, where in situations where change of attribute in a table is needed, developers just need to refresh migration and edit changes within the model. Figure 1 illustrates an example of coding of model in IAS.

Interface -View
View is for represents the interface through which the user interacts to the system. For this project, the view file is saved with extension .blade.php, where it contains field of input and for user design interface of the page. Figure 2 illustrates a code snippet of view in IAS. This project also uses Boilerplate template from GitHub which provided developers with many features of development and just add on a necessary button, page or others. Boilerplate template consists of two users which is for backend is for administrator, and frontend is for user. The backend part of the system is for coordinator who will manage students, while the frontend part is for students or users. Figure 3 below shows an example of student dashboard for IAS, where students can access once registration is done.

Functionality -Controller
Controller handles user requests and retrieve data, by leveraging models. Each model has its own separate controller, allowing the process to be restricted within each own boundaries. Figure 4 illustrates an example of coding of controller in IAS.

RESULTS AND ANALYSIS
For usability testing, a total of twenty respondents were randomly selected among Computer Science students. Furthermore, two lecturers or coordinators which have prior experience in handling internship programs were also invited to evaluate on the usability of the system.

Usability Testing with The Students
First, respondents were given a few minutes to explore the system, in which to get them accustomed with the functions and interface of the system. Respondents were also encouraged to use their own, actual personal details. Afterwards, a questionnaire was provided to have them rate the system, based on scale from 1 which is for 'Strongly Disagree' up until scale 5 which is 'Strongly Agree'. All their feedbacks and suggestions were recorded and analysed. The questionnaire for students is further described in Table 1. Overall, I am satisfied with how easy it is use to this system. 2 It was simple to complete the applying and view status.

3
The system gave error messages that clearly told me how to fix problems 4 All links worked well 5 The interface of this system was pleasant 6 Easy to click on the button 7 The text is clear and readable 8 Sentences and words used in this website is understandable 9 This system has all the functions and capabilities I expect it to have Based on the analysis, feedbacks received from respondents were quite positive. Most respondents were able to explore the system with minimum guidance, thus reducing the learning curve needed when interacting with the system. Applying and viewing status process was improved by using controller. Model allowed the system to properly store user's application details. Besides that, all positive aspects related to interface of IAS were made possible using proper template and the view part of MVC.

Usability Testing with The Lecturers (Coordinators)
For lecturers or coordinators, a different set of questions were given to assist them in evaluating the system. Before evaluation, they were also invited to explore first on the coordinator's part of the system. The questions are described further in Table 2. The information provided is easy to understand 2 This website helps coordinator to more efficient during monitoring students 3 For column on your student status is clear and understand what it means. 4 All links worked well 5 I have no difficult while using this website 6 Easy to click on the button 7 The text is clear and readable 8 The system gives error messages that clearly tell me how to fix it 9 Overall, I am satisfied with this system Based on the observation, the IAS also received positive feedback from coordinators, in which they were satisfied with the overall functions and interface of the system. Implementing MVC using Laravel allowed IAS to provide better management for lecturers or coordinators, where they usually must manage a lot of students. MVC framework also is very flexible and extendable, allowing the developer to add more functions in the future.

Feedbacks and Refinement Suggestions
Comments and suggestions from both students and coordinators are compiled for future refinement of the system. The following Table 3 shows few examples of feedbacks received from students. An online system that can attach with resume and sent it through email after applied 2 Easy and faster than using the manual form 3 Stating the rule of what to have on applying the internship 4 Put a step more details so the user is more aware what to be done next 5 Must have tutorial how to use the system Table 4 shows examples of feedbacks received from coordinators. This system should provide another function for current status (list all status -accept, reject, pending) in order.

2
May include notification using email to coordinator or student for each accept or reject

CONCLUSION
The backbone of the IAS system was developed using Laravel, a renowned Model View Controller (MVC) framework which has many benefits. As a conclusion, most participants agreed on the ease of use the system provides, in terms of its functionality as well as its interface. Laravel enables developers to use the combined element of model, view and controller for proper development of a robust system. IAS can also be further enhanced in the future, thanks to the flexibility features of Laravel. Therefore, this system was able to provide benefits to all person involved in internship program, including students, coordinators and the university itself.