0% found this document useful (0 votes)
96 views47 pages

Tribhuvan University: Institute of Science and Technology Kirtipur, Nepal

The document is a final year internship report submitted by Santosh Rana Magar to Tribhuvan University in partial fulfillment of a Bachelor's degree in computer science. It details a 3-month internship at ADMC Engineering Pvt. Ltd., where Magar developed a form builder and data collection application. The report includes declarations of work completed, recommendations from mentors and supervisors, an abstract summarizing the project, and table of contents outlining chapters on introduction, literature review, system analysis, design, implementation, and conclusion.

Uploaded by

Swagat Koirala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views47 pages

Tribhuvan University: Institute of Science and Technology Kirtipur, Nepal

The document is a final year internship report submitted by Santosh Rana Magar to Tribhuvan University in partial fulfillment of a Bachelor's degree in computer science. It details a 3-month internship at ADMC Engineering Pvt. Ltd., where Magar developed a form builder and data collection application. The report includes declarations of work completed, recommendations from mentors and supervisors, an abstract summarizing the project, and table of contents outlining chapters on introduction, literature review, system analysis, design, implementation, and conclusion.

Uploaded by

Swagat Koirala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Tribhuvan University

Institute of Science and Technology

Kirtipur, Nepal

Final Year Internship Report

on

Form Builder & Data Collection Application

At

ADMC Engineering Pvt. Ltd.

Under the Supervision of

Mr. Bikash Balami

In partial fulfillment of the requirements

For Bachelor of Science in Computer Science and Information Technology

Submitted by:
Santosh Rana Magar
TU Exam Roll No: 7511/072
TU Regd. No: 5-2-0577-0177-2015

Submitted to:
Department of Computer Science and Information Technology
Nepalaya College, Kalankisthan, Kathmandu

February 2020
Student’s Declaration

I hereby declare the internship report entitled Internship Report on Form Builder
& Data Collection Application submitted to the office of dean, Faculty of Science
and Technology, Tribhuvan University, is my internship done in partial fulfillment
of the requirements for the Bachelor of Science in Computer Science and
Information Technology under the supervision and guidance of Mr. Bikash Balami
as a supervisor and Er. Sandeep Adhikari, GIS/IT Manager of ADMC
Engineering Pvt. Ltd. as a mentor.

______________________

Mr. Santosh Rana Magar

Symbol No: 7511/072


Mentor’s Recommendation

I hereby recommend that this report, entitled Internship Report on Form Builder
& Data Collection Application, prepared under my supervision by Mr. Santosh
Rana Magar [7511/072] in the partial fulfillment for the requirement of Bachelor
of Science in Computer Science and Information Technology of Tribhuvan
University be processed for the evaluation.

___________________

Er. Sandeep Adhikari

GIS/IT Manager

ADMC Engineering Pvt. Ltd


Supervisor’s Recommendation

I hereby recommend that this report, entitled Internship Report on Form Builder
& Data Collection Application, prepared under my supervision by Mr. Santosh
Rana Magar [7511/072] in the partial fulfillment for the requirement of Bachelor
of Science in Computer Science and Information Technology of Tribhuvan
University be processed for the evaluation.

___________________

Mr. Bikash Balami

Visiting Faculty

Nepalaya College
Certificate of Approval

This is to certify that the project prepared by Mr. Santosh Rana Magar [7511/072]
entitled Internship Report on Form Builder & Data Collection Application, in
the partial fulfillment for the requirement of Bachelor of Science in Computer
Science and Information Technology has been well studied. In our opinion it is
satisfactory in the scope and quality as an intern report for the required degree.

Evaluation Committee

____________________ ____________________

Mr. Bikash Balami (External Examiner)

(Intern Supervisor) Central Department of Computer


Science and IT
Visiting Faculty
Tribhuvan University,
Nepalaya College
Kirtipur, Nepal
Acknowledgement
The internship opportunity I had with ADMC Engineering Pvt. Ltd. was a great
opportunity for learning and professional development. Therefore, I consider myself as
a very lucky individual as I was provided with an opportunity to be a part of it and I
perceive this opportunity as a big milestone in my career development.

I express my utmost gratitude to GIS/IT Manager of ADMC Engineering Pvt. Ltd. Er.
Sandeep Adhikari, who in spite of being extraordinarily busy with his duties, took
time out to hear, guide and keep me on the correct path and allowing me to carry out
project at their esteemed organization and extending during the training.

I am highly honor-bound to my supervisor Mr. Bikash Balami and internal examiner


Mr. Ananda KC for taking part in useful decision and giving necessary advice and
constant guidance and arranged all facilities to make it possible. I choose this moment
to acknowledge their contribution gratefully.

Finally, I would like to express my deepest thanks toward my family and friends for
their kind co-operation and encouragement and special thanks to my mentor and
supervisor.

Santosh Rana Magar (TU Exam Roll No: 7511/072)

