A Final Year Internship Report On Front End Web Development at " Yati Books Stores "
A Final Year Internship Report On Front End Web Development at " Yati Books Stores "
Submitted By
Submitted To
Pokhara-11, Phoolbari
February, 2019
CERTIFICATE OF APPROVAL
The undersigned certified that they have read and recommended to the Department of Computer
Science and Information Technology for acceptance, internship in Yati Books Stores. The
internship report entitled "PuranoBooks" submitted by Nabin Acharya in partial fulfillment for the
Degree of Bachelor of Science in Computer Science and Information Technology.
……………………………………….
Mr. Surya Bd. Gc
Campus Chief
…………………………………………
Mr. Bhesh Bahadur Thapa
Campus Co-ordinator
……………………………………..
Mr. Bhesh Bahadur Thapa
College Supervisor
………………………………………..
(External Examiner)
i
ACKNOWLEDGEMENT
The main purpose of internship is to enhance a student’s academic, career and personal
development. Internship focuses on providing practical approach to the students about how the
jobs are performed in real world. Internship binds us for learning and working environment with
the professional employees. In this period we mostly learn, How the works are performed
professional way?
I would like to express my gratitude to Mr. Bhesh Bahadur Thapa for providing proper guidance
as well as encouraging and advising during my internship days. I would also like to thanks and
forfeit my respect to Mr. Kabi Kc (CEO/Mentor) under whom I did my internship and I was able
to learn how to handle works done in company. I was able to gain variant skills and handle critical
situations which happens inside company.
I am also grateful to those people (Bibek Chalise, Anurag Shrestha, Anish Upreti, Chandra Mohan
Banjade) who are currently involved in Yati Books Stores and helped me solve different critical
situations like project model design, Client handling, Website handling as well as System design.
I would also like to thanks mine friends who helped me to prepare this report by cross checking,
providing new ideas and supporting in different phases of internship. Finally, I am grateful to my
college, Mount Annapurna Campus for providing pathway and helping for providing various field
opportunity.
Without help and support of all above mentioned people, I may not be able to fulfill my internship
and learn different things. I would like to thanks all those people for their valuable contribution
and proper guidance throughout mine internship period.
ii
ABSTRACT
This report is the part of my internship project, required by Tribhuvan University in partial
fulfillment for the requirement of Bsc.CSIT (8th semester) program. This report is crafted as a
front end developer internee at Yati Books Stores. I worked with the team to design a project called
Puranobooks through which people will be able to buy and sell used books. This project was
developed to fulfill the gap which was present in Nepal’s used book market. Working with this
team, we made an ecosystem for utilization of used books in which author learned about building
UI or Frontend for Users which helps to increase traffic in website.
iii
LIST OF FIGURES
iv
ABBREVIATIONS
UI - User Interface
HTML - Hyper Text Markup Language
CSS - Cascading Style Sheet
WP - WordPress
PB - PuranoBooks
v
TABLE OF CONTENTS
vi
2.2.1 Functional Requirements ----------------------------------------------------------------------------------------- 9
2.2.2 Non-Functional Requirements ---------------------------------------------------------------------------------- 9
2.3 Feasibility Analysis ------------------------------------------------------------------------------------------------------- 9
2.3.1 Economic Feasibility ---------------------------------------------------------------------------------------------- 10
2.3.2 Operational Feasibility ------------------------------------------------------------------------------------------- 10
2.3.3 Technical Feasibility ----------------------------------------------------------------------------------------------- 10
2.3.4 Schedule Feasibility ----------------------------------------------------------------------------------------------- 11
CHAPTER 3 : SYSTEM DESIGN------------------------------------------------------------------------------------------------- 12
3.1 Architectural Design ---------------------------------------------------------------------------------------------------- 12
3.1.1 Use Case Diagram ------------------------------------------------------------------------------------------------- 12
3.1.2 Entity Relationship Diagram ------------------------------------------------------------------------------------ 13
3.2 Theme Design Layout -------------------------------------------------------------------------------------------------- 14
CHAPTER 4 : IMPLEMENTATION --------------------------------------------------------------------------------------------- 18
4.1 Implementation Tools-------------------------------------------------------------------------------------------------- 18
4.1.1 Front End Tools ---------------------------------------------------------------------------------------------------- 18
4.2 Other Tools --------------------------------------------------------------------------------------------------------------- 19
CHAPTER 5 : TESTING ----------------------------------------------------------------------------------------------------------- 20
5.1 Browser Compatibility Testing --------------------------------------------------------------------------------------- 20
5.2 Functionality Testing --------------------------------------------------------------------------------------------------- 20
5.3 Responsive Testing------------------------------------------------------------------------------------------------------ 21
5.4 Unit Testing --------------------------------------------------------------------------------------------------------------- 24
CHAPTER 6 : LIMITATIONS AND CONCLUSIONS-------------------------------------------------------------------------- 27
6.1 Conclusions --------------------------------------------------------------------------------------------------------------- 27
6.2 Limitations ---------------------------------------------------------------------------------------------------------------- 27
BIBLIOGRAPHY ------------------------------------------------------------------------------------------------------------------- 28
APPENDIX A ----------------------------------------------------------------------------------------------------------------------- 29
vii
CHAPTER 1 : INTRODUCTION
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 Background
As a part of the course, the author had an opportunity to do an internship at Yati Books Stores,
which is located at Newroad, Pokhara. It is a newly established company which focuses more
on creating a platform for used books. Yati Books Stores is currently working on a project
called Puranobooks. Puranobooks is web based online platform which is dedicated on buying
and selling used books from intended audience. As an intern, the author was given the task of
designing the User Interface currently on trend and that build the good User Experience for
Puranobooks Online Visitors.
1
The base of this study was to review the different procedure about the Puranobooks. This study
helps internee to analyze the current trend of design and their User Experience with that design
and contents. It shows the major differences in traffic of daily visitors in Website.
2
business is performed offline. In Kathmandu, used books business are found in roadside areas
and touristial areas like Thamel. Those books has good value but people didn't have a system
which will help to find potential audience for their used books.
Yati Books Stores was established in 2018. Yeti books is currently working on creating
ecosystem for used books industry of Nepal and small library concept. With a new perspective
Yati Books Stores has an ecommerce platform called Puranobooks (Puranobooks.com). This
kind of business has not been practiced till now in context of Nepal. Puranobooks web
application is developed in such a way that people can easily buy and sell used books in a
hassle free manner.
This organization is a new startup. Currently yati books focuses two branches, buying and
selling used books through its web application and providing small library for cafe, restaurants
and hotels.
3
1.5.3 Organization Hierarchy
The organization structure or form of an organization has evolved in order to perform the
various roles of the organization and also to provide the services efficiently and effectively.
Organizations are usually organized according to the functions they perform to the extent
possible so that the company can run smoothly.
Yati Books Stores also has a functional organization structure. The structure facilitates all the
functions carried out by the whole organization. The company has departments to facilitate the
business process which also has good coordination amongst each other. The organization has
a line of authority that flows from the top to the bottom of the organizational hierarchy however
the flow of information in organization is as follow:
4
1.5.5 Contact Information
Email info@puranobooks.com
Website www.puranobooks.com
Table 1
Mentor Kabi Kc
5
responsibility was to customize the WordPress theme in time with better efficiency. The role
assigned for author as an intern can be summarized as follows:
1.7 Objective
The major objective of this project is to design and customize the responsive WordPress
themes and plugins, and customizing them. Some of the key objectives are as follows:
To build the simple UI for visitors to increase purchase
To provide alternative templates and clear process to use all functions.
1.8 Motivation
We are already familiar about the WordPress, that is application of CMS, and it is the only one
which is highly used CMS around 70% all over the world. Main theme of the WordPress is
“The freedom to build, the freedom to change, the freedom to share”. It is fully a free and open
source content management system based on PHP and MYSQL. It is most associated with
blogging but supports other types of web content including more traditional mailing lists and
forums, media galleries, and online stores.
And WordPress uses at least one theme to make site more dynamic and customizable. It is easy
to use and understand, and has thousands of built in functions, maintained hierarchy of the
6
content. There are many companies who are making commercial themes, plugins etc. and
making huge amount of money by selling them globally.
7
1.9 Scope of the Report
This report is based on the internship period that author have done at Yati Books Stores. This
report focuses on the project or project part that author have completed during internship period
including the detailed description of the tasks. This report also includes detailed description
about author role as a front end developer and collaboration with this organization.
8
CHAPTER 2 : SYSTEM ANALYSIS
Team Discussion
Team discussion is the process of discussing how the project should be implemented
by the professionals.
Understanding the focused group
Theme should have the aim of what the audience want to see in the theme.
User should be able to view all the necessary information and specification about this
project.
Browser compatibility.
Responsive to all devices.
Administrator (Theme Developer) can modify theme under GPL license.[1]
9
for factors that affect it such as economic, technological, legal, and scheduling factors.
Project manager use feasibility studies to determine potential positive and negative outcomes
of a project investing a considerable amount of time and money into it.
Feasibility studies allow companies to determine and organize all of the necessary details to
make business work. A feasibility study helps to identify logistical problems, and nearly all
business-related problems, along with the solutions to alleviate them.
Feasibility studies can also lead to the development of marketing strategies that convince
investors or a bank that investing in the business is a wise choice.
2.3.1 Economic Feasibility
Economically, the theme PuranoBooks is bound to do well. There is little cost associated for
using the system. Hence, the system is economically feasible. If owner needs any supports on
this theme then they will be available upon Email Request.
The theme was designed and developed such that the necessary functions and performances
can be achieved using customization. Therefore, the project is feasible and may still be used
even with the newer version of same software supporting older versions.
10
2.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.
6 Testing 4 days
7 Documentation 10 days
Table 3
11
CHAPTER 3 : SYSTEM DESIGN
Like shown in the above diagram WordPress theme is the system where user views books, get
more information about books and if needed order the book using cart system.
Similarly, admin / shopkeeper publishes books and it's information to their site and also can
manage the stock conveniently.
12
Fig 3 : Use Case Diagram
3.1.2 Entity Relationship Diagram
[6]
Entity Relationship Diagram , also known as ERD, ER Diagram or ER model, is a type of
structural diagram for use in database design. An ERD contains different symbols and connectors
that visualize two important information: The major entities within the system scope, and the inter-
relationships among these entities.
13
Fig 4 : ER Diagram
14
Fig 5 : Layout of Theme Design
Navigation Bar
Navigation bar is the place where users can go through all the items that are selected from
website back-end. Actually, it is a page type of the site. We can create menus in WordPress
dashboard by visiting Appearance » Menus section. This will bring to the edit menus screen
which is divided into two columns. The column on our left has our pages, categories, and
custom links tab. The column on the right is where we can add and adjust menu items.
Slider
Slider is the part of website that contains image that continuously changes. In this theme, Slider
Revolution plugin is used to define slider with proper front-end and back-end tools. Sliders
can run slideshows automatically without user input by moving slides on pre-defined time
interval. Sliders can also respond to user interaction like click or swipe to view next or previous
15
slides. Additionally, sliders can also have buttons or thumbnails which users can click to view
a particular slide in the slider. The built-in function for navigation bar is WP_nav_menu().
Sidebar
Sidebar is the section where recently viewed products, search filter etc. are placed as a shortcut
for the content of the site especially for product shop pages. A sidebar in WordPress is referred
to a widget-ready area used by WordPress themes to display information that is not a part of
the main content. It is not always a vertical column on the side. It can be a horizontal rectangle
below or above the content area, footer, header, or anywhere in the theme. Get_sidebar(), and
dyanamic_sidebar() are functions used for calling sidebars.
Posts
These are generally news or informational updates about a certain topic or talking point.
Posts are listed in reverse chronological order and can be tagged, categorized and even
archived on your site.
WordPress posts are what make up the RSS content of your WordPress blog. So, when
someone subscribes to your RSS feed, your posts will be the content that’s delivered to
them.
Think of the posts at the news portion of your site. They’re dynamic and constantly
changing the content your end users sees.
The_post() to check whether there exist a posts or not. The_title(), and the_content() retrieves
the title and content of posts. Posts are defined on single.php file.
Pages
WordPress Pages are similar to posts in that they have a title and body text, but they are
different because:
16
Pages can have a hierarchy, which means you can nest pages under other pages by
making one the “Parent” of the other, thus creating a group of pages.
Due to their static nature, pages aren’t included in RSS feeds and won’t have date or
time publishing, Page is defined on separate php file i.e. page.php.
Widgets
WordPress Widget is a small block that performs a specific function. You can add these
widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets
were originally created to provide a simple and easy-to-use way of giving design and structure
control of the WordPress theme to the user. Widgets can be easily dragged and dropped into a
specific widget area. You can find the list of available widgets and widget areas by going to
the Appearance » Widgets section in your WordPress dashboard. Widgets are initialized into
the customizer by using ‘widgets_init’ keyword.[2]
Products
The products shortcode is one of our most robust shortcodes, which can replace various other
strings used in earlier versions of WooCommerce. The [products] shortcode allows you to
display products by post ID, SKU, categories, attributes, with support for pagination, random
sorting and product tags, replacing the need for multiples shortcodes.
Footer
In WordPress theme designing, the footer area of a website is usually defined in the template
file footer.php. In some themes, the area may also contain a widgetized area with multiple
columns that you can use to add WordPress widgets.
17
CHAPTER 4 : IMPLEMENTATION
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.
Theme or plugin does exactly what you need it to do, and looks almost exactly how you need
it to look. But still, you wish it would look slightly different. For this reason, HTML was used.
HTML tags were used in posts, pages, sidebar text widgets to code a hyperlink by hand, or
adjust the header sizes.
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 works as per the
requirement of the user so to meet the requirement of the user additional CSS was used. To
add in the icons, to scale the logo properly, change the font size of the specified content, to add
a specific callout box, or style just a section of a post differently CSS was used. The theme
option does provide certain features but to add the features according to the client’s
requirement additional CSS was applied.
18
JAVASCRIPT
WordPress plugin helps to modify, customize, and enhance a WordPress site. Instead of
changing the core program code of WordPress, we can add functionality with WordPress
Plugins.
In this theme, Contact Form plugin has been used. This plugin is very popular in the market.
It is very helpful for creating various forms like contact forms, booking forms with reservation
procedure, etc.
SNIPPETS
WordPress have lots of built-in features. Just we need to know to use them properly. Snippets
helps to edit the codes that we want to customize. We add all codes there and customize both
layout and pages elements. We can do same using Additional Css section where we need to
put code in right manner but only for css.
PHOTOSHOP(Graphics)
For creating banner, background images, thumbnails and watermarks, we need to use
photoshop as tool and with the help of this we can give clean content to the project which
directly effects to visitors of the website. First, we check the design using mockup of site and
it's products and after approval of mentors, we check temporarily and apply when it is final.
19
CHAPTER 5 : TESTING
S.N Test Case Test Browser Expected Result Actual Result Remarks
Table 4
S.N Test Case Test Description Input Test Data Expected Result Actual Result Remarks
20
3 T-03 Contact to Fill up contact Get notified Get notified Pass
Puranobooks data from from
puranobooks puranobooks
Table 5
21
Fig 6 : Mobile View
22
Fig 7 : Tablet View
23
Fig 8 : Desktop View
This responsive test was done in responsinator and as shown in figure above, this theme is
responsive on all platforms. First figure shows that it is responsive in Mobile devices. Second
figure shows that it is responsive in tablets like devices. Third figure shows that it is responsive in
Laptop devices.
24
Test Case 1 (Top Header Section)
Test Successful
Test Successful
25
Test Case 3 (Sidebar Section)
Test Successful
Test Successful
All tests successfully completed.
26
CHAPTER 6 : LIMITATIONS AND CONCLUSIONS
6.1 Conclusions
I have learned various types of technologies required for theme, product and layout design. My
main focus had been on front-end designing of theme development. With the help of this internship
I have gained significant amount of knowledge I hope it will be helpful for my future carrier.
Making this project was sometime difficult but solving those difficulties gave very valuable
knowledge. The team of Puranobooks had always helped me to sharpen my knowledge and to
acquire new skills.
Throughout my time of internship, I have acquired lots of new experiences. I got chances to use
different development tools, research on them and use them. Overall in this period of internship
all my theoretical knowledge gained from college had gained a practical experience.
6.2 Limitations
Some limitations of this themes are:
27
BIBLIOGRAPHY
28
APPENDIX A
1) Customization Page
2) Footer
29
3) Dashboard
4) HomePage
30