screening applicants of siit scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfour...

26
NH5 Final Report Screening applicants of SIIT scholarship Group Members Thitirat Liaonoraset 5422770545 Khunanon Chunlakan 5422770842 Advisor: Dr.Nguyen Duy Hung School of Information, Computer and Communication Technology, Sirindhorn International Institute of Technology, Thammasat University Semester 2, Academic Year 2014 15/05/2015

Upload: others

Post on 20-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

NH5 Final Report

Screening applicants of SIIT scholarship

Group Members

Thitirat Liaonoraset 5422770545

Khunanon Chunlakan 5422770842

Advisor:

Dr.Nguyen Duy Hung

School of Information, Computer and Communication Technology,

Sirindhorn International Institute of Technology,

Thammasat University

Semester 2, Academic Year 2014

15/05/2015

Page 2: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

2

Table of Contents

1.Introduction 4

2.Background 6

3.Objective 7

4.Output and Expected Benefit 8

5.Literature Review 9

6. Methodology 11

6.1 Approach 11

6.2 Tools and techniques 12

7. Project Schedule 14

8. Project Progress and Technical Description 15

8.1 System Overview 15

8.2 Requirement and Design 16

8.3 Implementation Approach 20

9. References 26

Page 3: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

3

Statement of Contribution

By submitting this document, all students in the group agree that their contribution in the project so far, including the preparation of this document, is as follows:

Ms. Thitirat Liaonoraset 5422770545 50%

Mr. Khunanon Chunlakan 5422770842 50%

Page 4: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

4

1. Introduction

Our project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the faculty department are screening scholarship applicants by hand. Since there are many scholarship program here in SIIT. We are focus at NFS scholarship only. Screening by hand is require a lot of time or it might have some inaccurate screening, Which will be an inaccurate information or missing information, So it will not use much effort to screen these applicants. But our groups are going to make a program for screening applicants for NFS scholarship which is master degree scholarship for foreign student. Faculty member to use with this application on website. It’s easy to use and accurate.

Now our Webpage has the using Ruby on rails, we set the input information page and those information are keep in database we’re using SQLlite for our database. The webpage have search engine, Search engine can search each table whether Name, University, Gpa and etc. So we are going to make it interesting by making it user friendly for faculty member does not have knowledge of computer science. Their previous research project (maybe this one can screen by hand) or can be search by our search engine, etc. This program, user will have to input the information to screen the applicants, and program will screen the information of each applicant by Ruby and logic we set in the program, so the program will show output either they qualify or not. What make this program important is that, First the screening by is use much more time than the program. Second the program will be more accurate than screening by hand.

Finally we will implement this program to PC (windows)in SIIT faculty member. Because most of faculty’s PC is implement with windows.

Page 5: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

5

1.1 Document Contents

Section 2 is the whole background to the proposal. Section 3 lists the objectives of the project. Section 4 expands on the projects outputs and benefits. Section 5 is the literature review of the project. Section 6 describes the methodology to be used, which includes the approaches. Section 7 shows the project schedule. Section 8 describes the technical description of the system, which includes the system overview, implementation, and testing. Section 9 lists all the references.

Page 6: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

6

2. Background

Screening applicants for scholarship is happens every year, various types of scholarship such as for internal scholarship or study aboard scholarship. One of SIIT scholarship EFS for master degree. This scholarship has many students from various country and university applied for this scholarship. Therefore, a lot of paper from applicants to screen out. We have to look through all the details of each applicant like GPA, University, Field of study, Country and etc. Those are a lot of work to look through. So it might have some problem that screening is not accurate and take a lot of time to do screening by hand. If there is a program that helps screening would be nice. So, we come up with an idea screening applicants program by using Ruby on rails and logic.

Ruby on rails is the new language for website. That was really easy to use not so complicated. Compare to PHP, PHP have to coding each table of the field. But Ruby on rails can create Table just by one command line the system will generate the table. Ruby on rails can implement with SQLlite so it can keep the data on webpage. It can list out the data each table and add more configuration of applicant information. Each table can have logic expression by “And”, “Or” and ETC.

So, our application will help SIIT staff to decrease amount of time by screening who don’t meet SIIT expectation beforehand.

Page 7: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

7

3. Objectives

The aim of this project to categorize the applicants who satisfy all of the condition and list out the satisfy applicants. In order to achieve this we will do research by Ruby on rails, Logic and some other implement language if needed. Get the reasons applicant previous why they are satisfied and why they are not. Learn the grading system that not the same system that we use in SIIT.

Following the project aim, the following objectives must be met:

- Understanding Logic - Find reason why previous applicants who satisfy SIIT scholarship - The Program must list out satisfy applicants - Create a user-friendly application that have good interface and is easy to

use. - Understand Ruby on rails language - Study JSON

- Understanding bootstrap - Learning SQL

Page 8: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

8

4. Outputs and Expected Benefits

4.1 Outputs The screening applicant application will list out students pass the entire