i
Abstract
This report has been prepared for the internship that has been done on Data Collection
Web Application at ADMC Engineering Pvt. Ltd., New Baneshwor, Kathmandu.
Data collection is a key component of an information system. The use of Internet to aid
research practice has become more popular in the recent years. Internet surveying and
electronic data collection may revolutionize many disciplines by allowing for easier
data collection, larger samples, and therefore more representative data. Since web
services are platform-independent, it can access data stored in the JSON format from
any platform.
This system is used to make dynamic forms using form builder component of system
and make those forms available online to the user of organization user through REST
API. Users fill those forms and send data to the organization web server.

Keywords: Data, Internet, JSON, Form, REST, API.

ii
Table of Contents

ACKNOWLEDGEMENT ........................................................................................... I
ABSTRACT ................................................................................................................. II
LIST OF ABBREVIATIONS ............................................................................... VIII
CHAPTER 1: INTRODUCTION ............................................................................... 1

1.1 INTRODUCTION OF INTERNSHIP .......................................................................... 1

1.2 BRIEF INTRODUCTION OF ORGANIZATION ......................................................... 1

1.2.1 About Organization ....................................................................................... 1

1.2.2 Organization Hierarchy ................................................................................. 2

1.2.3 Contact Details .............................................................................................. 2

1.3 DURATION OF INTERNSHIP .................................................................................. 3

1.4 BACKGROUND ...................................................................................................... 4

1.5 PROBLEM STATEMENT ........................................................................................ 4

1.6 OBJECTIVES ......................................................................................................... 4

1.6.1 Objectives of internship program .................................................................. 4

1.6.2 Objective from the Internship Project ........................................................... 5

1.7 ROLES AND RESPONSIBILITY ............................................................................... 5

1.8 DETAILS OF THE WORK DONE .............................................................................. 6

1.9 MOTIVATION ........................................................................................................ 6

1.10 REPORT ORGANIZATION ................................................................................... 7

Chapter 1: Introduction ........................................................................................... 7

Chapter 2: Literature Review ................................................................................. 7

Chapter 3: System Analysis .................................................................................... 7

Chapter 4: System Design ...................................................................................... 7

Chapter 5: Implementation and testing ................................................................... 7

iii
Chapter 6: Conclusion ............................................................................................ 7

CHAPTER 2: LITERATURE REVIEW .................................................................. 8


CHAPTER 3: SYSTEM ANALYSIS ....................................................................... 10

3.1 REQUIREMENT COLLECTION ............................................................................ 10

3.2 REQUIREMENTS ANALYSIS ................................................................................ 10

3.2.1 Functional Requirements ............................................................................. 10

3.2.2 Non-Functional Requirements ..................................................................... 12

3.2.3 Use Case Diagram ....................................................................................... 13

3.3 FEASIBILITY ANALYSIS ..................................................................................... 14

3.3.1 Technical Feasibility.................................................................................... 14

3.3.2 Operational Feasibility ................................................................................ 14

3.3.3 Economic Feasibility ................................................................................... 14

3.3.4 Schedule Feasibility ..................................................................................... 15

3.4 DATA MODEL ..................................................................................................... 15

3.4.1 ER Diagram ................................................................................................. 15

3.5 PROCESS MODEL ............................................................................................... 16

3.5.1 Flowchart ..................................................................................................... 16

CHAPTER 4: SYSTEM DESIGN ............................................................................ 18

4.1 SYSTEM DESIGN ................................................................................................. 18

4.1 Architecture Design ........................................................................................ 18

4.2 DATABASE SCHEMA ........................................................................................... 18

4.3 PROCESS DESIGN ............................................................................................... 20

4.3.2 Sequence Diagram ....................................................................................... 20

CHAPTER 5: IMPLEMENTATION AND TESTING .......................................... 22

5.1 IMPLEMENTATION ............................................................................................. 22

5.2 TOOLS................................................................................................................. 22

iv
5.2.1 Sublime Text 3............................................................................................. 22

5.2.2 Visual Studio Code ...................................................................................... 22

5.2.3 Postman ....................................................................................................... 22

5.3.3 NGINX ........................................................................................................ 22

5.3.4 Form.io ........................................................................................................ 23

5.3 TECHNOLOGY .................................................................................................... 23

5.3.1 Python .......................................................................................................... 23

5.3.2 Node.js ......................................................................................................... 23

5.3.3 MongoDB .................................................................................................... 23

5.3.4 PostgreSQL .................................................................................................. 24

5.3.5 HTML5 ........................................................................................................ 24

5.3.6 CSS3 ............................................................................................................ 24

5.3.7 JavaScript..................................................................................................... 24

5.3.7 JQuery .......................................................................................................... 25

5.4 DEVELOPMENT METHODOLOGY ....................................................................... 25

5.4.1 Requirement Analysis.................................................................................. 26

5.4.2 System Design ............................................................................................. 26

5.4.3 Implementation ............................................................................................ 26

5.4.4 System Testing ............................................................................................ 26

5.4.5 System maintenance and Documentation .................................................... 26

5.5 TESTING ............................................................................................................. 27

5.5.1 Unit Testing ................................................................................................. 27

5.5.2 Integration Testing ....................................................................................... 28

5.5.3 System Testing ............................................................................................ 29

CHAPTER 6 : CONCLUSION................................................................................. 30

