INTERNSHIP REPORT
Raunak Tar
1956
Report of Internship done at
InBetween Software Development PVT. Ltd
Submitted by
Raunak Tar
MCA Semester VI
1956
Under the guidance of
Asmita Mamlekar
Engineering Manager, InBetween Software
Development PVT. Ltd
GOA BUSINESS SCHOOL
Goa University
Taleigao Plateau Goa– 403206
June 2022
pg. 1
pg. 2
GOA BUSINESS SCHOOL
CERTIFICATE OF EVALUATION
This is to certify that Mr. Raunak Tar has been evaluated
for the project work titled “Report of Internship done at
InBetween Software Development PVT. Ltd” undertaken
at InBetween Software Development PVT. Ltd, Goa in
partial fulfilment for the award of the degree in Master of
Computer Application.
___________ ___________
Examiner 1 Examiner 2
Place: ______________________
Date: Dean, Goa Business School
pg. 3
ACKNOWLEDGEMENT
First and foremost, I'd want to express my gratitude to the
Goa Business School at Goa University for providing me
with the chance to intern and get real-world industrial
experience. Also, a special thanks to Mr. Ramdas Karmali
(Prof. and TPO, MCA, Goa Business School, Goa
University), Mr. Jarret Stevan Anthony Fernandes
(Assistant Prof, MCA, Goa Business School, Goa
University) and all the Goa Business School's teaching and
non-teaching staff.
I also want to express my gratitude to InBetween Software
Development PVT. Ltd for allowing me to participate in
this internship and for believing in my ability to work on
such projects.
I would like to express my gratitude to Mrs. Rebecca
Fernandes (HR) & Mrs. Asmita Mamlekar (Engineering
Manager) for giving me this opportunity to work on these
projects and for all the guidance, time, patience, support
and encouragement provided to me during the internship.
I am also grateful to all the InBetween employees for all
the help and encouragement which helped me during my
internship.
pg. 4
Table of Contents
Serial Topic Page
No. No.
1 Introduction 7
2 Company Profile 8
3 Work at InBetween Software Development 11
PVT. Ltd
4 Tools & Technologies Used 14
5 Internship Timeline 17
6 Overall Experience 23
7 References 24
pg. 5
DISCLAIMER
THE INFORMATION CONTAINED IN THIS REPORT
IS THE WORK DONE BY THE AUTHOR AS PART OF
THE INDUSTRIAL TRAINING PROGRAMME OF
MCA, GOA UNIVERSITY. THE DATA AND
SCREENSHOTS ADDED IN THIS REPORT ARE
SOLELY FOR THE REFERENCE PURPOSE ONLY. IT
DOES NOT IN ANY WAY REPRESENT THE
ACTUAL DATA USED FOR THE PROJECTS. CLIENT
NAMES, CLASS DIAGRAM, ER- DIAGRAM AND
WORK FLOW DETAILS ARE NOT GIVEN IN THE
REPORT AS IT IS AGAINST THE COMPANY’S
PRIVACY POLICY.
pg. 6
INTRODUCTION
This internship report describes the several
tasks/assignments carried out during 6 months full time
Internship period by Mr. Raunak Tar which commenced
on the 10th January 2022 at InBetween Software
Development PVT. Ltd in accordance with curriculum of
the VI semester Industrial Training of the MCA program,
Goa University, Goa. In the following report I have
provided a small description of the company, the
technologies studied and tools used during the internship,
and also tasks which I have done during the internship.
Finally, I have described my experience with the company
during the internship period.
pg. 7
Company Profile
InBetween Deutschland GmbH is a global leader in
Database Publishing solutions. 30 years InBetween has
been synonymous with high performance dynamic and
database publishing. The standard software InBetween is
able to create catalogs, brochures, datasheets, price lists,
and many more types of media in a rule-based, automated,
and format-independent manner and in a variety of outputs
formats. With InBetween, your publications for
marketing, sales as well as your technical documentation
can be created more easily, faster, and more efficient
throughout the entire company. You are not only saving a
lot of time and money but also nerves.
As an owner-managed company, we put great emphasis
on a long-term value- and profit-oriented investment and
growth strategy. Therefore, strong cooperation with our
partners plays a key role in our expansion and for building
up an international presence. With our competent
marketing-, sales- and support team headquartered in
Stuttgart and an extensive partner network on several
continents, we are able to offer you all the advantages of
pg. 8
an efficient publication process as well as related services
anywhere you want.
Our top-class development team at InBetween Software
Development Pvt Ltd in Goa makes sure your
requirements and our own ideas regarding new functions
will be put into action. Through our software maintenance
customers regularly receive enhanced and improved
software versions. Because the further development of a
software is just as important as what you buy today.
More than 200 companies worldwide across over 100
industries already benefit by using the database-supported
cross-media publishing provided by the market leader,
InBetween. Our knowledge of the special requirements in
the various branches and continuous further development
of InBetween made this success possible. Today,
InBetween is a mature technological standard solution for
all aspects of modern database and Dynamic-Publishing.
pg. 9
InBetween as a Product
The standard software InBetween is able to create
catalogs, brochures, datasheets, price lists, and many
more types of media in a rule-based, automated, and
format-independent manner and in a variety of outputs
formats. With InBetween, publications for marketing,
sales as well as technical documentation can be created
more easily, faster, and more efficient throughout the
entire company saving a lot of time and money but also
nerves.
The software consists of various UI and Non-UI clients
which provide the user with varying degree of control on
their generation of documents depending on their needs.
The following are few of the clients: -
• Project Editor
• Publisher
• Publication Wizard
• Batch Client
• Hotfolder
pg. 10
Work At InBetween Software Development
PVT. Ltd
The following are the clients I have worked on.
1)Project Editor
The InBetween Project Editor is a UI client. This is a tool for the InBetween
project developers. Here all necessary functions are made available for the
user to build the project. The user interface of the InBetween Project Editor
is completely graphical. The user must not issue orders via a command line
to run or write code. Almost all actions can be performed with the mouse
and give visual feedback.
Tools & Technologies used: - Java, Java Swing, HSQLDB, ArangoDB, XML, SAX,
JIRA, Tortoise SVN, SonarQube.
2)Hotfolder client
Hotfolder is a non-UI client. For this client there is a config.xml file
where all the details regarding the generations of document is specified
along with the name of the hotfolder. On running the client, the user can
simply drag and drop an XML data file in the folder and the client will
generate the documents based on the specifications in the config.xml file.
Tools & Technologies used: - Java, HSQLDB, ArangoDB, XML, SAX, JIRA,
Tortoise SVN, SonarQube.
pg. 11
3)Publisher
Publisher is a UI client and also a web client. This client is mainly used to
give demo to the customers. It has a very simple UI hence customization
of the document is very limited which makes it fast and easy to generate
documents.
Tools & Technologies used: - HTML, CSS, Javascript, JQuery, Java, HSQLDB,
ArangoDB, XML, SAX, JIRA, Tortoise SVN, SonarQube.
4)Batch client
Batch client is a non-UI client. For this client there is a scheduler.xml file
where all the jobs are specified. On running the client, it schedules the
jobs and generates the documents based on the job details. Jobs can even
be scheduled to run on a specific time every day.
Tools & Technologies used: - Java, HSQLDB, ArangoDB, XML, SAX, JIRA,
Tortoise SVN, SonarQube.
pg. 12
5) IB Admin
The InBetween Server Administrator is a tool for configuring the
InBetween server and is located in the InBetween directory. Users can be
created and deleted via the server administrator and user rights can be
defined for individual projects. The server administrator can also query
the current status of the InBetween server and close the InBetween server.
In addition, the status of generations can be viewed and managed.
Tools & Technologies used: - Java, JavaFX, HSQLDB, ArangoDB, XML, JIRA,
Tortoise SVN, SonarQube.
My Contributions: -
In all the above clients I have performed tasks such as fixing bugs and
introducing new features.
pg. 13
Tools and Technologies Used
Java
Java is a widely used object-oriented programming language and
software platform that runs on billions of devices, including notebook
computers, mobile devices, gaming consoles, medical devices and many
others. The rules and syntax of Java are based on the C and C++
languages. One major advantage of developing software with Java is its
portability. Once you have written code for a Java program on a notebook
computer, it is very easy to move the code to a mobile device.
Java Swing
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java
Foundation Classes – an API for providing a graphical user interface for
Java programs. Swing was developed to provide a more sophisticated set
of GUI components than the earlier Abstract Window Toolkit.
HTML
The Hypertext Markup Language or HTML is the standard markup
language for documents designed to be displayed in a web browser.
CSS
Cascading Style Sheets is a stylesheet language used to describe the
presentation of a document written in HTML.
Javascript
JavaScript is the Programming Language for the Web. JavaScript can
update and change both HTML and CSS. JavaScript can calculate,
manipulate and validate data.
pg. 14
JQuery
jQuery is a JavaScript library designed to simplify HTML DOM tree
traversal and manipulation, as well as event handling, CSS animation,
and Ajax.
JavaFX
JavaFX is a software platform for creating and delivering desktop
applications, as well as rich web applications that can run across a wide
variety of devices. JavaFX has support for desktop computers and web
browsers on Microsoft Windows, Linux, and macOS, as well as mobile
devices running iOS and Android.
HSQLDB (HyperSQL DataBase)
HSQLDB (HyperSQL DataBase) is the leading SQL relational database
system written in Java. It offers a small, fast multithreaded and
transactional database engine with in-memory and disk-based tables and
supports embedded and server modes. It includes a powerful command
line SQL tool and simple GUI query tools.
ArangoDB
ArangoDB is a free and open-source native multi-model database system
developed by ArangoDB GmbH. The database system supports three data
models (key/value, documents, graphs) with one database core and a
unified query language AQL (ArangoDB Query Language). The query
language is declarative and allows the combination of different data
access patterns in a single query. ArangoDB is a NoSQL database system
but AQL is similar in many ways to SQL.
JIRA
Jira is a proprietary issue tracking product developed by Atlassian that
allows bug tracking and agile project management.
pg. 15
Tortoise SVN
TortoiseSVN is a really easy to use Revision control / version control /
source control software for Windows. It is based on Apache™
Subversion (SVN). TortoiseSVN provides a nice and easy user interface
for Subversion. It is developed under the GPL. Which means it is
completely free for anyone to use, including in a commercial
environment, without any restriction. The source code is also freely
available, so you can even develop your own version if you wish to.
SonarQube
SonarQube is an open-source platform developed by SonarSource for
continuous inspection of code quality to perform automatic reviews with
static analysis of code to detect bugs, code smells, and security
vulnerabilities on 20+ programming languages.
XML
Extensible Markup Language is a markup language and file format for
storing, transmitting, and reconstructing arbitrary data. It defines a set of
rules for encoding documents in a format that is both human-readable and
machine-readable.
SAX
SAX is an event-driven online algorithm for parsing XML documents,
with an API developed by the XML-DEV mailing list. SAX provides a
mechanism for reading data from an XML document that is an alternative
to that provided by the Document Object Model.
pg. 16
Internship Timeline
JAN 2022
Week 1
• Formal Orientation and on-boarding process.
• Knowledge Transfer sessions on InBetween Software.
• Knowledge Transfer sessions on Web based Clients
Week 2
• Generated files in different formats using InBetween project editor.
• Knowledge transfer sessions on Jira.
• Created first ticket on Jira.
• Knowledge Transfer sessions on SVN.
• Knowledge Transfer sessions on eclipse.
Week 3
• Worked on IB Admin bug ticket (Edited user does not get
reflected).
• Worked on Project Editor bug ticket (Project restart should not be
needed to reflect newly created Color styles in the Layers color
list).
Week 4
• Worked on Project Editor bug ticket (Project restart should not be
needed to reflect newly created Color styles in the Layers color
list).
• Worked on new Project Editor bug ticket (Add Font Style option is
displaying in Canvas, List and Styles panel UI after right click).
pg. 17
FEB 2022
Week 1
• Worked on Publisher bug ticket (Append/Style options are not
displayed for HQ-PDF and Int-PDF output format).
Week 2
• Worked on same Publisher bug ticket (Append/Style options are
not displayed for HQ-PDF and Int-PDF output format).
• Worked on new feature ticket (uploading & using multiple
javascript files for generations) for batch client and hotfolder.
Week 3
• Worked on new feature ticket (uploading & using multiple
javascript files) for batch client and hotfolder.
• Worked on backend implementation ticket for the new feature
ticket (uploading & using multiple javascript files for generations).
Week 4
• Worked on backend implementation ticket for the new feature
ticket (uploading & using multiple javascript files for generations).
• Worked on new feature ticket for uploading and using multiple
javascript files for update functionality.
pg. 18
March 2022
Week 1
• Worked on new feature ticket for uploading and using multiple
javascript files for update functionality.
• Worked on new feature ticket for creating UI for publisher to
upload and use multiple javascript files for generation and update.
Week 2
• Worked on new feature ticket for creating UI for publisher to
upload and use multiple javascript files for generation and update.
Week 3
• Worked on new feature ticket for creating UI for Project Editor to
upload and use multiple javascript files for generation and update.
Week 4
• Worked on new feature ticket for creating UI for Project Editor to
upload and use multiple javascript files for generation and update.
pg. 19
April 2022
Week 1
• Worked on new feature ticket for creating UI for Project Editor to
upload and use multiple javascript files for generation and update.
• Worked on a Project Editor bug ticket (NoSQL All data is
displayed when no current link is selected).
Week 2
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
• Worked on IB Admin bug ticket (PDF Generation record not
shown).
Week 3
• Worked on a Publisher bug ticket (Custom Layout).
• Worked on documentation for the new feature of uploading and
using multiple javascript files for generations and update.
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
Week 4
• Worked on Job automation bug ticket (Uploaded data XML file
does not get saved).
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
• Worked on new feature ticket for having the html5 output be
responsive.
pg. 20
May 2022
Week 1
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
• Worked on new feature ticket for having the html5 output be
responsive.
• Worked on new feature to backup, restore and update ibsso user
data in IB Admin.
Week 2
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
• Worked on new feature to backup, restore and update ibsso user
data in IB Admin.
• Worked on Project Editor bug for Text frame unit.
Week 3
• Worked on new feature ticket for having a unified tooltip style for
all Project Editor themes.
• Worked on new feature to backup, restore and update ibsso user
data in IB Admin.
• Worked on Project Editor bug for Text frame unit.
Week 4
• Worked on Batch Client bug ticket (Duplicate output files are
created).
• Worked on new feature ticket for having the html5 output be
responsive.
pg. 21
June 2022
Week 1
• Worked on Job Automation bug ticket (Error while reading XML
Header).
• Worked on Publication Wizard bug ticket (Exceptions are thrown
in PW logs).
• Worked in IB Admin bug ticket (Errors in Admin logs on
launching Admin).
pg. 22
Overall Experience
My Internship at InBetween has been a wonderful and
growing experience. Facing newer challenges every day is
a norm here at InBetween. It was a completely new
environment where I first encountered the transaction
between student life and industry life with new roles and
responsibilities. Initially it was hard to adapt to a new
place but slowly I got settled very well. The work
environment is so casual & friendly that it feels
comfortable. I made many new friends here who have
helped me with many technology related doubts as well as
industrial doubts.
At InBetween, I was never restricted to just my project
team. I was provided freedom to interact, consult seek help
and guidance, etc. from any colleagues. The biggest skills
that were enhanced during the internship was the ability to
adapt, learn, multitasking & time management. This
internship has given me insights into the software world
and how things actually work in the industry. The
internship has been very technical and has improved my
technical knowledge tremendously.
To conclude, my internship in InBetween has inspired me
to pursue a career in the field of software development
technology and to excel in it. It was a great learning
experience and I consider myself honored for being a part
of InBetween Software Development PVT. Ltd.
pg. 23
References
https://www.javatpoint.com/java-oops-concepts
https://www.javatpoint.com/cpllections-in-java
https://tutorials.jenkov.com/java-concurency/index.html
https://www.geeksforgeeks.org/serialization-in-java/
https://www.javatpoint.com/RMI
https://www.tutorialspoint.com/java/java_files_io.html
https://www.tutorialspoint.com/java/java_files_io.html
https://dzone.com/articles/parsing-xml-using-dom-sax-and
https://www.vogella.com/tutorials/JAXB/article.html
https://howtodoinjava.com/jms/
https://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.html
pg. 24