Professional Documents
Culture Documents
Kuchhnhi
Kuchhnhi
A PROJECT REPORT
Submitted by
BACHELOR OF ENGINEERING
in
Computer Engineering
CERTIFICATE
This is to certify that the project report submitted along with the project entitled
Commission Grid has been carried out by Thakkar Vidhi Bahveshbhai under
DECLARATION
We hereby declare that the Internship report submitted along with the
work carried out by me/us at Ace Analytics under the supervision of Mr. Nikunj
Beladiya and that no part of this report has been directly copied from any
students’ reports or taken from any other source, without providing due
reference.
ACKNOWLEDGEMENT
It is great pleasure for me to undertake this Internship as software engineer intern and a project
at Ace Analytics. I feel highly doing the project entitled “Commission Grid”. I offer my
I am very grateful and would like to thank my supervisor and external guide Mr. Nikunj
Beladiya who has been mentoring me through the whole journey of this project and internship. I
would also like to thank Prof. Shruti Raval, Head of Department and Prof. Jay Paria, my
This Internship and project would not have completed without their enormous help and worthy
experience. Whenever I was in need, they were there behind me. Although, this report has been
prepared with utmost care and deep routed interest. Even then I accept respondent and
responsibilities and enhancing my coding skills and becoming more code friendly. And for that
I am very glad.
Thank You,
ABSTRACT
Web development has become an essential part of modern businesses, and Node.js and
React.js are two popular technologies that are commonly used to build dynamic web
applications. In this abstract, we provide an overview of web development using Node.js and
React.js, highlighting their features and benefits.
In combination, Node.js and React.js provide a powerful stack for building full-stack web
applications. Node.js can be used to build the server-side APIs and handle database
operations, while React.js can be used to create dynamic and interactive user interfaces on the
client-side. They can work seamlessly together through RESTful APIs, allowing for efficient
communication between the front-end and back-end.
In this abstract, we will cover various topics related to web development with Node.js and
React.js, including setting up development environments, building RESTful APIs with Node.js
using Express, handling data and databases with SQL, creating interactive user interfaces
with React.js, managing state and props in React.js components, handling asynchronous
requests, and deploying web applications to production servers.
Web development with Node.js and React.js offers a robust and scalable solution for building
modern web applications. This abstract aims to provide an overview of the key concepts and
techniques involved in developing web applications using Node.js and React.js, making it a
valuable resource for developers looking to leverage these technologies to build dynamic and
interactive web applications.
LIST OF FIGURES
Fig 6.8 Code snippet for API Call for each object 39
LIST OF TABLES
List of Figures iii
List of Tables v
List of Abbreviation vi
LIST OF ABBREVIATION
Following is the list of abbreviations used in the report:
JS Java Script
TABLE OF CONTENTS
Acknowledment………………………………………………………………………………………………………………....i
Abstract …………………………………………………………………………………………………………………………….ii
LIST OF FIGURES ……………………………………………………………………………………………………………….iii
LIST OF TABLES…………………………………………………………………………………………………………………..iv
LIST OF ABBREVIATION ......................................................................................................... v
TABLE OF CONTENTS ........................................................................................................... vi
1.0 OVERVIEW OF THE COMPANY....................................................................................................... 1
1.1 HISTORY............................................................................................................................................................. 1
1.2 Organization Chart ............................................................................................................................................ 2
2.0 OVERVIEW OF DIFFERENT PROCESS BEING CARRIED...................................................................... 3
2.1 DETAILS ABOUT THE WORK BEING CARRIED OUT IN EACHDEPARTMENT ..................................................... 3
2.2 LIST THE TECHNICAL SPECIFICATIONS OF MAJOR EQUIPMENTUSED IN EACH DEPARTMENT ....................... 4
2.3 SCHEMATIC LAYOUT OF SEQUENCE OF OPERATION FORMANUFACTURING OF END PRODUCT ..................... 4
2.4 DETAILS ABOUT EACH STAGE OF PRODUCTION................................................................................................ 6
3.0 INTRODUCTION ............................................................................................................................ 7
3.1 INTRODUCTION TO INTERNSHIP AND PROJECT ................................................................................................ 7
3.2 PURPOSE ........................................................................................................................................................... 7
3.3 OBJECTIVES........................................................................................................................................................ 8
3.4 PROJECT SCOPE ................................................................................................................................................. 9
3.5 TECHNOLOGY AND LITERATURE REVIEW ........................................................................................................ 10
3.6 PROJECT/INTERNSHIP PLANNING ................................................................................................................... 11
Effort Estimation(E): .................................................................................................................................................... 14
Duration Estimation(D): .............................................................................................................................................. 14
Project Cost: ................................................................................................................................................................ 14
3.7 PROJECT / INTERNSHIP SCHEDULING (GANTT CHART) ................................................................................... 15
4.0 SYSTEM ANALYSIS ...................................................................................................................... 16
1.1 HISTORY
Ace Analytics is an authorized and registered company of Birud Vora. He is the proprietor of the
company.
The company was started in 2019 and the work started with a low budget. nowadays, the name "ACE
ANALYTICS" in the IT world might not be as much famous but still, global projects are connected
to this infotech in these years.
Ace Analytics helps you to build successful Products for you by employing a truly global product
development approach and investing in your idea to accelerate your business goals by building
engaging & profitable websites.
We use state of the art technologies and apply them for developing customized information
technology. We have a team of highly skilled and competent computer professionals with
specialization in planning, Networking, Data Base Technologies and more.
Ace Analytics is processing in web design and web application development in Ahmedabad.
OUT IN COMPANY
DEPARTMENT
A client is someone who request for a software either of personal or professional use. The client is
the person who specifies the requirements in the product and is responsible for the user stories.
• Project Manager:
Project managers are accountable for planning, organizing, and cheerleading the employees. These
gate keepers ensure customer satisfaction, push documentation, and efficiently optimize the
workflow.
They are more than just testing a feature or a product. These specialists advocate for the quality of a
product by monitoring each stage of software development, debugging, and defining corrective
measures.
• Designer:
UI/UX designer creates user-friendly and intuitive interactions by building a route that logically
flows from one stage to the next. A user interface designer focuses on the user’s visual experience
that goes with that route.
• Developer:
Software developers are the creative, brainstorming eminence grise that power computer programs
of all kinds. Among their daily duties are software development and testing, upgrading, quality
monitoring, and documenting all processes for future reference.
List of major equipment used in each department individually is not provided to us by the company.
Hence, I have specified the equipment I used as a software developer intern:
The process of developing a software is done via following the basic SDLC rule which is proved to
be most efficient while developing a software. Hence, the company uses the same SDLC technique
for developing a software.
Requirements Operations
Collection UI/UXDesign Coding QA Stage Stage
The above given process is a schematic representation of the sequence of stages that the software
development team undertakes to produce a software. It is basically a SDLC with a use of differently
chosen words.
https://www.uptech.team/blog/product-development-life-cycle
While starting any software development project this is the most essential part of the whole
process and therefore the company first get a clear idea about the functional and non-functional
requirements. This is the responsibility of the project manager to communicate the requirements
distinctly to the development and designer team.
It is the role of UI/UX designers of the company. Once the requirements about the design and user
interface is understood the team starts with developing the visual solution of the product. This part
of the process is known as user interface design, and it stands for how users perceive the app.
3. Focus on Coding:
In the third step, we finally get down to coding the concepts listed above. Here, the development
team implements all models, business logic, and service integrations specified in the prior
stages. The coding stage is usually the longest, as it is the cornerstone of the whole process. The
development team follows the software requirements to build a product that lives up to the
stakeholder’s expectations.
At the QA stage, the testing specialists discover and inform about the problems that arise while
using the system. The testing frameworks may vary depending on the project, including
automation and/or manual testing.
Finally, the application goes on to be deployed in a live environment. This stage involves
deployment, support, and maintenance necessary to keep the system functional and up-to-date.
3.0 INTRODUCTION
As a part of our internship program in web development, I am excited to introduce a project that
focuses on building a commission agent policy selling application using Node.js. This internship
opportunity offers a unique learning experience for aspiring web developers to gain hands-on
experience with Node.js, a powerful and popular JavaScript runtime environment, and create a real-
world application.
The project revolves around building a web application that allows commission agents to sell
policies for insurance or other financial products. Commission agents act as intermediaries between
insurance companies and potential policyholders, earning a commission for every policy they sell.
The goal of this project is to develop a user-friendly, efficient, and scalable application that
streamlines the process of policy selling for commission agents.
Throughout this internship, I had the opportunity to learn and apply various web development
concepts and technologies, including Node.js, Express.js, PostgreSQL, RESTful APIs,
authentication and authorization, data modeling, and front-end development using modern web
technologies such as React.js. I was guided by experienced mentors who will provide support and
feedback to help you grow and develop your skills as a web developer.
3.2 PURPOSE
The purpose of the Commission grid project is to streamline and automate the management of
commission agents and policies for insurance or other financial products through a web application.
With the increasing number of agents and policies, the existing method of managing them in Excel
sheets has become challenging and inefficient. The project aims to develop a website that provides
a user-friendly and scalable solution for managing commission agents, policies, and commissions in
a central system, replacing the manual process with an automated and efficient web-based solution.
The primary purpose of the project is to address the limitations of managing agents and policies in
Excel sheets, which include:
1. Difficulty in Managing Growing Agent and Policy Data
2. Limited Accessibility and Collaboration
3. Lack of Automation & Reporting
4. Limited Security and Data Privacy
3.3 OBJECTIVES
The objective of the commission agent policy selling project is to develop a web application that
automates and simplifies the management of commission agents, policies, and commissions. The
project aims to provide a centralized and scalable solution that replaces the manual process of
managing agents in Excel sheets with an efficient and user-friendly website. The specific objectives
of the project include:
1. Efficient Agent Management: The web application will allow for easy and organized management of
commission agents, including adding new agents, updating agent information, and tracking agent
performance. It will provide a user-friendly interface for managing agent data, making it easier to add,
edit, and delete agent information as needed.
2. Streamlined Policy Management: The web application will provide a centralized system for managing
policies, including adding new policies, updating policy information, and tracking policy status. It will
allow for efficient policy management, including tracking policy sales, renewals, and cancellations, as
well as managing policy commissions and pay-outs.
3. Automated Commission Calculations: The web application will automate the commission calculations
based on predefined commission rules and policies. It will automatically calculate commissions for
each policy sold by agents, taking into account various factors such as policy type, premium amount,
and commission rates. This will eliminate the need for manual calculations and reduce the risk of
errors.
4. Real-time Reporting and Analytics: The web application will generate real-time reports and analytics,
providing insights into agent performance, policy sales, and commissions earned. It will provide
visualizations and analytics that can help management make informed decisions and monitor the
performance of agents and policies.
5. Enhanced Accessibility and Collaboration: The web application will provide a cloud-based solution
that can be accessed from anywhere, anytime, allowing multiple users to collaborate on agent and
policy data in real-time. It will provide role-based access control, allowing different users to have
appropriate permissions based on their roles and responsibilities.
6. Robust Security and Data Privacy: The web application will implement robust security measures,
including secure user authentication and authorization, data encryption, and regular data backups. It
will ensure the privacy and security of sensitive data, protecting against unauthorized access, data
The scope of the commission grid project includes the development of a web application that
will streamline the management of commission agents, policies, and commissions. The web
application will replace the manual process of managing agents in Excel sheets, providing a
scalable and efficient solution. The specific scope of the project includes:
The scope of the project is to develop a comprehensive web application that automates and
streamlines the management of commission agents, policies, and commissions. The web
application will provide functionalities for agent and policy management, commission
calculations, reporting and analytics, user management, and security measures, ensuring an
efficient and secure solution for managing agent selling policies effectively.
• The front end used in my project is ReactJS, JavaScript,CSS, and the back end used
is NodeJS and Postgres SQL.
III. ReactJS
ReactJS is a popular JavaScript library used for building user interfaces. It allows developers to
build modular and reusable components that can be easily integrated into web applications.
ReactJS uses a virtual DOM to efficiently update the user interface, reducing the need for full
page reloads. Its popularity is due to its flexibility, performance, and ease of use.
IV. NodeJS
NodeJS is a popular runtime environment for executing JavaScript code on the server-side. It
allows developers to build scalable and efficient web applications using JavaScript on both the
Gujarat Technological University 10 LJIET
297367 Introduction
client and server-side. NodeJS is known for its event-driven architecture and non-blocking I/O
operations, which allows it to handle a large number of concurrent requests.
V. Postgres SQL
The systems development life cycle (SDLC) is a conceptual model used in Project Management that
describes the stages involved in an information system development project, from an initial
feasibility study through maintenance of the completed application. SDLC can apply to technical
and non-technical systems. In most use cases, a system is an IT technology such as hardware and
software. Project and program managers typically take part in SDLC, along with system and
software engineers, development teams and end-users.
• We have used Software development model called Iterative model during creating this project.
We undertook the Iterative Model for the development of our project. The Iterative Model relies on
specifying and implementing individual parts of the software, rather than attempting to start with
full specification requirements. Once a rough product is created within an iteration, it is then
reviewed and improved in the next iteration and so on. The Iterative Model relies on the whole
product being developed step-by-step (Design/Develop, Test, Implement).
Disadvantages: Because each iteration phase is rigid with no overlaps, the Iterative Model can take
longer and be costly.
Mr. Nikunj Beladiya, supervisor for the internship/Project used to have a routine reporting after
every 3 days. Where we were assigned various different components(module) and had to work on
the component in the next three days.
Evaluation and verification were done by the supervisor on the next routine reporting.
COCOMO Model
• Like all estimation models for software, the COCOMO models require sizing information.
• Three different sizing options are available as part of the model hierarchy: object points, function
points, and lines of source code.
• Like function points, t h e object point is in direct software that is computed using counts of
thenumber of
1. Screens (at the user interface),
2. Reports, Components likely to be required to build the application.
3. There are three types of software project:
• Organic project
• Semi-detached project
• Embedded project
• Effort Estimation(E):
In Organic=2.4 (KLOC)1.05PM
In
semidetached=3.0(KLOC)1.12PM
In Embedded=3.6(KLOC)1.20PM
• Duration Estimation(D):
In Organic=2.5(effort)0.38months
In semidetached=2.5(effort)0.35months
In Embedded=2.5((effort)0.32months
• Person Estimation:
Effort Estimation(E):
=2.4(KLOC)1.05PM
=37.48PM
Duration Estimation(D):
=2.5(effort)0.38month
=2.5(37.48)0.38months
~10 months
Project Cost:
=effort*RS/month
=37.48*RS/month
1. Communication
2. Reporting
3. Requirement Analysis
4. Database Connectivity
5. Coding
6. Testing
Group dependency refers to the interdependence and collaboration among team members
within a group or team to achieve the common goal of a project. In the context of the
project of commission of agent selling policies, the group with 8 members, including 2
front-end developers, 2 back-end developers, 1 QA tester, 1 tech lead, 1 project manager,
and 1 CEO, would likely have various dependencies among its members.
Overall, the group dependency among the 8 members in the project team would involve
close collaboration, communication, and coordination among different roles to ensure that
the project is completed successfully and meets the requirements of the Commission Grid
project.
The weekly work done is shown in the GANTT chat shown below:
Project Definition
Research 15
Timeline Chart
Use Case Diagram 10
Activity Diagram 10
Sequence Diagram 10
The study of the previous system, which relied on an Excel sheet for managing commission data
for agents and policies, would have involved a thorough analysis of the existing process, its
functionalities, limitations, and challenges. The study would have aimed to understand how the
Excel sheet was being used to manage commission calculations and assess its effectiveness in
meeting the needs of the business.
Based on the study of the previous system, the team would have identified any issues, challenges,
or limitations in using the Excel sheet for managing commission data. This study would have
served as the basis for the decision to develop a website for the commission grid project,
leveraging technologies like Node.js, React.js, and PostgreSQL, to overcome the limitations of the
Excel sheet and improve the overall efficiency, accuracy, scalability, and user experience of
managing commission data for agents selling policies.
The previous system that relied on an Excel sheet for managing commission data
for agents and policies may have faced several problems and weaknesses. Some
of the potential issues could include:
1. Limited Scalability
2. Manual & Time Consuming
3. Lack of Automation & Integration
4. Limited Reporting & Analysis Capabilities
5. User Error & Difficulty in Use
6. Lack of Centralized and Secure Data Management
Requirements for the new system for managing commission data for agents and policies can be
categorized into various types, including user requirements, hardware and software requirements,
functional requirements, and non-functional requirements.
User Requirement:
User requirements describe the expectations and needs of the system from the perspective of the
end users, who will be interacting with the system. User requirements for the new system may
include: User Friendly Interface, Efficient data Interface, Efficient data entry and management.
The system may require specific hardware components, such as servers, storage devices, and networking
equipment, to support the hosting and operation of the web application.
Software Requirements:
The system may require specific software components, such as operating systems, web servers,
databases, and development frameworks (e.g., Node.js, React.js, PostgreSQL), to support the
development, deployment, and operation of the web application.
Non-Functional Requirements, not related to the system functionality, rather define how the system
should perform
Functional Requirement
Functional requirements for the new system may include: Agent and Policy Management, Commission
calculation, reporting and analysis, and data migration.
Non-Functional Requirement
Non-functional requirements describe the characteristics or qualities of the new system, such as
performance, reliability, security, and usability. Non-functional requirements for the new system may
include: performance, reliability, security, and usability.
• Technical Feasibility
• Operational Feasibility
• Economic Feasibility
• Scheduling Feasibility
Technical Feasibility:
In Technical Feasibility current resources both hardware software along with required technology
are analyzed/assessed to develop project. This technical feasibility study gives report whether
there exists correct required resources and technologies which will be used for project
development. Along with this, feasibility study also analyzes technical skills and capabilities of
technical team, existing technology can be used or not, maintenance and up-gradation is easy or
not for chosen technology etc. Hence, the system should be maintained from time to time.
Operational Feasibility:
The System is to be developed for any user who wants to use it. We want our system
The administrator also may be non-technical, so the user interface will be designed in such a way
that it gets comfortable for non-technical person to operate easily.
Economic Feasibility:
In Economic Feasibility study cost and benefit of the project is analyzed. Means
under this feasibility study a detail analysis is carried out what will be cost of the
project for development which includes all required cost for final development like
hardware and software resource required, design and development cost and
operational cost and so on. After that it is analyzed whether project will be beneficial
in terms of finance for organization or not. For the system to be economically feasible, the
profits from the project must be greater than or equal the cost of development.
Scheduling Feasibility:
The project was quite feasible when it comes to scheduling. Routine reporting as done for the
progress of the project.
Overall, the commission management system can contribute to the organization's objectives
by improving commission calculation and management, enhancing agent performance
tracking, increasing operational efficiency, enabling data-driven decision-making, improving
agent satisfaction and retention, and ensuring compliance and accuracy in commission
management processes.
The implementation of the new commission management system, replacing the previous excel
sheet-based system, would involve several key steps: Data migration, system configuration,
development and integration, testing and Quality assurance, Training and Change
Management, Development and go Live, Post Implementation support.
The new commission management system may need to be integrated with other existing
systems within the organization to ensure seamless data exchange and smooth operation.
Integration with other systems can enable efficient communication and streamline business
processes. Some examples of systems that may require integration with the commission
management system include: Policy management system, CRM system, Accounting System,
Reporting and analytics system, External API’s or Web Services.
User Friendly
Interface
Agent
Scalability &
performance Management
System
Commission
Data Import &
Export Calculation
Policy
Management
The system design and methodology of the previous system, which was based on Excel sheets, likely
involved manual data entry and management of commission-related information. This could include
creating and maintaining multiple Excel sheets for agents, policies, commission rates, and
calculations. The methodology may have involved using formulas and macros within Excel to
calculate commissions based on predefined rules or formulas. Data may have been manually entered,
updated, and retrieved from Excel sheets, and communication and coordination among team
members may have been done through email, phone calls, or other means.
Some of the snapshots of the current system are as follow:
As it can be seen in the above image the excel sheet consists of a title bar, Menu bar with different
menuslike Master, Transaction, Report, etc.
Next is the title of the web page with the respective form underneath, that consists of different HTML
elements like labels, input, text boxes, checkboxes, drop down lists, etc.
On the right side, are the navigation buttons that provide an immediate link to the respective web
pages, for direct access.
As a result, a new system with a more robust and scalable design, using modern technologies like
Node.js, React.js, and PostgreSQL, can address these limitations and provide a more efficient and
automated solution for commission management. The new system can offer real-time data updates,
improved collaboration among team members, enhanced data security measures, and the ability to
scale and integrate with other systems, leading to increased productivity and accuracy in managing
commissions.
A database is typically designed so that it is easy to store and access information. Database Systems
or DBMS is software that caters to the collection of electronic and digital records to extract useful
information and store that information.
The data inserted, deleted and updated are stored in the database in an organized manner which can
be easily accessed by the user. The database designing is done keeping in mind the future scalability
and modifiability of the system as needed.
The database design of the previous system, which relied on Excel sheets, likely involved using multiple
Excel files to store and manage commission-related data. Each Excel sheet may have represented different
entities such as agents, policies, commission rates, and calculations, with data manually entered and
updated as needed. Formulas and macros within Excel may have been used to calculate commissions
based on predefined rules.
On the other hand, the database design of the new system, which uses PostgreSQL as the backend
database, would likely involve a more structured and organized approach. PostgreSQL is a powerful and
scalable open-source relational database management system that provides advanced features for data
modeling, storage, retrieval, and management.
6.0 IMPLEMENTATION
The next step after the completion of system design was to start implementing the ideas, layout,
features, and functionalities of the system based on the requirements.
The two main software that were used by us for the development of the system were:
Microsoft Visual Studio Code 2019 – It is an integrated development environment (IDE)
that is used to develop computer programs, websites, web applications and more. It includes a
code editor that supports code completion as well as code refactoring.
Postgres SQL (PgAdmin 4) – It is a powerful open-source relational database management
system known for its advanced features, scalability, and flexibility. It is widely used in
various applications, including web and mobile applications, data warehousing, analytics, and
more.
Thus, Visual Studio was used for coding and Postgres SQL for managing the database of the
system.
TECHNOLOGY SPECIFICATIONS
There were certain different technologies/ languages that were used in the development of the web
application. We worked with languages like ReactJS, CSS, JAVASCRIPT, JQUERY, NodeJS and
Postgres SQL.
ReactJS is a popular JavaScript library for building user interfaces. It allows for the creation of
reusable UI components, offers efficient DOM updates through its virtual DOM, and provides
a declarative approach to building UIs.
Node.js is a server-side JavaScript runtime built on Chrome's V8 JavaScript engine. It provides
an event-driven, non-blocking I/O model that makes it well-suited for scalable and high-
performance applications.
PostgreSQL is a powerful open-source relational database management system known for
its robustness, scalability, and extensibility. It provides advanced data management
features and is suitable for handling large datasets.
Process Specifications
The entire process of the system development was carried out in following steps:
1. Initial Study: Conducted a study of the previous system, which was an Excel sheet-based data
management system for commissions of agents and policies. Identified problems and weaknesses
of the existing system.
2. Requirement Analysis: Gathered user requirements, including functional and non-functional
requirements, as well as hardware and software requirements for the new system.
3. Feasibility Analysis: Conducted a feasibility analysis, including technical, operational, economic,
and scheduling feasibility, to determine the viability of the new system.
4. Technology Selection: Selected appropriate technologies for the new system, such as ReactJS for
frontend UI, Node.js for backend API, and PostgreSQL for the relational database management
system, based on their suitability for the project requirements.
5. System Design: Designed the system using appropriate methodologies, such as database design for
PostgreSQL, UI component design for ReactJS, and API design for Node.js. Migrated data from
the previous Excel sheet system to PostgreSQL.
6. System Development: Implemented the new system using the selected technologies, including
frontend UI development using ReactJS, backend API development using Node.js, and database
implementation using PostgreSQL.
7. System Integration: Integrated the new system with other systems, if applicable, to ensure seamless
communication and functionality.
8. Testing and Quality Assurance: Conducted thorough testing and quality assurance to identify and
fix any issues or bugs in the system and ensure its functionality, security, and performance.
9. Deployment: Deployed the new system in a production environment, making it accessible to end-
users.
10. Maintenance and Support: Provided ongoing maintenance and support for the system, including
regular updates, bug fixes, and user support.
In the initial days of our internship, we were made familiar with the languages like NodeJS and
PostgreSQL, their framework, working, etc. Also, we were familiarized with the software’s that were
to be used in the development process.
After receiving the basic training, we moved on to start implementing the knowledge gained to
practical application. As the design, features and functionalities etc. were discussed and finalized in
the earlier stages of the SDLC, we first started establishing a basic layout and framework for the web
application.
We first incorporated the Excel Data: Utilize a Node.js library, such as "xlsx" or "exceljs", to read the
Excel sheet data and create an array of JSON objects representing the rows and columns of the Excel
sheet.
Migration Script to convert the excel sheet data into array of JSON object
Create an API endpoint or a function in Node.js that receives the array of JSON objects representing the
Excel sheet data as input.
Some code snippets for Data Validation are as follow: [Implement data validation logic to validate
the data from the Excel sheet, including checking for required fields, data formats, and business
rules, to ensure data integrity and accuracy]
After adding the needed validations to the fields, we next moved on to understand and implement
database connectivity of the system.
Insert Data into Database: Use a database library or ORM (Object-Relational Mapping) for Node.js,
to connect to the PostgreSQL database and insert the validated data into the appropriate tables row
by row.
Loop Through JSON Objects: Loop through each JSON object in the array and perform data
validation checks on each object to ensure that it meets the required criteria before inserting it into
the database. Some code snippets for the same are as follow:
Figure 6.8 Code snippet for API Call for each object
Finally, after the front end and backend programming we were able to create a system that matches
the design and requirements of the desktop application.
Some of the snapshots of the web application created are as follow:
After putting in ample efforts and time in designing and programming of the software, we have
achieved a smooth functioning system as envisioned. Thus, on comparison with the current excel
sheet, following features can be inferred about the web application created:
1. Result Analysis: Evaluate the outcome of the project in terms of meeting the defined
objectives and requirements. Assess the effectiveness of the new system in addressing the
problems and weaknesses of the previous Excel sheet-based system, such as improved data
management, enhanced functionality, increased efficiency, and reduced errors. Analyze the
performance of the system, including response time, scalability, and reliability, and compare
it with the expected results.
2. Comparisons: Compare the new system developed using React.js, Node.js, and PostgreSQL
with other alternative technologies or approaches that were considered during the selection
process. Assess the advantages and disadvantages of using these technologies, such as ease of
development, maintainability, performance, community support, and integration capabilities.
Compare the new system with the previous Excel sheet-based system in terms of features,
usability, scalability, and data integrity.
3. Deliberations: Discuss the decisions made during the system development process, including
the selection of React.js, Node.js, and PostgreSQL as the technology stack. Justify the reasons
behind the selection, such as the compatibility of these technologies with the project
requirements, availability of skilled resources, community support, and future scalability.
Discuss any challenges or limitations faced during the development process and the solutions
or workarounds implemented. Consider any feedback or suggestions from stakeholders, team
members, or end-users and discuss their impacts on the system development.
The result analysis, comparisons, and deliberations provide insights into the success of the
commission grid project using React.js, Node.js, and PostgreSQL as the chosen technologies, and
help in identifying areas of improvement, lessons learned, and recommendations for future projects.
7 .0 TESTING
System testing is testing conducted on a complete integrated system to evaluate the system’s
compliance with its specified requirements. System testing tests the design and behavior of the
system and also the expectations of the customer. It is performed to test the system beyond the
bounds mentioned in the Software Requirements Specification (SRS).
The company’s testing strategy was quite distinctive and aggressive. It consisted of several
different testing strategies to make sure that the system created is efficient and stands true to all the
expectations of the user.
Different testing strategies used are as follow:
1. Functionality Testing: It is a type of testing that seeks to establish whether each application
feature works as per the software requirements. Each function is compared to the
corresponding requirement to ascertain whether its output is consistent with the end user's
expectations.
2. Usability Testing: It is a type of testing method for measuring how easy and User-friendly a
software is, carried out by a small focus group similar to the users of the system. Its also
known as User Experience (UX) Testing. It tests how easily can a user navigate through the
system.
3. Interface Testing: Three areas are tested here: Application, Database and Web Browser.
• Application: Test requests are sent correctly to the Database and output at the client
side is displayed correctly.
• Web Server: Test Web server is handling all application requests without any service
denial.
• Database Server: Make sure queries sent to the database give expected results.
4. Database Testing: is a type of software testing that checks the schema, tables, triggers, etc.
of the Database under test. It also checks data integrity and consistency. It checks whether the
data entered in the web application is stored correctly in the database and vice versa.
5. Compatibility Testing: Compatibility testing is a part of non-functional testing conducted on
application software to ensure the application's compatibility with different computing
environment. Different web browsers like Google Chrome, Opera, etc. were used to test
the system.
Based on the above testing strategies several test cases were deduced in order to ensure the efficient
and smooth functioning of the system. A brief detail about different test cases and their results are as
follow:
7.2.1 Test Cases
On taking a final look at our 12-week internship at Ace Analytics and the Commission Grid project
we can evaluate the following:
1. Achievement of Project Goals: Evaluate whether the project goals and objectives were
successfully achieved. Assess whether the new system, built using technologies such as
React.js, Node.js, and PostgreSQL, effectively addressed the problems and weaknesses of
the previous Excel-based system for commission management. Consider if the new system
met the user requirements, functional and non-functional requirements, and contributed to
the overall objectives of the organization.
2. Feasibility Analysis: Analyze the feasibility of the new system, including technical
feasibility (whether the chosen technologies were appropriate and effectively
implemented), operational feasibility (whether the system was easily integrated into the
existing workflow and processes), economic feasibility (whether the cost of development
and maintenance was justified by the benefits obtained), and scheduling feasibility
(whether the project was completed within the planned timeline).
3. System Design and Methodology: Evaluate the system design and development
methodology used in the project. Assess the effectiveness of the chosen design approach,
such as the migration of data from Excel to PostgreSQL using Node.js, and the
development methodology followed, such as agile or waterfall, in achieving the project
goals and objectives.
4. Technology Specifications: Analyze the technology specifications used in the project,
including React.js, Node.js, and PostgreSQL. Assess the suitability of these technologies
for the commission management system, including their performance, scalability, security,
and ease of use. Consider how these technologies were leveraged to develop the desired
features and functionalities of the system.
5. Test Results and Analysis: Evaluate the results of testing, including backend testing of
Node.js and PostgreSQL for data migration and API calls. Assess whether the system has
been thoroughly tested with various scenarios, including different data formats, input
parameters, and error handling, and whether it meets the required level of accuracy,
reliability, and performance.
6. Overall Impact and Lessons Learned: Analyze the overall impact of the internship/project
on the organization, users, and stakeholders. Assess the benefits and improvements brought
about by the new system, such as increased efficiency, accuracy, and user satisfaction.
Reflect on the lessons learned during the development process, including challenges faced,
solutions implemented, and best practices identified.
7. Recommendations for Future Enhancements: Provide recommendations for future
enhancements of the system, such as additional features, optimizations, and improvements
based on feedback from users and stakeholders, and the potential for further leveraging of
the technologies used in the project.
8. Conclusion: Summarize the overall analysis of the internship/project, highlighting the
successes, challenges, and key findings. Provide a final assessment of the project's
outcomes and their impact on the organization and stakeholders.
Various difficulties were faced by us during the course of our internship and the development
process, but the guidance of our mentors made it easier for us. Some of those were as follow:
The very first problem faced by us was the technical language barrier, the languages NodeJS
and PostgreSQL were completely new for us but the step by step training provided by the
company helped us overcome this challenge
There were certain aspects of the excel sheet that were hard to understand, but the team
helped us to get a better understanding of the system
During the coding phase, there were certain errors that were hard for us to understand but the
team helped us rectify them and make it better
During the testing, certain flaws of the system were pointed out and we were unaware of the
solution, our mentor guided us to resolve the issues and make system more efficient
As a result of all the time and efforts put into the development of the web application, we were
finally able to create a system that was a one stop solution for all the agents and policies in the
Commission Grid to keep a record of their carriers, agents, commission, many more. We were able to
create a user friendly and easy to access interface that also protected the user’s privacy and data
security.
The 12-week internship program with Ace Analytics was a great opportunity of learning and getting
a first-hand experience with the industry’s method and working techniques. The internship made us
aware of the vast number of options the industry has to offer. Furthermore, being trained under such
an experienced mentor like Mr. Nikunj Beladiya was a blessing in itself. Physically, working on a
project made us aware about every minute detail and effort that goes into the development process. It
was a great opportunity to practically implement everything that we have learnt till date. Also
learning and working with new languages like NodeJS and PostgreSQL was a thrilling experience.
We are sure the training and the experience we have had at Ace Analytics will help us greatly in our
future endeavors.
Talking about the drawbacks of the system we could say that overall, we were able to create a web
application that was an efficient duplication of the excel sheet. Although on getting the feedback
from the users we realized that there were certain limitations to the system.
For the future of the system, we envision the following:
To provide more security to the system.
To create a mobile application to provide better access
To incorporate versioning, that is we can give the commission and policies assigned to the
user at the user specified range.
REFERENCES
During the course of project, we took help from certain external sources. Some of them are as follow:
Stack Overflow
NodeJS
PostgreSQL