6.1 CONCLUSION ...................................................................................................... 30

v
6.2 FUTURE ENHANCEMENT .................................................................................... 30

CHAPTER 7 : REFERENCES ................................................................................. 31


CHAPTER 8 : APPENDIX ....................................................................................... 32

APPENDIX : SCREENSHOTS ............................................................................. 32

vi
List of Figure

Figure 1.1: Organizaton Hierarchy ................................................................................ 2

Figure 1.2: Location map of Organization ..................................................................... 3

Figure 3.1: Use case diagram of the system ................................................................ 12

Figure 3.2: ER Diagram ............................................................................................... 15

Figure 3.3: Flow diagram of the system ...................................................................... 16

Figure 4.1: Architecture Design ................................................................................... 17

Figure 4.2: Database Schema ....................................................................................... 18

Figure 4.3: Sequence diagram of the system ............................................................... 19

Figure 5.1: Waterfall model ......................................................................................... 23

vii
List of Tables

Table 1.1: Duration of Internship................................................................................... 3

Table 1.2: Weekly Activity ............................................................................................ 6

Table 3.1: Create account ............................................................................................ 10

Table 3.2: Authenticate user ........................................................................................ 10

Table 3.3:Authorization user ....................................................................................... 10

Table 3.4: Project create/update/delete ........................................................................ 10

Table 3.5: Form creates................................................................................................ 11

Table 3.6: Form update/delete ..................................................................................... 11

Table 3.7: Fill Form data ............................................................................................. 11

Table 3.8: Task Schedule ............................................................................................. 14

Table 5.1: Test Cases ................................................................................................... 25

viii
List of Abbreviations

JSON - JavaScript Object Notation

UML - Unified Modeling Language

ER - Entity Relationship

DFD - Data Flow Diagram

HTML - Hypertext Markup Language

CSS - Cascading Style Sheets

JS - JavaScript

VSCode - Visual Studio Code

API - Application Program Interface

HTTP - Hypertext Transfer Protocol

GUI - Graphical User Interface

DOM - Document Object Model

SDLC - Software Development Life Cycle

ix
Chapter 1: Introduction
1.1 Introduction of Internship

An internship is a structured work experience related to a student’s major and/or career


goal. It is an experience that should enhance a student’s academic, career, and personal
development. It is an involvement, closely aligned with the student’s major and
arranged with an employer who believes it is desirable to aid in the training and
education of the student. It is of a short duration, typically three to four months, through
direct personal contact hours or through a training program, and to aid the intern in
developing a summary report of his/her experience. This internship program is designed
by Tribhuvan University for the partial fulfillment of the degree of Bachelor in
Computer Science and Information Technology. The intern is honored by the internship
program under this curriculum. This program has enhanced the skill and enthusiasms
of the students as they get knowledge of the company environments and to learn
different aspects of working mechanism that prevail in the organizations. Every subject
learned during the Bsc.CSIT course including Data Structure and Algorithm, Design
Analysis and Algorithm, Database Management System, Data Mining and Data
Warehouse, Web Technology, Distributed Database and others have been well
implemented during this internship program. During this internship period student were
introduced to the organizational structure, professional world.
1.2 Brief Introduction of Organization
1.2.1 About Organization

ADMC Engineering Pvt. Ltd. is a Geo-IT company based in Kathmandu, Nepal. The
company holds specific expertise in digital mapping, surveying, geodata management,
development of map-centric applications and infrastructure works in the realms of
buildings, roads, irrigation, water supply and sanitation, hydropower, etc. with
particular emphasis on social and environmental aspects. The prime area of the
company is in collecting and analyzing geo-tagged data to turn them into information
that can facilitate better decision making. The list of clients consists of Government and
Non-Government organizations, Hydropower companies and other small and medium
scale companies. As professionals in the sector of digital mapping and geo-information
management, ADMC Engineering Pvt. Ltd. develop platforms that can help in

1
collecting, visualizing, analyzing distributing geo data for planning, development and
analysis.
1.2.2 Organization Hierarchy
The organization’s structure has evolved to perform better, as an organization and to
provide excellent services to the users. The company has departments to facilitate the
business process, which also has good coordination among each other. The
organizational hierarchy has also maintained according to its various lines of work. The
Organization Chart of ADMC Engineering Pvt. Ltd. is shown below.

Figure 1.1: Organizaton Hierarchy

1.2.3 Contact Details

Name of the Organization: ADMC Engineering Pvt. Ltd.


Company Registration No: 33205/061/062
Address: Kathmandu Metropolitan City, Ward No. 31, New Baneshwor
Tel. Phone No: +977-01-4782350
G. P. O. Box No: 24083
Email: [email protected]
Web: www.admcengineering.com

2
Figure 1.2: Location map of Organization

1.3 Duration of Internship

As per the requirement of Tribhuvan University, the students require at least minimum
of ten weeks or 180 hours long of internship tenure. Selection of proper organization is
one of the important parts of internship program. A better organization can give better
experience at real work environment which is the original objective of the internship
program. I have completed 4 months working days as an intern and an employee of the
organization.

Table 1.1: Duration of Internship