rule that we set in the Ruby on rails. If they are not passing only 1 of the rule we set then that student not going to be in the list. Interface of the program is easy to use does not require technical skill.

4.2 Benefits It is useful for SIIT staff to screening applicant use less time than screening

by hand. If do some further update and development this application can do more than just screening like can define applicant is satisfy right away real-time operate system

Page 9: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

9

5. Literature Review

Ruby on Rails, or simply Rails, is an open source web application framework written in Ruby. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as XML or JSON for data transfer, and HTML, CSS and JavaScript for display and user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns. Many people use Ruby in their daily jobs. Others just as a hobby. So, you will find a small sample of real world usage of Ruby.

-Simulations

NASA Langley Research Center uses Ruby to conduct simulations.

-3D Modeling

Google SketchUp is a 3D modeling application that uses Ruby for its macro scripting API.

-Business

Toronto Rehab uses a RubyWebDialogs based app to manage and track on-call and on-site support for the IT help desk and IT operations teams.

-Robotics

At MORPHA project, Ruby was used to implemented the reactive control part for the Siemens service robot.

-Networking

Open Domain Server uses Ruby to allow people using Dynamic DNS clients to update in real time their IP configuration so that it can be mapped to static domains.

-Telephony

Ruby is being used within Lucent on a 3G wireless telephony product.

Page 10: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

10

-System Administration

Ruby was used to write the central data collection portion of Level 3 Communications Unix Capacity and Planning system that gathers performance statistics from over 1700 Unix (Solaris and Linux) servers scattered around the globe.

-Web Applications

Basecamp, a web-based project management application developed by 37signals, is programmed entirely in Ruby

• The Application program

http://www.tsa.gov/tsa-precheckR-application-program

Figure1

TSA Pre✓® includes members of the TSA Pre✓® application program or participants of a U.S. Customs.

TSA will always incorporate random and unpredictable security measures throughout the airport and no individual will be guaranteed TSA Pre✓® screening. An applicant must be a U.S. citizen or Lawful Permanent Resident (LPR) and cannot have been convicted of certain crimes. If an applicant has a record of any of the crimes identified in the eligibility requirements, they may choose not to apply, as the application fee is nonrefundable. Interested applicants must visit an application center to provide

Page 11: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

11

biographic information that includes name, date of birth and address. An applicant will be fingerprinted and will be required to provide valid required identity and citizenship/immigration documentation. An applicant also has the option to pre-enroll online to provide basic information and make an appointment before visiting an application center.

6. Methodology

6.1 Approach

First, we search configuration which is required by scholarship. For example, we do screening first we focus on 3 major categories GPA, university, faculty. These 3 categories have to satisfy the condition in order to proceed to the next step. GPA must be greater than we set like 3.0, university is needed and faculty must study in Technology or engineering. If pass all of 3 conditions we will proceed to the next step. We have limited scholarship to give away so we select applicant the have better GPA to give a scholarship. How do we do it? Ruby can set rule and facts in order to screening we set rules for example GPA Greater than 3.5 and applicants detail is the facts we input into the program. If facts satisfy by rule so that applicant will pass the screening. We mainly focus on EFS scholarship for master degree. This program will be uses by SIIT faculty member to screening applicants for EFS scholarship. We have to design our logic of program first screening by 3 majors’ categories and do the rest of screening then put them into ranking. After we finish designing the application, then we will design a user interface, and make a logic scenario. After that, start implementing, Testing and reviewing the code.

Page 12: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

12

Figure 7: flow chart

6.2 Tools and Techniques 6.2.1 Tools

All tools are open source.

JavaScript is a prototype-based scripting language. It can be implemented as part of a web browser in order to give enhanced user interfaces and dynamic websites.

JSON (JavaScript Object Notation) is a text-based open standard de-signed for human-readable data interchange. It is often used for transmitting structured data over a network connection.

MySQL is an open source relational database management system.

Ruby on rails is an open-source web framework that’s optimized lets you write beautiful code by favoring convention over configuration.

Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites.

Page 13: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

13

SQLlite an in-process library that implements a self-contained, server less, zero-configuration, transactional SQL database engine

Notepad++ is a free source editor with support several programming language

6.2.2 Techniques

Logic skills

Ruby skills

SQL skills

Since everything is written in Ruby on rails, there is no doubt that we need to have a good ruby programming skill. We are also required to have knowledge about text variegation. We use Ruby on rails and notepad++ as a development tool. We also use SQLlite as an database as a tool .While bootstrap deals with web interface layout.

Page 14: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

14

7. Project Schedule This Table will represent the task that we will finish in semester 2

Task Description Person Duration Deadline Status

1 Draft Proposal KC,TL 2 weeks 29Sep 14 100%

2 Project Proposal KC,TL 3 weeks 22Nov14 100%

3 Prepare final presentation KC,TL 1 weeks 17 Dec 14 100%

4 Study Logic KC,TL 3 weeks 15Dec14 100%

5 Study how to Ruby on rails work

KC,TL 4 weeks 5Jan 2015 100%

6 Implement the program KC,TL 6 weeks 26Jan2015 100%

