Final Internship Report
Final Internship Report
Kritipur, Kathmandu
By
Pratik Poudel (T.U. Exam Roll No.7545/072)
An Internship report submitted in partial fulfillment of the requirement for the degree of
Bachelor of Science (B.Sc.) Computer Science and Information Technology
Awarded by IOST, Tribhuvan University
DISCLAIMER
I hereby declare that the presented report of internship entitled Flip Book System is
uniquely prepared by me after the completion of three months work at Offix Services.
…………………..
Pratik Poudel
Roll No : 7545/072
Bsc. CSIT
Tribhuvan University
ii
Sagarmatha College of Science and
Technology Sanepa, Lalitpur
(T.U. affiliate)
Mentor's Recommendation
I hereby recommend that this report has been prepared under my supervision by
Pratik Poudel, in partial fulfillment of the requirements for the degree of B.Sc. in
Computer Science and Information Technology, be processed for evaluation.
..........................................
Anup Aryal
Senior Developer
Offix Services
Chandol, Kathmandu
March 2020
iii
Sagarmatha College of Science and Technology
Sanepa, Lalitpur
(T.U. affiliate)
Supervisor’s Recommendation
I hereby recommend that this report has been prepared under my supervision by
Pratik Poudel in partial fulfillment of the requirements for the degree of B.Sc. in
Computer Science and Information Technology be processed for evaluation.
..............................................
Signature
Er. Manish Aryal
Sagarmatha College of Science and Technology
Bsc.CSIT Department
Sanepa, Lalitpur
iv
Sagarmatha College of Science and Technology
Sanepa, Lalitpur
(T.U. affiliate)
Certificate of Approval
The undersigned certify that they have read and recommended to the Department of
Computer Science and Information Technology for acceptance, an internship report
submitted by Pratik Poudel partial fulfillment for the degree of Bachelor of Science in
Computer Science & Information Technology.
.............................................. .............................................
Signature Signature
Tej Bahadur Shahi Er. Manish Aryal
Assistant Professor Sagarmatha College of
CDCSIT Science and Technology
Tribhuvan University (Project
Supervisor) (External Examiner)
..............................................
Signature
Er. Ganga Subba
Sagarmatha College of Science and Technology
(Program Coordinator)
v
Acknowledgements
Sincerely,
Pratik Poudel (7545/072)
vi
Abstract
This internship report contains the details of the activities carried out during the
internship conducted at Offix Services, Chandol, Kathmandu. It was a real time work
experience at Offix Services. I had chance to learn about the system development aspect,
agile workflow and the client support system. I was able to gather a lot of knowledge and
experience from our mentor and other professionals. It also taught me on how to work in
a group and be an efficient team member.
Web based applications are very popular in recent days. This type of application is
popular because it doesn’t have to be distributed and installed on the client’s computer. It
is very easy to update and maintain web applications. In terms of accessibility, this type
of application can be accessed from anywhere, anytime from any device supporting
internet connection.
I was assigned to develop and handle ‘Flip book’ using Django framework. Our system is
online flipbook which takes the photos from user manages those photos in database in
accordance to their year and flip using turn.js using all the css and javascript effect with
having admin control all over the database changes.
vii
Table of Contents
DISCLAIMER.....................................................................................................................ii
Mentor's Recommendation.................................................................................................iii
Supervisor’s Recommendation...........................................................................................iv
Certificate of Approval........................................................................................................v
Acknowledgements.............................................................................................................vi
Abstract..............................................................................................................................vii
List of Table........................................................................................................................xi
Abbreviation......................................................................................................................xii
Chapter 1 INTRODUCTION...............................................................................................1
1.1. Introduction...........................................................................................................1
1.3. Objective................................................................................................................2
2.2. Methodology..........................................................................................................6
vii
i
3.1. System Analysis....................................................................................................8
3.3.2. ER Diagram..................................................................................................11
4.1. Implementation....................................................................................................14
4.2. Testing.................................................................................................................16
Chapter 5 CONCLUSION.................................................................................................18
5.1. Conclusions.........................................................................................................18
References..........................................................................................................................19
Appendix............................................................................................................................20
ix
List of Figure
Figure 1: Organizational hierarchy......................................................................................3
Figure 2: ER Diagram........................................................................................................11
x
List of Table
Table 1: Duration of Internship............................................................................................4
xi
Abbreviation
DFD Data Flow Diagram
ERD Entity Relationship Diagram
HTML Hypertext Markup Language
CSS Cascading Style Sheet
JS Javascript
SQL Structured Query Language
DBMS Database Management System
xii
Chapter 1 INTRODUCTION
1.1. Introduction
This report is the compilation of my 3 months (10 th Mangshir 2076 - 10th Magh 2076)
internship experience at Offix Services. I have developed a lot of confidence in the field
of web development by being a part of a different web projects. I have selected Python as
my preferred programing language.
Python is a general purpose and high level programming language. We can use Python
for developing desktop GUI applications, websites and web applications. Also, Python, as
a high level programming language, allows us to focus on core functionality of the
application by taking care of common programming tasks. It consists of different
framework such as Django, Pyramid, TurboGears, and Web2py etc. Among these Django
is the most popular one. I have used Django 2.1.2 framework for my projects.
I have used Django framework for my flip-book project of my company, it is a book with
a series of pictures that vary gradually from one page to the next, so that when the pages
are turned rapidly, the pictures appear to animate by simulating motion or some other
change.
1
1.3. Objective
Room Hunt System allows user of the web application to search and view property details
for rent seekers and post rental property detail for the owners. Property owners are able to
view basic profile of registered rent seekers who are interested on renting their property.
Room Hunt System provides list of property detail for the rent seekers that are similar to
what they are searching for.
The “Flip Book” project can be of a good help to advertise our material in a web. People
don’t want to read long and lengthy description of the job we did with the help of flip
book we can show them the work done with little bit of animation in a pictorial form.
User can flip the book just by a touch, they can select the year whichever they want and
flip the book of those year .Admin is capable of making all the changes in photos adding
new deleting the olds making change in the animation and many more
1.4.2. Limitation of the Project
• Our system is only web-based system and not android or any other mobile app
based.
2
1.5. Brief Introduction of Organization
Offix Services Pvt. Ltd. offers a wide range of custom IT enables services and has
outstanding experience in delivering custom database development, distributed and
networked application design as well as development of various web components and
projects. Offix Services initially started as interactive CD ROM developing company with
website as an added value. The development of Application and Software has been a core
and continuous activity of Offix Services since its very existence. It offers a wide
varietyof services that matches your business needs to our capabilities. Offix Services
combines technical excellence with great customer service and create new teams for each
project, ensuring the best possible combination of skills and experience to meet theclient's
needs and deliver high end quality services. Besides web development Offix Services
offers various services as photoshoot video shooting and partner in promoting your
websites.
Offix Servicesworks in Hierarchy manner CEO works above two project coordinators
which of them are classified as Web development and Multimedia Head us as an interns
works under project manager of web development along with other developers.
Meanwhile Multimedia head project manager works above editor and designers. The
organizational hierarchy of Offix Services is illustrated below.
3
1.5.2. Organization Selection and Placement
The selection of organization is all about the area of interest of student and willingness of
the company to take student as an intern. The author needs to prepare a resume and need
to face interview to get internship.
As per the college requirement, the author was supposed to choose an IT related field for
our internship program. For the partial fulfilment of Bachelor’s Degree of Computer
Science and Information Technology the author applied in several organizations to work
and learn as an intern. Among them, most of the organization would call for an interview
and also some required a written tests and tasks tests. Among them all, I was happy to be
chosen by Offix Services for an internship program as Web Developer.
Intern is required to work on the tasks assigned by the mentor. Also, a weekly report is
updated. All the tasks carried out in a week is updated on a regular basis. Reporting
Manager is responsible to assigns tasks for the intern. Mentor guides and verifies the
work done by the intern. I worked as an intern in web development at Offix.
4
1.5.5. Details of Work Done
Week Activity
1st week Installation and setup of python 3.7 (Django framework 2.1.2) Atom text
editor.
HTML, CSS, JAVASCRIPT Tutorial.
2nd week Front end designing of simple websites (cloning).
Study of Django documentation and YouTube tutorial on python.
3rd -6th week A simple Blog website is created where we can update delete add blogs
using admin panel. A simple weather app is created using open weather
map API which would give the current weather condition of main cities
all over the world including (Kathmandu,Pokhara,Lalitpur)
7th -8th week A flip book is created for Offix Serviceswhich would have all the photos
of the photoshoot done by them managed in yearly manner and would
have flip book animation, admin having control over all the photos and
animation.
5
Chapter 2 LITERATURE REVIEW AND METHODOLOGY
There are various other related website and similar works done. Some of them are:
Turn.js
Turn.js is a JavaScript library that will make our content look like a real book or
magazine using all the advantages of HTML5. The web is getting beautiful with new
user interfaces based in HTML5; turn.js is the best fit for a magazine, book or catalog
based in HTML5. (García, 2019)
2.2. Methodology
This internship report is the study of particular subject backed by the collection,
compilation, presentation and interpretation of relevant information. It starts from the
selection of the organization for the internship, performance of different kinds of
activities and placement in different parts of the organization and last collection of
various primary and secondary data for the preparation of the report
For the report the data are collected from the primary source and secondary source. They
are as follows:
2.2.1.1.Primary Data
6
2.2.1.2.Seconday Data
7
Chapter 3 SYSTEM ANALYSIS AND DESIGN
3.1. System Analysis
The analysis phase of a software development lifecycle is described as the research period
in which the feasibility and the requirements of the proposed software are identified. In
this phase the preliminary task was to find requirement of the Flip Book.
3.1.1.1.Functional Requirement
The functional requirements for a system describe what the system should do. Those
requirements depend on the type of software being developed and the expected users of
the software. These are statement of services the system should provide, how the system
should react to particular inputs and behave in particular situation. In order to flip the
book we need images and to run the command we need browser (Chrome, Internet
Explorer).Admin can make changes to the photos added to the book and change the
animation of flip using turn.js.
3.1.1.2.Non-Functional Requirement
Security:
Performance:
Maintenance:
This is the ability to change the system to deal with new technology or to fix the defects.
Usability:
Usability is the ease with which user can learn to flip the book. User-manuals, Help
facilities are some of the components that are included in usability.
8
3.2. Feasibility Study
The main purpose of the feasibility study is to check that the “Flip book” is feasible or
not.Our system must be feasible so that it can be implemented in time and used easily in
various browsers. The main feature required for project to be a feasible are of mainly four
types which are as follows:
Technology is rapidly developing day by day and these developments introduce new
innovative application. According to survey customer accessibility to internet result is
illustrated below.
From the survey they also study about customer using smart phones. The result they
found was 31% No and 69% Yes.
Developed system is technically feasible. To use the system, user doesn't require
advanced technical knowledge. Its simple UI makes interaction easy. Anyone who has
basic knowledge about android application can use this system. The entire system can be
developed with the presently resource.
• Software requirements:
IDE: Atom
Wireless Connection
Since this project is developed based on web platform, the whole system is developed in
Django framework which is open source. So, this project is economically feasible.
9
3.2.3. Operational Feasibility Analysis
The user interface designed for this project “Flip book” is user friendly. Users can easily
navigate and work around with the application. Designer team of this project has spent lot
time finding out flow of system with less click and steps as possible.
Schedule feasibility estimates how long the system takes to execute certain tasks within
given time frame. The system verifies the credentials and inserts in to the records in a
short time period. So, it is feasible.
1
3.3. Data Modeling and Process Modeling
3.3.1. Data Modeling
Data modeling is often the first step in database design and involves a progression from
conceptual model to logical model to physical schema. It explains the characteristics and
structure of data independent of how the data may be stored in computer memories and is
usually developed iteratively.
3.3.2. ER Diagram
ER-diagram represents how actually the database is designed. User, Admin, Photos are
major entities of the system. Several other entities sets are interrelated. Overall entity
relationship is shown in the figure.
Figure 2: ER Diagram
1
This application consists of four main attributes. The attributes are User, Photos and
Admin. The relation between these attributes is as: one user can view many photo.
Admin role is to manage the photos.
Data Flow Diagrams show the flow of data from external entities into the system, and
from one process to another within the system.DFD of my system is illustrated below
Based on the diagram, we know that the user can only view the content of flip book
whereas admin can register, login, verify and manage the photo in the database.
1
3.4. System Design
Systems design is the process of defining the architecture, modules, interfaces, and data
for a system to satisfy specified requirements. Systems design could be seen as the
application of systems theory to product development. It shows the overall design of
system. In this section we discuss in detail the design aspects of the system.
1
Chapter 4 IMPLEMENTATION AND TESTING
4.1. Implementation
The whole information gathered is studied, analyzed and then finally it was processed to
build an actual system.
• Python:
The development of web application has been done using Python language
which is an object-oriented programming language.
• Django:
HTML was used in the application to structure the contents and layout in the web
browser.
• GitHub
GitHub was used for hosting the application’s source code and maintaining it.
• GIT
1
Atom was used to write the front-end codes in HTML, CSS as well as the
backend code in Python. This tool provided a clean interface to write scripts
without much distraction that helped to increase the productivity while building
the application.
Microsoft Office Word 2016 is used in this project for the documentation of the
final year project.
• SQLITE
• Admin Module
In this module the admin first login into the system then he is authenticated user. If he is
not valid then the message should be displayed saying that not valid. If he is valid then
the page should be navigated to the “admin Dashboard” displaying items like “add photo,
delete previous photo, logout”. If the teacher wants to add new then he will be clicking on
“Add photo” then the page is navigated to add photo page where he will insert caption
and details of the photo. Then teacher can add new caption and set details to that photo
further.
If the admin wants to delete the previous photo details then he will be clicking on the
“Delete” then photo will be deleted successfully.
• User Module
In this module there is no need to login into the system the user can generally select the
year from which they want to check the flip book .They can check every years flip book
and can suggest new ideas through suggestion box. Selecting a particular photo opens up
the details and date of the shoot.
1
4.2. Testing
Various types of testing procedures were performed in order to check the working
mechanism and correctness of the system. Some of the types of testing that we did
attempt are described below:
The purpose of unit testing in this project is to check that as individual parts of the system
are functioning as expected or not. We have tested each module of this system in order to
check the correctness of the output. Firstly, we found many errors and then it was
resolved stepwise.
The test case designed was executed manually. Valid and invalid data are entered
manually and verified manually.
1
Test Result for Login
Table 4: Test result for Login
Alpha Testing
Beta Testing
Beta testing comes continuously after alpha testing which is considered as a form
of external user acceptance testing. Here, the beta version of the program is
developed and provided to limited users.
1
Chapter 5 CONCLUSION
5.1. Conclusions
During the internship period, I developed user and admin module of “Flip book” using
Django framework. The admin module of “Flip book” had different objectives which
were listed above. In Flip book the admin can successfully login and add the photos
giving caption and details. Further admin can successfully add new database and remove
the old one.
For future work, the android and IOS based application development for the system is
still to be done. To officially release this system our system needs to go through various
testing phases which are currently the future works to do.
The time I have spent at Offix Services as an intern, was a great experience. I got
opportunity to learn in a professional environment. This helped me to improve my skills,
knowledge, abilities and to work in a group. Apart from this,
• It helped me realize that in professional world deadline is a very serious subject and
hence proper planning and work discipline must be maintained throughout the office
period.
1
References
Botelho, P. (2019, January). BookBlock: A Content Flip Plugin. Retrieved from Codrops:
https://tympanus.net/codrops/2012/09/03/bookblock-a-content-flip-plugin/?
1
Appendix
A. Snap Shots
Login Page
Admin Panel
2
Fiscal year Selection
Flipbook
2
B. SOURCE CODE
Urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('photos',include('photoshoot.urls')),
path('',views.homepage),
path('test/',views.test),
if settings.DEBUG:
urlpatterns +=
static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
Views.py
def homepage(request):
return render(request,'index.html')
def test(request):
return render(request,'pratik.html')
2
Settings.py
import os
SECRET_KEY = '0-t0w74z1cd=9fqx^0bm-5hxl=1i@1p#0a*8y&%ty)+672q=i^'
DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'photoshoot',
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
TEMPLATES = [
2
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
AUTH_PASSWORD_VALIDATORS = [
'NAME':
'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
2
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
Manage.py
import os
import sys
2
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Offix Services
_photoshoot.settings')
try:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
) from exc
execute_from_command_line(sys.argv)