Start Date of the Internship 8th September, 2019

End Date of the Internship 3rd January, 2020

Total Duration 4 months

Office Hour 7 hours (11a.m.-6p.m.)

Office Days 6 days (Sunday-Friday)

Holiday Saturday

3
1.4 Background

Form builder is not new topic to the internet world at all. There has been numerous
form builder system available such as Fulcrum, JotForm, JQuery Form etc. ADMC
Engineering is currently working on many projects such as survey data collection which
is compatible for GIS. Where surveyor needs to send the data.
This application is web-based platform which is dedicated to generating dynamic form
and store the form data on organization server. API also developed for mobile
application. As an intern, the author was given the task of designing and developing
form builder. The base of the study was to review the different procedure about dynamic
form building. This study helps user to create dynamic forms.

1.5 Problem Statement

There is a huge social impact of having a form builder application for business, as it
will save a lot of time and money because there is no longer a need to go through static
form. Our field surveyor needs the dynamic form. Sometimes they need to collect the
extra data but old form does not allow and there is no such form validation.
On the other hand, although there is only some application that are available in the
market that can generate the dynamic form and collect the data. Therefore, developing
a system would be the better solution.

1.6 Objectives

1.6.1 Objectives of internship program

This report is prepared for the purpose of acquiring my achievement during internship
period and the general functions of the company, ADMC Engineering Pvt. Ltd. As well
as I here tried to articulate extensively the performance of ADMC Engineering Pvt. Ltd.

The major objectives of internship are:


• To Provide students the opportunity to relate theory to practice.
• To provide students with opportunity to develop skills in the field of interest.
• To assist students in gaining vital work-related experience and building strong
resume for bright career.
• To Develop an ongoing relationship between the academic and practitioner
community.
• To help students in developing business contacts i.e. creating network contacts.

4
• To help students potentially land permanent or contractual jobs from host
company.
1.6.2 Objective from the Internship Project

The main objective of this internship is to get develop the web base form builder; we
aim to meet the following objectives:

• To gain deeper understanding and practical experience on the software


development process.
• To be capable of NoSQL such as MongoDB.
• To gain the deeper understand of node.js.
• To develop programming skills on programming languages like Python.
• To be capable of version controlling using git.
• To gain the REST API skill.
• To be capable of testing modules that has been built and to collaborate in a team
and work with them.

1.7 Roles and Responsibility

The main task assigned is to developing the form builder. The project is handled to the
author as soon as the internship started. We discuss about the information required to
develop system. First of all, we need draggable form making user interface the we
choose form.io because it serializes the form component to JSON format. So, we can
extract the JSON and make schema in MongoDB. Then we can make form from the
database schema. Form.io send the final result to their server the clone the form.io and
then recompiled to make it compatible to our project. Other data are store in
PostgreSQL database. Then we choose the Django as back-end.
The role assigned for author as an intern can be summarized as follow:
• Study the existing dynamic form making system
• Developing form builder, debugging and testing.

5
1.8 Details of the work done

Table 1.2: Weekly Activity

Week Activity

First & Second Project introduction and collecting the Tools requires for
project initiation.

Third Design the front end of application by using HTML and CSS.

Fourth Clone the form.io library from GitHub repository and modified.

Fifth Study about the MongoDB and NOSQL and search library
available for this.

Sixth Learn git such as merging, beta release and branching.

Seventh Making the form builder database model, roles and


permissions.

Eight & Ninth Writing the Views, Mixing and middle-ware for back-end.

Tenth Beta release and add new required feature.

Eleventh Debugging and writing the test case and deployment in


NGINX.

Twelfth Documentation preparation and presentation and farewell.

1.9 Motivation

The organization selection to meet the criteria of students’ knowledge, skill and interest
is not only essential but important also. I have selected an IT company for my internship
project. The team members of the organization were friendly in nature and hospitality
of it was sound to everyone. Web development ranges from simple to complex. I have
used open source systems which made my project less costly. I was highly engaged to
the public via personal networking, marketing as well as communication.

6
1.10 Report Organization

This report is separated into different chapters for proper readability. The report consists
of six chapters in total, along with references and conclusion.

Chapter 1: Introduction

This chapter contains a brief introduction to internship and introduction of organization


with the project background, problem statement, objectives, duration of internship with
details of work done during the internship period.

Chapter 2: Literature Review

This chapter gives an overview of literature reviews from various sources.

Chapter 3: System Analysis

This chapter gives an overview of requirement collection, analysis and discuss the
functional, non-function requirements and feasibility study of application.

Chapter 4: System Design

This chapter contains system design technique such as architecture design, schema
design and process design.

Chapter 5: Implementation and testing

This chapter gives an overview of tools used for making application and Testing such
as unit testing, integrated testing and system testing.

Chapter 6: Conclusion

This chapter gives a conclusion of internship program and application. Also discuss
about the future enhancement of application.

