Professional Documents
Culture Documents
Nepalaya College
at
Find All Nepal Pvt. Ltd.
Submitted To
Department of Computer Science and Information Technology
Nepalaya College
In partial fulfillment of the requirement for the Bachelor’s Degree in Computer Science
and Information Technology
Submitted By
Nuraj Panthi
TU Exam Roll No: 11007/073
November, 2020
i
STUDENT’S DECLARATION
I hereby declare the internship report entitled Internship Report on Dynamic Form
Creation for Sewa Sifarish 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 and Information Technology under the supervision
and guidance of Mr. Bhupendra Saud as a supervisor and Er. Anuj Rai, Project Manager of
Find All Nepal Pvt. Ltd. As a mentor.
______________________
ii
MENTOR’S RECOMMENDATION
I hereby recommend that this report, entitled Internship Report on Dynamic form creation for
Sewa Sifarish, prepared under my supervision by Mr. Nuraj Panthi [11007/073] 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. Anuj Rai
Manager
Internship Mentor
Find All Nepal Pvt. Ltd
Jawalakhel, Damodar Road, Lalitpur
iii
SUPERVISOR’S RECOMMENDATION
I hereby recommend that this report, entitled Internship Report on Form Builder & Data
Collection Application, prepared under my supervision by Mr. Nuraj Panthi [11007/073] 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.
___________________
Visiting Faculty
Nepalaya College
iv
CERTIFICATE OF APPROVAL
This is to certify that the project prepared by Mr. Nuraj Panthi [11007/073] 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.
_____________________
_________________
Mr. Bhupendra Singh Saud (External
Examiner)
Internship Supervisor Central Department of Computer Science
Project Manager External Examiner
Nepalaya College Tribhuvan University
Kalanki, Kathmandu Kirtipur, Nepal
v
ACKNOWLEDGMENT
The internship opportunity I had with Find All Nepal 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 Project Manager of Find All Nepal Pvt. Ltd., Er. Anuj Rai
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. Bhupendra Saud and internal examiner Mr.
Prasant Gautam 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.
vi
ABSTRACT
This report has been prepared for the internship that has been done on the form building and
creating the letter that has consist of the user provide details Web Application at Find All
Nepal Pvt. Ltd. Lalitpur, Kathmandu. Sewa Sifarish is the web-based application in which we
can create a letter according to the user requirements that help to creating the Approval Form.
This system is used to make dynamic forms using crispy from component of system and
make those forms available online to the user of organization user through Django
Framework. Users fill those forms according to the different sector like in Education, Health,
Municipality etc. It helps to consume time there is no need of writing letter again and again
by filling the details in the form will create the letter according to the requirements of
respected fields.
vii
TABLE OF CONTENTS
STUDENT’S DECLARATION.........................................................................................................................ii
MENTOR’S RECOMMENDATION..............................................................................................................iii
SUPERVISOR’S RECOMMENDATION.......................................................................................................iv
CERTIFICATE OF APPROVAL......................................................................................................................v
ACKNOWLEDGMENT...................................................................................................................................vi
ABSTRACT......................................................................................................................................................vii
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.....................................................................................................................................3
1.3 Duration of Internship.................................................................................................................................3
1.4 Background.................................................................................................................................................3
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...................................................................................................................................................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
Chapter 6: Conclusion..................................................................................................................................7
CHAPTER 2: SYSTEM ANALYSIS................................................................................................................8
2.1 Requirement Collection..............................................................................................................................8
Team Discussion...........................................................................................................................................8
Understanding the focused group.................................................................................................................8
2.2 Requirements Analysis...............................................................................................................................8
2.2.1 Functional Requirements.....................................................................................................................8
viii
2.2.2 Non-Functional Requirements...........................................................................................................11
2.2.3 Use Case Diagram..............................................................................................................................11
2.3 Feasibility Analysis...................................................................................................................................13
2.3.1 Technical Feasibility..........................................................................................................................13
2.3.2 Operational Feasibility.......................................................................................................................13
2.3.3 Economic Feasibility.........................................................................................................................13
2.3.4 Schedule Feasibility...........................................................................................................................14
2.4 Data Model...............................................................................................................................................14
2.4.1 ER Diagram.......................................................................................................................................14
CHAPTER 3: SYSTEM DESIGN...................................................................................................................16
3.1 System Design..........................................................................................................................................16
3.1.1 Architecture Design...........................................................................................................................16
3.2 Database Schema......................................................................................................................................16
3.3 Process Design..........................................................................................................................................17
3.3.1 Sequence Diagram.............................................................................................................................18
CHAPTER 4: IMPLEMENTATION AND TESTING..................................................................................19
4.1 Implementation.........................................................................................................................................19
4.2 Tools..........................................................................................................................................................19
4.2.1 Visual Studio Code............................................................................................................................19
4.3 Technology................................................................................................................................................19
4.3.1 Python................................................................................................................................................19
4.3.2 PostgreSQL........................................................................................................................................19
4.3.3 HTML5..............................................................................................................................................20
4.3.4 CSS3..................................................................................................................................................20
4.3.5 JavaScript...........................................................................................................................................20
4.3.6 jQuery................................................................................................................................................20
4.4 Development Methodology......................................................................................................................21
4.4.1 Requirement Analysis........................................................................................................................22
4.4.2 System Design...................................................................................................................................22
4.4.3 Implementation..................................................................................................................................22
4.4.4 System Testing...................................................................................................................................22
4.4.5 System maintenance and Documentation..........................................................................................22
4.5 Testing.......................................................................................................................................................23
4.5.1 Unit Testing........................................................................................................................................23
4.5.2 Integration Testing.............................................................................................................................23
4.5.3 System Testing...................................................................................................................................23
ix
CHAPTER 5: CONCLUSION........................................................................................................................24
5.1 Conclusion................................................................................................................................................24
5.2 Future Enhancement.................................................................................................................................24
APPENDIX........................................................................................................................................................25
SNAPSHOTS..................................................................................................................................................25
8.1: Admin Login Page...............................................................................................................................25
8.2: Admin Dashboard................................................................................................................................25
8.3: User Login Page..................................................................................................................................26
8.4: User Dashboard...................................................................................................................................26
8.5: Ward List Page.....................................................................................................................................27
8.6: Ward Access Page................................................................................................................................27
8.7: Select Template Page...........................................................................................................................27
8.8: Create Template Page..........................................................................................................................28
x
LIST OF TABLES
LIST OF FIGURES
Figure 1.2.2: Organization Hierarchy...............................................................................................................2
Figure 2.2.3: Use case diagram of the system.................................................................................................12
Figure 2.4.1: ER Diagram................................................................................................................................15
Figure 3.1.1: Architecture Design....................................................................................................................16
Figure 3.2: Database Schema...........................................................................................................................17
Figure 3.3.1: Sequence diagram of the system...............................................................................................18
Figure 4.4: Waterfall model.............................................................................................................................21
xi
xii
CHAPTER 1: INTRODUCTION
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. internship is a structured work
experience related to a student’s major and/or career.
Find All Nepal is a web-based IT company which basically works on information and
technology sector. It provides accurate and reliable information to the general public of
respective sectors. It has been established with one motto to provide service-oriented
1
information. One can query about different products and services provided by different
organizations. Find All, generally works with an aim to collect data from different
organizations and focuses on analysis and filtration of information. It primarily concerns on,
how to assist consumers to find out their query of interest. Our motive is to develop a website
which is friendly to visitors, business-man, entrepreneurs and government campaign.
Since its establishment, It has done lot of high budget projects to make digital Nepal. They
have done project to make the “Digital Wada” in Dang District and as well as all over the
Nepal. That project is widely recognized and most desired system which keeps the
approximately most accurate information more than expectations about the local entities.
Despite too many projects pending, currently we are completely focused on our dream
project “Find All Nepal” whose motive is to build “Digital Nepal”.
The organization’s structure has evolved to perform better, as an organization and to provide
excellent services to the users. The company has department to facilitate the business process.
Which also has good coordination among each other. The organizational hierarchy has also
maintained according to its various line of work. The Organization Chart of Find All Nepal
Pvt. Ltd. Is shown below.
2
Figure 1.2.2: Organization Hierarchy
Email: info@findallnepal.com
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.
3
Office Hour 7 hours (10a.m.-6p.m.)
Office Days 5 days (Sunday-Friday)
Holidays Saturday, Sunday
Table 1.3 Duration of Internship
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 Crispy Form, Datatables, JQuery Form etc. Django-crispy-
forms is an application that helps to manage Django forms. Find All Nepal is currently
working on many projects such as creating a letter according to the user’s details which is
compatible for Government Approval Letter. Where letter can be created according to the
related field. This application is web-based platform which is dedicated to generating
dynamic form and store the form data on organization server. 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 and store the data in the web page from where admin can create, update, delete. And
the detail page is used to create a letter according to the user data with respect to different
sectors.
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
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
Government website. But this is not for the various purpose so that it can be used by the
related government organization. Therefore, developing a system that gives the output as per
our requirements would be the better solution.
4
1.6 Objectives
To assist students in gaining vital work-related experience and building resume for bright
career.
To help students potentially land permanent or contractual jobs from host company.
To gain deeper understanding and practical experience on the software development process.
5
To be capable of testing modules that has been built and to collaborate in a team and work
with them.
The main task assigned is to developing the dynamic 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
crispy form 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.
Week Activity
First & Project introduction and collecting the Tools
second requires for project initiation.
Third Design the front end of application by using
HTML and CSS and Template from AdminLTE.
Fourth Study about PostgreSQL and connect Django
Project to Database.
Fifth Learn git such as merging, beta release and
branching.
Sixth Creating Templates and use templates for
respective form database model, roles and
permissions.
Seventh Writing the Views, Mixing and middle-ware for
6
back-end.
Eight & Beta release and add new required feature.
nine
Tenth Debugging and writing the test case and
deployment in NGINX.
Eleventh 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.
7
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.
8
CHAPTER 2: SYSTEM ANALYSIS
2.1 Requirement Collection
When it comes to any type of system, requirement collection plays a key role. Requirement’s
collection is not only important for the system, but it is also important for the system
management function. The web-application that I have developed, during this internship
program had the initial requirements laid out by the field survey 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.
Application should have the aim of what the audience want to interact in the application.
9
a) Create Admin account
S. Requirements Priority
N
1 Admin shall able to create Must
new account have
b) Authenticate user
S. Requirements Priority
N
1 Admin and user shall be Must have
login to application
2 Admin and user shall be Must have
login to application
c) Authorization user
S. Requirements Priority
N
1 Admin shall able to Must have
assign permission to the
user
10
d) Creating/Update/Delete Project
S. Requirements Priority
N
1 Organization user shall Must have
able to
create/update/delete the
Project
e) Creating Form
Description: User will create form.
S. Requirements Priority
N
1 User shall able to create Must have
the form
f) Update/Delete Form
S. Requirements Priority
N
1 User shall able to update Must have
and delete form
11
Table 2.2.1(f): Form update/delete
S. Requirements Priority
N
1 User shall able to fill data Must have
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.
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.
12
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).
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 flow. First of all, the admin
13
creates 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.
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:
14
feasible because this application is made using all open-source software and library and
development period is just 3 months.
2.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.
15
Figure 2.4.1: ER Diagram
16
CHAPTER 3: SYSTEM DESIGN
3.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.
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
17
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).
In above 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.
18
3.3.1 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.
19
CHAPTER 4: IMPLEMENTATION AND TESTING
4.1 Implementation
4.2 Tools
4.3 Technology
4.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.
4.3.2 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
20
code is available free of charge. PostgreSQL is cross platform and 21runs on many operating
systems such as Linux, FreeBSD, OS X, Solaris, and Microsoft
Windows etc.
4.3.3 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.
4.3.4 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.
4.3.5 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.
4.3.6 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.
21
4.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 step through the
phases of analysis, projecting, realization, testing, implementation, and support. The detailed
methodology used to develop the system are described below.
22
Figure 4.4: 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.
23
4.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 inter connectivity
is transparent and smooth. The project is done using Django Admin, visual studio as code
editor, Pgadmin4 is used as database management tools.
4.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.
24
4.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.
CHAPTER 5: CONCLUSION
5.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.
25
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.
Phase 1:
Phase 2:
26
APPENDIX
SNAPSHOTS
27
8.3: User Login Page
28
8.5: Ward List Page
29
8.8: Create Template Page
30