7 Test the program KC,TL 4 weeks 1Apr 2015 100%

8 Make final project report KC,TL 1 weeks 1May2015 100%

Page 15: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

15

8. Project Progress and Technical Description 8.1 System Overview

First of all, the Screening Applicant version one used to develop the system by using Ruby on rails. The result shown both of them have the result the same thing. So, our advisor had been changed to develop base on Ruby on rails for create our application which was using CMD to control for server system.

Screening applicant application also use Ruby Database as an API for connecting screening applicant with written in JAVA to the data in rational database. However, we use SQLlite to store data then it will sent data to calculation.

Figure 8 : 3-tiers architecture of screening applicant

Next step after we done web application layout. We will start doing the screening process by ruby on rails. The output will be print out the satisfy student to enter the next process. First we screening by GPA, Field of study, University. After the first screening process the result will show. Second, screening will require human screening to go through the paper work such as recommendation letter or senior project.

Page 16: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

16

8.2 Requirement and Design

8.2.1 Function Requirements • The system must be able to direct user that are type into the form of our

application and then perform its function. • The system must be able to show screening applicant for EFS scholarship

and give the reason why someone get the scholarship. • The system must be able to screening applicant follow by function. (eg.,

GPA over 3.5 is passed, the other is screened out.)

8.2.2 Non-Function Requirements

• User-friendly interface • Easy to use • Output must be accurate

Developer

• 2.4 GHz Processor • 8 GB of Ram • Web browser that support Ruby on rails

8.2.3 Input / Output Specification (Instruction for using the system)

• User navigates to Screening Applicant website we borrow layout from bootstrap

• User type information into our form page(Figure 10). If user signed up, then our application will keep user’s information into database.(Figure 11) If user have wrong information, they can click “edit” to change some information.(Figure 12)

• User can see list of student and check their information on “Listing Students” page (Figure 13)

• Web can config each table on the web (Figure 14) • Web search engine or screening condition(Figure 15)

Page 17: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

17

Figure 10: New student add

Figure 11 : Check user’s information page

Page 18: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

18

Figure 12 : Edit information

Figure 13: Show list of student page

Page 19: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

19

Figure 14: Config

Figure 15: Search Engine

Page 20: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

20

8.3 Implementation Approach

8.3.1 Implement Section for call Algorithm

Step 1) created a development database. We create a rails application, the database and Generate scaffold via SQLlite. Using Command Prompt to open files and rails server

Figure 16: Using Command Prompt open file and server

The reason why we use Ruby language is easy to coding program and can store data into this program (using scaffold for storing data). When we want to screening, it brings data to use from storage suddenly.

Step 2) we used migration to create and modify the schema in our development database.

Page 21: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

21

Figure 17: Migration

Look at the code each table define each table whether this table is digit, text and etc. Then we add foreign key.

Page 22: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

22

Figure 18:Some of Schema

This show some of our schema so we define each table to string easy to screen in database. And each table have their own id and sent to to .db file

Step 3) We used scaffold generator to create table of each field and we use bootstrap to create our page layout

Figure 19: The stylesheet create an HTML

Page 23: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

23

The stylesheet_link_tag creates an HTML<link> tag, which loads stylesheets “public/stylesheet” directory. So, it has the stylesheet all in place, it will editing the file “index.html.erb” in “app/views/sudos”, replacing the scaffold-generated.

Step 4) We loaded some test data into the database, we rewrote the index.html.erb file that displays the listing of students. Then we add registered student to database.

Figure 20: this is where we stored data

Step5) Create new student we use JSON to transmit data

Figure 21: Create new student

Page 24: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

24

Step6) Update student we use JSON to transmit data.

Figure 23: Update student

Step7) Delete student code

Figure 24: Delete student code

Step8) Join each table

Figure 25:Join table by left join

Page 25: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

25

Step 9) Useful for describing 1:1 or n:1 relationships (note that n:1 is the reverse of 1:n, so you're looking at the relationship in the opposite direction.)

Useful for describing 1:n or n:n relationships. Using the 1:n relationship, we are looking at a single object and looking at the 1 or more other objects related to the first object.

Figure 27: Active Record Associations

Step10) After the web content is loaded. System will perform this step; Word searching. We concatenate what’s inside the buffer into string. We create logic

Page 26: Screening applicants of SIIT scholarshipict.siit.tu.ac.th/senior-itcs/final/report-nh5.pdfOur project is a Program screening applicants by using Ruby on rails and SQLlite. Now in the

Senior project 2014 Screening application for SIIT scholarship

26

expression Equal, Not equal, More than, Less than and Contain

Figure 26: Search engine

9. References

Logic courses https://www.coursera.org/course/intrologic

Bootstrap https://www.getbootstrap.com/

Ruby on rails http://rubyonrails.org/

https://www.gotoknow.org/posts/175378

http://onrails.exteen.com/20090602/ruby-on-rails

Stack overflow

http://stackoverflow.com/

Visual machine https://www.virtualbox.org/