7
Chapter 2: Literature Review
During my internship period I had gone through many literatures which helped on my
work throughout this period. Form Builder is an application that creates customizable,
job-specific forms for unit needs. Form Builder administrators, with help from ATLAS
Applications, have the capacity to maintain, edit, and redistribute their own forms.
Utilizing a host of possible features, Form Builder administrators can modify and
update forms depending on the specifics of a project. Instead of units having to make
their process fit the tool, Form Builder allows units to create a tool that fits their process
(R., 2016-04-11).

The traditional approach to relational database design starts with the conceptual design
of an application based schema in a model like the Entity-relationship model, then
mapping that to a logical design and eventually representing it as a set of related
normalized tables (Malhotra, 2014 June).

The rapid expansion of mobile devices, mobile phones and mobile smartphones, makes
mobile technology a powerful tool in data collection and survey research. Nowadays,
it is easy for one to collect data, through use of apps that can give a timely and real time
information, measured by experience sampling and auxiliary data by use of reality
mining (Barxilay, 2019 Fab).

The use of mobile web sites and mobile web applications (mobile web apps), on the
other hand, is somewhat more elusive to measure and estimate as there are no app stores
so to speak. This statistic indicates a smaller yet significant usage of the Internet from
mobile web browsers. Furthermore, the key technology that mobile web apps depend
on is HTML5. The advent of HTML5 and interrelated technologies such as CSS3 and
JavaScript APIs has made these common web tools more powerful and capable to
produce web apps that rival native apps in terms of functionality, design, interaction,
and use of multimedia (Jobe, 2013 Oct).

8
Chapter 3: System Analysis
3.1 Requirement Collection

When it comes to any type of system, requirement collection plays a key role.
Requirements collection is not only important for the system, but it is also important
for the system management function. The application that I have developed, during this
internship program had the initial requirements laid out by the field surveyor which
were briefed to us by our project manager and team leader.
The process that was held while collecting the requirements of the system are as
follows:
• Team Discussion
Team discussion is the process of discussion how the project should be implemented
by professionals.
• Understanding the focused group
Application should have the aim of what the audience want to interact in the application.
3.2 Requirements Analysis
Requirement analysis is critical to the success of a systems or software project. The
requirements should be documented, actionable, measurable, testable, traceable, related
to identified business needs or opportunities and defined to level of detail sufficient for
system design.
3.2.1 Functional Requirements
A Functional requirement is a description of the service that the system must offer. It
describes a software system or component. A function is nothing but input to the
system, its behavior and output. It can be a calculation, data interaction, or any other
specific functionality which defines what function a system is likely perform (What is
a Functional Requirement?, n.d.). The main functional requirements of this system are
as follow:

a) Create accounts/Sign UP
Description: Admin will create the new user.

9
Table 3.1: Create account

S. N Requirements Priority

1 Admin shall able to create new account Must have

b) Authenticate user
Description: Admin or user login/logout into system by providing login
credentials.

Table 3.2: Authenticate user

S. N Requirements Priority

1 Admin and user shall be login to application Must have

2 Admin and user shall be login to application Must have

c) Authorization user
Description: Admin will assign the permission to the user.

Table 3.3:Authorization user

S. N Requirements Priority

1 Admin shall able to assign permission to the user Must have

d) Creating/Update/Delete Projects

Description: User will create/update/delete project.

Table 3.4: Project create/update/delete

S. N Requirements Priority

1 Organization user shall able to create/update/delete the Must have


Project

10
d) Creating Form
Description: User will create form.

Table 3.5: Form creates

S. N Requirements Priority

1 User shall able to create the form Must have

d) Update/Delete Form
Description: User will create, update and delete form.

Table 3.6: Form update/delete

S. N Requirements Priority

1 User shall able to update and delete form Must have

e) Fill the Data


Description: User will fill the form.

Table 3.7: Fill Form data

S. N Requirements Priority

1 User shall able to fill the data Must have

3.2.2 Non-Functional Requirements

Non-Functional requirements are characteristics or attributes of the system that can


judge its operation. The following points clarify them:
• Speed and Responsiveness: Execution of operations should be fast.
• Accuracy and Precision: The application should perform its process in accuracy
and precision to avoid problems.
• Flexibility: The application should be easy to modify, and wrong should be
correct.
• Security: The application should be secure and saving the form and data privacy.
• Usability: The application should be easy to deal with and simple to understand
11
• Maintainability: The application should be easy to extend. The code should be
written in a way that it favors implementation of new feature.
• Availability: The application shall work 24 hour a day and 365 days a year.
3.2.3 Use Case Diagram

Use case diagrams play an important role in modeling with UML. Careful modeling is
crucial in obtaining a correct and efficient system architecture. The paper refers to the
formal analysis of the use case diagrams. A formal model of use cases is proposed and
its construction for typical relationships between use cases is described (Formal
Analysis of Use Case Diagram, 2010 Jan).

Figure 3.1: Use case diagram of the system

12
In above figure, we can see that three actor who performs a role in our system
accordingly. The Oval represent the function that are performed by the respective
actors. The rectangle block represents a whole system and arrow shows the direction of
data flow.
First of all, the Admin create the organization and create the organization user. Then
admin will assign the respective permission to the user. Only Authorized user will able
to create the form and fill the data.

3.3 Feasibility Analysis

