Professional Documents
Culture Documents
Project Report Template Rashmi
Project Report Template Rashmi
Internship Project
Submitted by
Name: Rashmi Rekha Kar Regd. no.: 1841016081
Supervised by:
1
DECLARATION
We certify that
a. The work contained in this report is original and has been done by us under the guidance
of our supervisor(s).
b. The work has not been submitted to any other Institute for any degree or diploma.
c. We have followed the guidelines provided by the Department in preparing the report.
d. Whenever we have used materials (data, theoretical analysis, figures, and text) from other
sources, we have given due credit to them by citing them in the text of the report and
giving their details in the reference.
1
REPORT APPROVAL
by
Rashmi Rekha Kar 1841016081
is approved for the degree of
Bachelor of Technology
in
Electronics and Communication Engineering
Neha Srivastava
Date:
Place:
(Departmental Seal)
2
CONTENTS
DECLARATION I
REPORT APPROVAL II
CONTENTS III
ABSTRACT IV
GRAPHICAL ABSTRACT V
PLAGIARISM CHECK CERTIFICATE VI
INTRODUCTION 1
1. Company Overview 2
2. Carrier at HighRadius 3
CHAPTER 1: TECHNOLOGIES 4
1.1. Client Side (Ext js FrameWork) 4
1.2. Server Side Java 5
1.3 MVC 5
1.4 Spring 9
1.5 Struts 10
1.6 Hibernate 12
CHAPTER 2: HIGHRADIUS SYSTEM ARCHITECTURE AND DESIGN 14
CHAPTER 3: DESIGN SCHEME 17
3.1. UI of the Project 17
3.2. Add Pop up window 18
3.3 Delete Pop up window 18
3.3 Edit Pop up window 19
3.4 Backend of Project 20
CHAPTER 4: PROBLEM DEFINITION 23
CHAPTER 5: CHALLENGES 24
CHAPTER 6: CONCLUSION 26
CHAPTER 7: SCOPE OF WORK 26
REFERENCES 35
APPENDIX 36
3
ABSTRACT
This story will ease out the configuration process by providing a framework where
CRUD operations can be done through UI.
There will be a single screen where the user can select the configurations category
he/she wants to configure from a drop-down.
On selecting a particular configurations category, a list of tabs for each configs will
open where the user can perform CRUD operations through UI.
This will reduce the As-Is process of manual DB time and effort, easing the process
of doing a configuration.
EippCommonConfig.js will be the common Js file for the framework which creates
all UI components dynamically based on the configurations .
There are common Action, Manager classes that need not be created for each
configurations , the framework will handle it.
The Dao Impl needs to be created for each config which needs to implement
EippCommonConfig abstract class.
Functionalities:
Create the panel based on the selected dropdown value with the tabs that are
mapped to particular parent configs
Fields for Add , Edit form will be created dynamically based on the datatype of the
child config for the specific tab.
4
GRAPHICAL ABSTRACT
5
PLAGIARISM CHECK CERTIFICATE
6
Introduction
1 Company Overview
HighRadius is a Fintech enterprise Software-as-a-Service (SaaS) company that
provides an Integrated Receivables Platform to optimize receivables and
payments functions such as credit, collections, cash application, deductions,
and electronic billing and payment processing. The Integrated Receivables
platform allows suppliers to digitally connect with buyers via the RadiusOne
network, closing the loop from supplier receivable processes to buyer payable
processes. HighRadius solutions have a proven track record of reducing Days
Sales Outstanding (DSO) and bad debt, and increasing the operation efficiency,
enabling companies to achieve an ROI in just a few months.
The goal is to help A/R and credit departments adopt innovative processes
supported by high levels of automation so they may become more strategic,
more streamlined, and more successful. It operates on three core principles: to
reduce the total cost of ownership (TCO) of receivables solutions, to deliver a
concrete return on investment (ROI) and fast payback periods to our
customers, and to provide innovative functionality to the market. HighRadius
is trusted by some of the world’s largest corporations and is consistently named
one of the fastest growing technology companies in Houston, where it is
headquartered.
7
Figure 1 | Company Structure
2 Carrier at HighRadius
HighRadius is an early-stage company providing software solutions for
automating a business’ order-to-cash cycle. For most businesses, accounts
receivable is either the largest or the second largest asset on their balance
sheet (in fact, it accounts for 40%, on average, of all the assets by value).
Efficient management of accounts receivable has a direct impact on the
financial health of a business. HighRadius is dedicated to helping businesses
efficiently manage this asset.
8
• an opportunity to build innovative products that customers love
9
Chapter 1: Technologies
As a FSD intern, I worked on backend and frontend frameworks which included
ExtJs, MVC architecture, Java, Spring, Struts, Hibernate, Apache Tomcat Server.
10
Ext JS includes a set of GUI-based form controls (or "widgets") for use within web
applications:
text field and text area input controls
date fields with a pop-up date picker
numeric fields
list box and combo boxes
radio and checkbox controls
HTML editor control
grid control (with both read-only and edit modes, sortable data, lockable and
draggable columns, and a variety of other features)
tree control
tab panels
toolbars
desktop application-style menus
region panels to allow a form to be divided into multiple sub-sections
sliders
vector graphics charts
Many of these controls can communicate with a web server using Ajax.
11
1..2.1 Process Overview
1.3 MVC
Model-View-Controller, often abbreviated as MVC, is a design architecture used for
• Model is the lowest level of a pattern that is responsible for storing information.
• Controller: Regulates and maintains the interactions between the model and
the view.
12
Figure 6 | MVC
As a result, MVC is able to segregate the application logic from the visual design. In
the past, it was used to design user interfaces. Used popularly now for app
development.
13
• The Model class or the DAO class consists of the logic that connects with the
database.
• The View class or the Action class consists of the logic that connects the frontend
UI.
• The controller class interfaces the DAO and the Actionclass logic with each other.
• This enables smooth running of our product and bugs can be resolved easily.
14
1.4 Spring
The most well-known enterprise Java framework is Spring. The Spring framework
aids in creating a high performing, reusable and testable code.
Spring is lightweight, with the basic version being just 2 MB. Spring enables a
• Spring uses the Maven capabilities to allow creation of getters and setters which
can be used when a Model class functionality is referenced from View class, or
when a DAO class connects with the database taking reference from the POJO
class
• We create APIs to connect View class with the front end using spring.
15
1.4.2 Framework for Spring
1.5 Struts
• Struts is used to create a web application based on Servlet and JSP. Struts depend
• In struts, the composite view manages the layout of its subviews and can
application.
16
1.5.1 Implementation of struts in my project:
• Struts framework is used in my project to enable the capabilities of MVC
framework.
• Struts is used to create the beans that connect all the interfaces of MVC with each
other.
• I connect the beans with each other using their objects in the MVC classes.
• The AJAX calls that are sent from frontend to backend for UI is done using Struts
framework in my project.
17
1.6 Hibernate
Hibernate is an object-relational mapping (ORM) framework for web applications
that
that I can perform the function of adding a record, deleting a record or fetching a
• I also used hibernate to map my POJO classes with the corresponding table and
18
1.6.2 How does Hibernate work?
19
Chapter 2: HighRadius System
Architecture and Design
At HRC there is a robust structure which is followed for each project and for each
developer.
20
Figure 11 |System Architecture
Each project has a one month cycle following the agile software model. New
projects are assigned each month and each monthly cycle is called a
"MonthName" Sprint. For example, January Sprint, February Sprint and so on.
The projects within each sprint are assigned to developers in the beginning of
each sprint.
The business requirements mainly include the details about what are the
coding and the database requirements for this project, what functionalities are
expected from the developer.
The customer requirements mainly consist of how the customer wants the UI
to look, also how soon the project is needed, i.e. the deadline.
Eclipse IDE, one of the most popular IDEs for software development in Java is
used at HRC .
The default maven projects required for further configuration are imported and
if any Maven or Java errors arise they are resolved by doing package updates or
Maven updates.
The server Apache Tomcat 8.5.5 is set up with specific modifications for the
HRC environment.
21
Default methods that can provide assistance in further development are
inherited through their classes.
Required methods are created Backend code is written in Java The controller
and the model class of the MVC architecture are created within one project.
They have the interfaces in which the methods are initiated and beans are
created.
The view class of the backend is created in another project with the frontend
ExtJs class.
The view class has the bean which is used to connect to the JS file for picking
up AJAX calls.
All the backend and the frontend files are connected to each other through
bean mappings, using the ORM Hibernate Mappings.
After the development phase is complete, the developer moves to testing the
functionalities on the local server and debugging. After debugging all the issues
and completing the testing part the manager is informed by the developer that the
The manager takes code review and gets an understanding of the code the
developer has written, and guides the developer to refactor the code, if required.
After successful completion of code review, the code is pushed into the central
repository and then the consultancy team uses the common domain consisting of
all the functionalities to sell the product to customers.
22
Chapter 3: Design Scheme
3.1 UI of the Project
Figure 12 |Project UI
It consists of Inline Search Panel, container which consists of buttons and the
Grid Panel.
The Search Panel consists Message, Language, Message Key, Product, Create
User, Create Time, Update User ,with the help of these fields we can search and
get the required data in the UI and also sort the in increasing or decreasing
alphabetical order.
On the Top of the grid there is a Pagination toolbar which consists of three
buttons add, edit, delete from which one can do the CRUD operation to the
database.
23
3.2 Add Window Popup
When the user click on add button present at the pagination toolbar user will
see the add pop up and by filling the required fields and click on save button
the data get inserted in the database.
If user clicks on Yes the data gets deleted from the database.
24
3.3 Edit Window Popup with Pre populated value
When the user selects the row which needs to be edited and clicks on edit
button then the edit window appears with the prepopulation of the fields with
the record which user select.
Now the user can edit the data and when clicks on save button the data gets
edited in the database.
25
3.4 Backend of Project
Manager Implementation
(MessageRenamingManagerImpl.java)
Actions typically delegate down to the application (or service) layer to perform
business operations.
MessageRenamingManager.java:
27
MessageRenaming Manager is an interface which contains definition of all the
methods which are being called by js file.
ManagerImpl.java:
Manager Impl is a class which implements MessageRenaming Manager interface.
This is doing spring work. We are creating an object here which is making contact
to dao class.
MessageRenamingDao.java
Dao is an interface which contains definition of all the methods which are being
called by manager class impl.
MessageRenamingDaoImpl:
DaoImpl is a class where actual functionality is being returned. Actual logics are in
dao impl class.
As like in report execute, daoimpl class is returing the list of values from database.
This is the file that contains the code that interacts with database.
28
Chapter 4: Problem Definition
1.
2.
UI Config
29
Chapter 5: Challenges
Debugging
Normally, software contains errors and bugs, which are routinely removed.
Debugging tactics can involve interactive unit testing, Integration Testing, log
file analysis, monitoring at application or system level , memory dumps and
profiling.
Writing clean code is an important factor for the scalability of the code. It is
going to be helpful for the fellow developer to comprehend the code that you
have written.
There are various advantages of writing clean code. Following are some of
them to list.
Good Practices
30
● Using meaningful names for Variables, Functions, Procedures, Methods.
● Be consistent
● Proper Indentation
● contains no duplication
breaks project.
31
Chapter 6: Conclusion
During the tenure of my internship, I had the exposure to a variety of work
being done at HighRadius. Starting from summer internship I got to know a lot
about FullStack Development. I am currently working as a paid intern in
HighRadius in the Slimfast Department.I am currently assigned a product
specific task under the Slimfast EIPP team.
I got to know a lot about web development rather than Fullstack development
using spring hibernate struts and a lot of other technologies.I hope such an
experience will be of greater help to me in future.
32
INTERNSHIP CERTIFICATE
33
References
• ExtJs Documentation
https://docs.sencha.com/extjs/6.6.0/
• Spring
https://www.youtube.com/channel/UCYt1sfh546
4XaDBH0oH_o7Q
• Hibernate
https://www.tutorialspoint.com/hibernate/index.
Htm
https://www.highradius.com/
34
Appendix
35