Feasibility study is the process of whether or not the project is worth doing or not.
Feasibility studies were undertaken with tight time constraints. I have taken 1 week for
in feasibility study for this project. A feasible project is one where the project could
generate adequate amount of cash flow and profit, withstand the risk it will be
encounter, remain viable in the long-term. The feasibility study of this application had
been carried out which are as follows:
3.3.1 Technical Feasibility

This form builder and data collection app is a technical feasible. The hardware and
software requirement for development of this applications are not many already
available and library are free and open source. The work for this project is done with
available equipment and existing software technology. All the browser except old
Internet Explore.
3.3.2 Operational Feasibility
Assessing the operational feasibility is to gain an understanding of whether the
proposed system will likely to solve the business problems, or the advantage of the
opportunities or not. It is important to understand how the new system will fit into the
current day-to-day operations of the organization. Through this application user can
create the dynamic field form and get the data in structure format.
3.3.3 Economic Feasibility
Economic feasibility is the analysis of a project's costs and revenues in an effort to
determine whether or not it is logical and possible to complete. This application is
completely economic feasible because this application is made using all open source
software and library and development period is just 4 months.

13
3.3.4 Schedule Feasibility

Schedule feasibility is a measure of how reasonable the project timetable is. So, feasible
schedule had been managed through proper time schedule. Since our project has been
completed on-time, we can say that our project is feasible.
The schedule for the development of the project are show in the figure below:

Table 3.8: Task Schedule

S. N Task Name Duration

1 Planning and Analysis Study 7d

2 Proposal Submission 3d

3 Application Design 7d

4 Coding and Development 35d

5 Customize and Add Feature 7d

6 Testing and Debugging 8d

7 Documentation 5d

3.4 Data Model

3.4.1 ER Diagram
The ER is a high-level conceptual data model diagram. Entity-Relation model is based
on the notion of real-world entities and the relationship between them. ER modeling
helps you to analyze data requirements systematically to produce a well-designed
database. So, it is considered a best practice to complete ER modeling before
implementing your database.

14
Figure 3.2: ER Diagram

3.5 Process Model

A system process model is a description of the sequence of activities carried out in a


software engineering project, and the relative order of these activities.
3.5.1 Flowchart

A flowchart is a type of diagram that represents the workflow or process, showing the
steps as boxes of various kinds, and their order by connecting them with arrows.

15
Figure 3.3: Flow diagram of the system

16
Chapter 4: System Design
4.1 System Design

System design is the process of defining the architecture, components, modules,


interfaces and data for a system to satisfy specified requirements. Design of the system
brings down the knowledge of requirements and analysis to design the software
product. Generally, this chapter deals with the module, database design, user interface
design and the program design. For the designing of the application, various diagrams
like use case diagram, schema diagram, ER diagram, DFD etc. have been used.
4.1 Architecture Design

Figure 4.1: Architecture Design

4.2 Database Schema

A database schema is the skeleton structure that represents the logical view of the entire
database. It defines how the data is organized and how the relations among them are
associated. It formulates all the constraints that are to be applied on the data. A database
schema defines its entities and the relationship among them. It contains a descriptive
detail of the database, which can be depicted by means of schema diagrams. It’s the
database designers who design the schema to help programmers understand the
database and make it useful (Database Schema, n.d.).

17
Figure 4.2: Database Schema

In below figure, there are ten database table: Project, User, Role, Permission, Form,
Form Data, Role_user, Project_user, Permission_role, Permission_user which has their
own primary key and attributes. The connection line is showing the relationship
between tables.

4.3 Process Design

The activity of determining the workflow, equipment needs, and implementation


requirements for a particular process. Process design typically uses a number of tools
including sequence diagram (Process Design, n.d.).

18
4.3.2 Sequence Diagram
A sequence diagram simply depicts interaction between objects in a sequential order
i.e. the order in which these interactions take place. We can also use the terms event
diagrams or event scenarios to refer to a sequence diagram. Sequence diagrams describe
how and in what order the objects in a system function. These diagrams are widely used
by businessmen and software developers to document and understand requirements for
new and existing systems.

Figure 4.3: Sequence diagram of the system

19
Chapter 5: Implementation and Testing
5.1 Implementation

Implementation is an activity that is contained throughout the development phase. It is


the process of bringing designed system into operational use. The system is tested first
and then turned into working system. Every task identified in the design specification
are carried out in this phase.

5.2 Tools

For the implementation tools, following tools were used:


5.2.1 Sublime Text 3

Sublime Text is a shareware cross-platform source lightweight code editor. Which have
great tooling for web design and python programming.

5.2.2 Visual Studio Code

VSCode includes enriched built-in support for Node.js development with JavaScript
and TypeScript, powered by the same underlying technologies that drive VSCode.
Using VSCode, all the codes such as HTML, CSS, JS and Python were written in order
to develop the web application for the system and easy for debugging.
5.2.3 Postman

Postman is a great tool for prototyping APIs, and it also has some powerful testing
features. It is a Google Chrome app for interacting with HTTP APIs that presents us
with a friendly GUI for constructing requests and reading responses. This tool was used
for the testing of the APIs implemented on the system during its development.
5.3.3 NGINX

NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as


well as an IMAP/POP3 proxy server. NGINX is known for its high performance,
stability, rich feature set, simple configuration, and low resource consumption.
5.3.4 Form.io

Form.io is a revolutionary combined Form and API platform for Serverless


applications. This repository serves as the core Form and API engine for www.form.io.

20
This system allows you to build "serverless" data management applications using a
simple drag-and-drop form builder interface.

5.3 Technology

5.3.1 Python

Python is a general-purpose, versatile and popular programming language. It’s great as


a first language because it is concise and easy to read, and it is also a good language to
have in any programmer’s stack as it can be used for everything from web development
to software development and scientific applications (About Python, n.d.).
This tool was used as server-side programming language.
5.3.2 Node.js

Node.js is an open source, cross-platform runtime environment for developing server-


side and networking applications. Node.js applications are written in JavaScript, and
can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.
In our system we clone the form.io repository and we modified the form data sending
location to our server and add geopoint field extension.
5.3.3 MongoDB
MongoDB is an open-source document database and leading NoSQL database.
MongoDB is written in C++. This tutorial will give you great understanding on
MongoDB concepts needed to create and deploy a highly scalable and performance-
oriented database.
MongoDB stores data in JSON-like documents, which makes the database very flexible
and scalable. To be able to experiment with the code examples in this tutorial, you will
need access to a MongoDB database.
5.3.4 PostgreSQL

PostgreSQL is a powerful, open source, object-relational database management system


(ORDBMS). It is used to store data securely; supporting best practices and allow
retrieving them when request is processed. PostgreSQL (also pronounced as Post-gress-
Q-L) is developed by the PostgreSQL Global Development Group (a worldwide team
of volunteers). It is not controlled by any corporation or other private entity. It is open
source and its source code is available free of charge. PostgreSQL is cross platform and

21
runs on many operating systems such as Linux, FreeBSD, OS X, Solaris, and Microsoft
Windows etc.

5.3.5 HTML5

HTML5 known as Hyper Text Markup Language version 5, the authoring language
used to create documents on the World Wide Web. HTML defines the structure and
layout of a Web document by using a variety of tags and attributes. HTML was used.
HTML tags were used in posts, pages, sidebar text widgets to code a hyperlink by hand,
or adjust the header sizes.
5.3.6 CSS3

CSS3 stands for Cascading Style Sheets version 3. It describes how HTML elements
are to be displayed on screen or in other media. In this project, additional CSS was used
when further customization on the site was required. Sometimes, the theme does not
work as per the requirement of the user so to meet the requirement of the user additional
CSS was used.
5.3.7 JavaScript

JavaScript (sometimes abbreviated JS) is a prototype-based scripting language that is


dynamic, weakly typed. JavaScript is a client-side scripting language meaning that
JavaScript code is written into an HTML page. When a user requests an HTML page
with JavaScript in it, the script is sent to the browser and it's up to the browser to do
something with it. It is used to make web page more interactive, check or modify the
contents of forms, change images, open new windows and write dynamic page content.
5.3.7 jQuery

jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and
manipulation, as well as event handling, CSS animation, and Ajax. It is free, open
source software using the permissive MIT License. Some of the functionalities like date
picking are handled using this technology.

5.4 Development Methodology

The requirement of the system is already known so Waterfall model was used to
develop the system because development process looks like the flow, moving step by

22
step through the phases of analysis, projecting, realization, testing, implementation, and
support. The detailed methodology used to develop the system are described below.

Figure 5.1: Waterfall model

The waterfall model is comprised of series of very definite phases each one intended to
be started sequentially only after the last has been completed, with one or more tangible
deliverable produced at the end of each phase of the waterfall model of SDLC.

5.4.1 Requirement Analysis

It is crucial for requirement collection and analysis. This phase was used to determine
the requirements such as: who are target group for the system? How will they use the
system? These were the type of questions that were answered during the requirements
gathering phase. The overall analysis of requirements is done in chapter 3.
5.4.2 System Design

In this phase, the actual design of the system takes place. The output of the design phase
is the design document that acts as an input for all subsequent SDLC phases. The overall
design of the system is presented in chapter 4.
5.4.3 Implementation

Coding phase is carried out after the design phase. It includes the translation of the
requirements specified in requirement phase into a logical structure that can be
implemented in a programming language. Each functionality is linked with another and

23
inter connectivity is transparent and smooth. The project is done using sublime text and
visual studio as code editor. Pgadmin4 and mongo compass is used as database
management tools.
5.4.4 System Testing

After the code was developed in the coding phase, the codes were tested to check
whether or not it complied with the requirements and that the code actually solved the
needs that were addressed in the requirements phase. The testing of the 30project has
been done on emulator, chrome web browser and as well as real hardware. It has been
done for the individual functionalities of the project. Errors that occurred were corrected
and further debugging was performed. The overall testing viz unit testing, integration
testing and system testing is presented in below testing topic.
5.4.5 System maintenance and Documentation

Maintenance phase includes the implementation of changes that software might


undergo over a certain period of time, or implementation of the new requirements and
handling the residual errors that may exist in the software even after the testing phase.
Maintenance of the project will be followed according to the changing requirements
and trends. Similarly, documentation is the crucial part in the development of any
project which has been done hand in hand with the development process wherever
possible.
5.5 Testing
Software testing is the process of evaluation a software item to detect differences
between given input and expected output. It also assesses the feature of a software item.
Testing assesses the quality of the product. Software testing is a process that should be
done during the development process.
5.5.1 Unit Testing

Unit testing is a software testing method by which individual units of source code, sets
of one or more computer program modules together with associated control data, usage
procedures, and operating procedures, are tested to determine whether they are fit for
use. Unit testing has been done testing individual activity of the application.
Each function like registration, sign in and assign role and permission has been tested
individually. All the units testing has been done by writing test cases and chrome web
browser for web application.

24
Table 5.1: Test Cases

Test Test Required Data Input Data Result


Case Scenario
ID

TC 1 User Avatar (optional), Email, [email protected], pass


Creation Display Name Santosh Rana

TC 2 User Avatar (optional), Email, Santosh Rana fails (email


Creation Display Name required)

TC 3 User Email, Password [email protected], pass


Login smile

TC 4 User Email, Password [email protected], fails


Login smile12 (password not
match)

TC 5 Create Name, slug, location, MIS, mis, 27° 42' pass


Project logo(optional) 2.7684'' N, 85° 18'
0.5040'' E

TC 6 Create Name, slug, location, MIS, mis, 27° 42' fails(location)


Project logo(optional) 2.7684'' N

TC 7 Update Name, slug, location, MIS, mis, 21° 42' pass


Project logo(optional) 2.7684'' N, 81° 18'
0.5040'' E

TC 8 Create Name, slug, title, type, project, Registration, regst, pass


Form component Regs, form, MIS,
json(data)

TC 9 Create Name, slug, title, type, project, Registration, regst, fails


Form component Regs, form, MIS,
invalid json(data)

25
TC Update Name, slug, title, type, project, Registration, regst, pass
10 Form component Regs, form, MIS,
json(data)

TC Fill Form Form, slug, status, component, Registration, regd, pass


11 updated at active, json data,
2019-09-29

TC Update Form, slug, status, component, Registration, regd, pass


12 Data updated at disabled, json data,
2019-09-29

5.5.2 Integration Testing

Testing in which software components, hardware components, or both together are


combined and tested to evaluate interactions between them. System integration
involves identifying clusters of components that deliver some system functionality and
integrating these by adding code that makes them work together. Sometimes, the overall
skeleton of the system is developed first, and components are added to it. This is called
top-down.
5.5.3 System Testing

System Testing is a level of the software testing where a complete and integrated
software is tested.
The system testing has been performed by testing the whole application in Chrome web
browser with and without the internet connection. The whole application runs smoothly
and without error with the internet connection. Without the internet connection, the
application cannot perform fully

26
Chapter 6: Conclusion
6.1 Conclusion

I got great opportunity to get enrolled in the development of system which was solely
aim to manage different components and tasks efficiently and effectively.
A form builder is developed which has various interactive function and features. It has
simple user interface. The various kind of data can be easily added, changed and
deleted. Hence, all the requirements and the objectives of the project have been fulfilled
by the application.
This internship program has given me the chance to learn about the real-world field in
IT sector. It has given a opportunity to learn the practical knowledge from the
professionals themselves. It has helped me improve my skills, knowledge, abilities to
cope in office environment. With the knowledge gained from the organization of
internship author has been able to make a dynamic form and working with node.js.

6.2 Future Enhancement


Enhancement of the project can to categorize into the following phase.
Phase 1:
• Upgrading the system by adding more feature.
• Enhancement of the UI for more user Friendly.
• Accessibility for Multiple Platform.
Phase 2:
• Audio/video file Support.

27
References
About Python. (n.d.). Retrieved from www.python.org: https://www.python.org/about/

Barxilay, M. (2019 Fab). Data Collection and Mobile Technologies.

Database Schema. (n.d.). Retrieved from www..tutorialspoint.com:


https://www.tutorialspoint.com/dbms/dbms_data_schemas.htm

Formal Analysis of Use Case Diagram. (2010 Jan). Formal Analysis of Use Case
Diagram.

Jobe, W. (2013 Oct). Native Apps vs. Web Apps.

Malhotra, K. (2014 June). Towards a Form Based Dynamic Database Schema Creation
and Modification System.

Process Design. (n.d.). Retrieved from www.businessdictionary.com:


http://www.businessdictionary.com/definition/process-design.html

R., T. (2016-04-11). Form Builder - What is Form Builder? University of Illinois.

What is a Functional Requirement? (n.d.). Retrieved from www.guru99.com:


https://www.guru99.com/functional-requirement-specification-example.html

28
CHAPTER 8: APPENDIX
APPENDIX: SCREENSHOTS

8.1 Login Page

8.2 Home Page

29
8.3 Create Project

8.4 Create Form

30
8.5 Fill the Form

8.6 Filled Data

31
8.9 Form Reports

32

You might also like