MRI Internship Report
MRI Internship Report
A PROJECT REPORT
Submitted by
200303105145
BACHELOR OF TECHNOLOGY
in
CERTIFICATE
This is to certify that the project/internship report submitted along with the
Internship entitled Zebra CRM has been carried out by Sparsh Jayrajkumar
Pathak under my guidance in partial fulfillment for the degree of Bachelor
of Technology in Computer Science & Engineering, 8th Semester of Parul
University, Vadodara during the academic year 2023-24.
ii
Date: 12-Jan-2024
To,
MRI SOFTWARE,
MRI SOFTWARE.
We would request you to kindly consider the same and approve leaves accordingly as per
the exam schedule as & when gets finalised.
Yours Faithfully,
[email protected]
Date: 31/01/2024
During the period of his internship program with us, she had been exposed to different
processes and was found diligent, hardworking and inquisitive.
iv
Parul Institute of Engineering & Technology, Vadodara
DECLARATION
We hereby declare that the Internship report submitted along with the
Internship entitled Zebra CRM submitted in partial fulfillment for the degree
of Bachelor of Technology in Computer Science and Engineering to Parul
University, Vadodara, is a bonafide record of original project work carried out
by me at Mri Software under the supervision of Dr. Daxa Vekariya and that
no part of this report has been directly copied from any student’s reports or
taken from any other source, without providing due reference.
v
ACKNOWLEDGEMENT
I wish to express my most significant thankfulness to every one of the people who helped me,
some way or another, to complete this internship. I wish to express my sincere gratitude to my Team
leader Mr. Chirag Rajput for continuously guiding me at the company and answering all my doubts.
I would also like to thank our Internal Guide Prof. Dr. Daxa Vekariya, for helping me through my
internship by giving us the necessary suggestions and advice along with his valuable coordination in
completing this internship. Through his expert guidance, I was able to overcome all the obstacles that
I encountered in these enduring six months of my internship. He always gave me immense hope and
direction every time I consulted with him over problems relating to my project. Also, I would like to
thank Head of the Department Prof. Dr. Amit Barve, for supporting this change for students to give
Parul University,
Vadodara
ABSTRACT
Although the author could not retroactively establish objectives of the type
associated with a typical internship, the work experience gained could be
related to the two general objectives of an internship mentioned below:
Having been exposed to more engineering situations than many of the other
Bachelor of Engineering students, the author has already formulated some
rather specific milestones for the future. The Bachelor of Engineering program
is discussed in conjunction with its potential for helping the author attain these
career goals and objectives.
TABLE OF CONTENTS
ACKNOWLEDGEMENT vi
ABSTRACT vii
LIST OF FIGURES xi
3.2 PURPOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
viii
Project Id: TABLE OF CONTENTS
3.3 OBJECTIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 SCOPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.5 TECHNOLOGY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 SYSTEM ANALYSIS 14
4.4.1 Does The System Contribute To The Overall Objectives Of The Organization? 15
4.4.2 Can The System Be Implemented Using The Current Technology And Within
4.4.3 Can The System Be Integrated With Other Systems Which Are Already In
Place? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 SYSTEM DESIGN 20
6 IMPLEMENTATION 24
7 TESTING 28
xi
Chapter 1
and hosted solutions. MRI’s comprehensive and flexible technology platform coupled with an open
and connected ecosystem meets the unique needs of real estate businesses—from property-level
management and accounting to investment modeling and analytics for the global commercial and
residential markets.
A pioneer of the real estate software industry, MRI develops lasting client relationships based on
nearly five decades of expertise and insight. Through leading solutions and a rich partner ecosystem,
MRI liberates real estate companies to elevate their business and gain a competitive edge. Based
outside Cleveland, Ohio, MRI Software is a global company with offices in the United States, Canada,
Australia, Hong Kong, Singapore, South Africa, and the United Kingdom. Technology has changed
over the years, but we pride ourselves on staying true to the original vision of our founders, Fred and
Sid Goodman.
and automation due to the increasing volume of data generated. MRI Agora offers a hyper-
connected technology platform for easy integrations, unified user experiences, and tailored
services.
• CTM eContracts: Real estate transaction managers face challenges like changing regulations,
negotiations, and tight deadlines. A complete document management and e-signature solution
1
Project Id: CHAPTER 1. OVERVIEW OF THE COMPANY
like CTM eContracts can help streamline transactions, save time, and streamline compliance
• MRI Horizon: Horizon CRE is a flexible corporate real estate software that addresses the
instant access to key property information, easy-to-understand KPI reports, and a familiar feel
for staff. Horizon offers features for lease accounting, lease management, and transaction
management.
• Rent Payment: Rent payment aids allow residents to make payments easily and conveniently,
allowing for more good residents to be held onto. The features include plug-and-pay integration
and service through every step, allowing for a seamless and convenient experience.
• Secure Sign: MRI Secure Sign is an efficient solution for managing real estate documents,
contracts, and workflows, ensuring secure signatures and seamless integration with existing
• Housing Jigsaw: MRI Housing Jigsaw is an efficient solution for managing MRI social
housing suite of solutions which can support and elevate every aspect of your organisation.
From Housing and Tenancy to Property and Asset, from Finance and Accounting to Digital
Essentials
Bangalore primarily focus on software development, leveraging local talent for innovation and
workforce exceeding 3500 employees, MRI Software’s diverse workplaces ensure effective
OVERVIEW OF DIFFERENT
DEPARTMENT OF THE
ORGANIZATION
4. Project Management Office (PMO): Oversees project planning, execution, and monitoring,
4
CHAPTER 2. OVERVIEW OF DIFFERENT DEPARTMENT OF THE
Project Id: ORGANIZATION
DEPARTMENT
• Development Department: Utilizes tools such as Visual Studio, IntelliJ IDEA, or Eclipse for
• Quality Assurance (QA) Department: Relies on software testing tools like Selenium, JUnit,
or JMeter for automated testing and bug tracking systems like Jira for issue management.
• PMO: Utilizes project management software such as Microsoft Project or Atlassian Jira for
2. Design: Encompasses creating system architecture, database design, and user interface layout
4. Testing: Focuses on validating system functionality, identifying bugs, and ensuring software
6. Maintenance: Entails ongoing support, bug fixes, and updates to ensure system stability,
INTRODUCTION INTERNSHIP
MANAGEMENT
software development, offering hands-on experience with the Zebra CRM project. The experience
participated in agile development processes, and contributed to the creation of innovative software
solutions. Overall, the internship not only deepened my technical expertise but also honed my
problem-solving skills and equipped me with essential tools for success in the software development
industry.
3.2 PURPOSE
The primary purpose of the internship at MRI Software was multifaceted, aiming to provide a
projects. Through hands-on engagement with the Zebra CRM project, the internship sought to bridge
the gap between theoretical knowledge and practical application, fostering a deeper understanding of
software engineering principles and methodologies. Furthermore, the internship aimed to cultivate
critical thinking, collaboration, and adaptability in a professional setting, preparing interns for the
6
Project Id: CHAPTER 3. INTRODUCTION INTERNSHIP MANAGEMENT
3.3 OBJECTIVE
The primary objective of the internship at MRI Software is to provide practical exposure and hands-on
experience in software development, particularly focusing on the Zebra CRM project. Through active
engagement with cutting-edge technologies such as ASP.NET Core 6.0, Angular, ASP.NET MVC,
SQL Server Management Studio, and Okta, the internship aims to enhance technical proficiency
foster collaboration, innovation, and continuous learning, preparing interns for successful careers
in the software development industry. By working on meaningful projects and interacting with
scenarios, contribute to impactful solutions, and gain valuable insights into software development
best practices.
3.4 SCOPE
The internship involves active participation in software development tasks for the Zebra CRM project.
Interns will work with technologies like ASP.NET Core, Angular, and SQL Server Management
Studio. Responsibilities include coding, testing, and collaborating with teams on project-related
activities. The internship provides a structured learning environment for practical skill development
3.5 TECHNOLOGY
The technologies for the Zebra CRM project encompasses an exploration of ASP.NET Core 6.0,
Angular, ASP.NET MVC, SSMS, and Okta. It involves studying relevant documentation and articles
to understand the capabilities, best practices, and potential integration strategies of these technologies
contribute to its development and customize it according to their needs. It’s also cross-platform,
• Modern Web Development: ASP.NET Core is designed for modern web development,
emphasizing performance, scalability, and flexibility. It’s suitable for building a wide range of
improvements, including better handling of HTTP requests, optimized memory usage, and
• Security Features: The framework includes built-in security features such as data protection,
applications by default.
• Developer Productivity: ASP.NET Core simplifies development tasks with features like built-
in dependency injection, a unified configuration system, and support for popular development
• Integration with Front-end Frameworks: ASP.NET Core seamlessly integrates with popular
front-end frameworks like Angular, React, and Blazor, allowing developers to build interactive
architectural pattern, which promotes separation of concerns and modular development. This
separation allows developers to manage application complexity more effectively and promotes
• Cleaner Code Separation: With MVC, the application logic is divided into three main
components: the Model (represents the application data and business logic), the View (presents
the user interface), and the Controller (handles user input and orchestrates interactions between
the Model and View). This separation makes it easier to understand, test, and maintain the
codebase.
• Routing Mechanism: ASP.NET MVC provides flexible routing mechanisms that allow
developers to define URL patterns and map them to specific controllers and actions. This
routing system enables clean and search engine-friendly URLs and supports both convention-
• Testability and Unit Testing: MVC’s separation of concerns makes it highly testable, as each
component can be tested independently using unit tests. This enables developers to verify the
behavior and functionality of their application with greater confidence and efficiency.
• Integration with ASP.NET Core: ASP.NET MVC is fully integrated with ASP.NET Core,
allowing developers to leverage the features and benefits of both frameworks in their web
applications.
Angular
maintained by Google. Its open nature allows developers to contribute to its improvement
emphasizing the creation of dynamic and interactive user interfaces. It provides a structured
such as ahead-of-time (AOT) compilation, lazy loading of modules, and efficient change
user experience.
• Security Mechanisms: The framework prioritizes security with built-in features like Cross-
Site Scripting (XSS) protection, Cross-Site Request Forgery (CSRF) protection, and a robust
including a powerful CLI (Command Line Interface), a rich set of libraries,and comprehensive
documentation. These tools enhance developer productivity and facilitate the development
process.
by Microsoft for managing SQL Server databases. It provides a centralized environment for
database administrators and developers to perform various tasks related to database design,
• Intuitive User Interface: SSMS features an intuitive and user-friendly interface, making
it accessible to both experienced database professionals and those new to SQL Server. The
graphical tools and visual designers simplify tasks such as database schema design, query
• Query Authoring and Execution: SSMS includes a robust query editor that supports the
creation, editing, and execution of Transact-SQL (T-SQL) queries. The editor provides syntax
highlighting, code completion, and debugging features, enhancing the efficiency of query
development.
• Security Management: SSMS allows for the management of SQL Server security, including
the configuration of user roles, permissions, and encryption. It provides a centralized view of
• Integration with Source Control: SSMS supports integration with version control systems,
enabling developers to manage database scripts and schema changes in source control
repositories. This facilitates collaboration and ensures version control for database
development.
Okta:
• Identity and Access Management (IAM): Okta is a cloud-based identity and access
management platform that provides secure authentication, authorization, and user management
• Single Sign-On (SSO): Okta enables single sign-on (SSO) functionality, allowing users to
log in once and access multiple applications without having to re-enter their credentials.
This improves user experience and security by reducing password fatigue and the risk of
requiring users to provide additional verification factors, such as SMS codes, push
notifications, or biometric authentication, to enhance the security of their accounts and prevent
unauthorized access.
• User Lifecycle Management: Okta offers tools for managing the entire user lifecycle,
automate user onboarding and offboarding processes, enforce access policies, and monitor user
• Integration and Extensibility: Okta provides APIs, SDKs, and pre-built integrations for
seamless integration with a wide range of applications, identity providers, and third-party
services. Developers can customize and extend Okta’s functionality to meet their specific
For the Zebra CRM project, the internship development approach relies on agile methodologies
facilitated by Atlassian Jira, such as Scrum. Agile methodologies enable iterative development,
justified by its ability to enhance collaboration, mitigate risks, and deliver incremental value. Atlassian
Jira serves as a central platform for managing agile workflows, facilitating sprint planning, backlog
Effort and time estimation for the Zebra CRM project are conducted using Atlassian Jira’s features
for task breakdown, duration estimation, and resource allocation. By leveraging Jira’s capabilities,
tasks are categorized, prioritized, and assigned to team members efficiently. Time estimation ensures
effective project scheduling and resource utilization. Cost estimation factors in various expenses,
including personnel costs, software licenses, and infrastructure, with Atlassian Jira serving as a tool
As a Software Developer Intern at MRI Software, working on the Zebra CRM project, the roles and
responsibilities includes:
1. Software Development:
• Writing code, implementing new features, and fixing bugs using ASP.NET Core 6.0,
• Collaborating with team members to understand requirements and translate them into
technical solutions.
• Following best practices and coding standards to ensure the quality and maintainability
of the codebase.
2. Database Management:
• Working with SSMS to design and optimize database schemas, tables, and queries.
functionalities.
• Integrating Okta for user authentication and access management within the application.
• Ensuring compliance with security standards and best practices to protect sensitive user
data.
• Creating technical documentation, user guides, and release notes to assist stakeholders in
• Embracing a growth mindset and actively contributing ideas and suggestions for process
While the internship places a strong emphasis on individual contributions, mentorship plays a pivotal
role in navigating group dependencies. Industrial Mentor provides guidance and support for problem-
solving, facilitating the advancement of the project’s workflow. Collaboration with cross-functional
teams ensures effective resolution of dependencies and promotes cohesive project execution.
sessions, encompassing compliance and technical aspects. These sessions provided essential insights
and prepared me for project involvement. The scheduling ensured a gradual integration into the
Gantt Chart:
SYSTEM ANALYSIS
hub for managing customer interactions. It seamlessly integrates with various modules, acting as the
central stripe where customer-related tasks are efficiently executed. Within this platform, users can
• Comprehensive Range of Tools:The CRM solution offers a range of tools for diverse
and accessibility. Users can navigate the platform effortlessly, facilitating informed decision-
• Flexibility and Customization: The CRM solution is highly flexible, allowing users to
customize the system to fit specific workflows and requirements. It adapts to various customer
types and engagement structures, enabling seamless configuration and management of detailed
customer information.
compatibility with existing business tools and complementary products within the ecosystem.
This integration enhances workflow efficiency, maintains data consistency, and provides
14
Project Id: CHAPTER 4. SYSTEM ANALYSIS
• Complex User Interface Navigation: Potential complexities in navigating the user interface
• Complex Project Structure: The project structure of Zebra CRM might be complex for new
• No Real time Communication :Real time communication between two role based entity ,
higher role based entity cannot communicate in real time with lower role based entity
• Enhanced User Experience: Intuitive interfaces to improve user experience and streamline
navigation.
4.4.1 Does The System Contribute To The Overall Objectives Of The Organization?
Yes, Zebra CRM aligns closely with the organization’s objectives by offering a customer relationship
4.4.2 Can The System Be Implemented Using The Current Technology And Within
The Given Cost And Schedule Constraints?
4.4.3 Can The System Be Integrated With Other Systems Which Are Already In
Place?
Zebra CRM’s robust integration capabilities facilitate seamless integration with existing systems,
• New Pages Addition: Addition of new pages across different modules to accommodate
• Bug Fixes and Issue Resolution: Active resolution of system bugs and issues identified by
QA, developers, or encountered during software usage to ensure optimal system performance.
email, phone, chat etc allowing customers to choose their preferred method of communication.
• Social Housing: UK’s most comprehensive software solution set for the social housing
industry.
• Assets and Repairs: Technology to help Local Authority and Housing Associations focus on
APPROACHES
Hardware: For the Zebra CRM project, a selection of reliable hardware components has been made
development tasks, providing sufficient processing power and memory to handle software
development environments.
collaboration among team members, ensuring efficient sharing of resources and information
Techniques / Approaches: For Zebra CRM project, agile and scrum methodologies are employed to
• Agile Approach: The Agile methodology promotes iterative development, allowing for
• Scrum Framework: Within the Agile framework, the Scrum methodology provides a
Software Tools: Several software tools are utilized to support development and project management
activities:
• Visual Studio 2022: Visual Studio serves as the primary integrated development environment
(IDE) for coding, debugging, and testing software applications. Its comprehensive features and
• Jira Atlassian: Jira is employed for project management, issue tracking, and agile project
tracking. It allows for efficient task management, sprint planning, and collaboration among
• SQL Server Management Studio: SSMS is utilized for database development and
management tasks in the CRM project. SSMS provides robust features and a user-friendly
interface for database design, query optimization, and data manipulation processes, supporting
• Team Foundation Server: Team Foundation Server (TFS) in Software Development (SD)
provides robust version control, automated build processes, and seamless collaboration tools,
ensuring efficient code management, reliable releases, and streamlined project tracking. TFS
integrates with Visual Studio, supports agile methodologies, and offers reporting for data-driven
insights into development workflows. Note that as of 2022, Microsoft has transitioned to Azure
encompasses a set of services for end-to-end application development. It includes tools for
version control, continuous integration, automated builds, release management, agile planning,
and collaboration. Azure DevOps enables teams to streamline and automate the entire software
in a cloud-native environment.
• Postman : Postman is a widely used API development and testing tool that simplifies the
process of building, testing, and documenting APIs. It provides a user-friendly interface for
creating and sending HTTP requests, managing APIs, and automating workflows. Postman
essential tool for developers, testers, and API consumers to streamline API development and
testing processes.
SYSTEM DESIGN
application transmits this data to a central server. The server, upon receiving the message, stores its
details in a message broker, which acts as a buffer. Subsequently, the message broker initiates socket
connections with the intended recipient(s). Through these connections, the message is efficiently
delivered to the specific user(s) in real-time. Once received, the user’s device processes the incoming
message for display, enabling seamless communication. This process ensures timely and effective
message delivery, facilitated by the coordination between the application, server, message broker,
to facilitate efficient communication between users. This methodology prioritizes the handling and
focusing on their creation, storage, and delivery. This approach allows for flexibility in handling
• Decoupled Components: By using a message broker, the system achieves decoupling between
the sender and receiver components. The sender does not need to know the specific details of
the recipient(s), and vice versa. Instead, they interact indirectly through the message broker,
20
Project Id: CHAPTER 5. SYSTEM DESIGN
model, where messages are sent and processed independently of each other. This enables
communication between the server and users. Socket connections provide a persistent
• Fault Tolerance and Reliability: The system may incorporate features for fault tolerance
and reliability, such as message persistence and delivery guarantees. Message brokers often
provide mechanisms for storing messages temporarily, ensuring that messages are not lost in
• Scalability: With a message-centric architecture, the system can scale horizontally by adding
more servers or message brokers to handle increased message traffic. This scalability is
essential for supporting growing user bases and maintaining system performance under heavy
loads.
By adopting the message-centric architecture methodology, the described system achieves efficient,
scalable, and reliable communication between users, ensuring a seamless messaging experience.
each user uniquely identified by a UserID. Users can send multiple messages, as depicted by the
one-to-many relationship between ”Users” and ”Messages.” The ”Messages” table records message
details such as content and timestamps, with each message having a unique MessageID and associated
SenderID and RecipientID, linking back to users. Furthermore, the ”MessageDelivery” table tracks
the delivery status of messages, indicating whether they have been successfully delivered or not,
with each delivery status tied to a specific message and recipient. Through this schema, the system
manages users, messages, and message delivery statuses, facilitating effective communication within
the application.
IMPLEMENTATION
to engineer a robust and scalable platform that facilitates efficient communication between users.
This endeavor entailed meticulous planning, thorough research, and strategic implementation of
1. Environment Setup: To develop the messaging system, we first set up our development
2. Project Initialization: We created a new ASP.NET Core web application project in Visual
Studio, selecting the appropriate project template and target framework version.
required packages like Entity Framework Core, SignalR, and ASP.NET Identity.
configuration files, and Entity Framework Core migrations were used to create the necessary
database schema.
5. Backend Development: We developed the backend logic for message transmission, storage,
and delivery, including defining models and implementing controllers, services, and
repositories.
and clients to enable bi-directional communication between the server and clients.
24
Project Id: CHAPTER 6. IMPLEMENTATION
7. Authentication and Authorization: ASP.NET Identity was utilized for user authentication
and authorization, with authentication middleware configured and user roles defined.
8. Messaging Broker Integration: Messaging brokers like RabbitMQ or Azure Service Bus
were integrated for message queuing and routing, enhancing message delivery efficiency.
9. Testing and Debugging: Thorough testing was conducted using Visual Studio’s debugging
10. Deployment: Once the application was ready, it was deployed to the chosen hosting
SPECIFICATION(S)
Process: The process followed for developing the messaging system involved a systematic approach
2. Design Phase: During this phase, the architecture and design of the system were planned,
including database schema design, system components, and user interface design.
3. Implementation: The implementation phase involved the actual development of the system,
4. Testing and Quality Assurance: Comprehensive testing was performed to ensure the system’s
5. Deployment and Maintenance: After successful testing, the system was deployed to the
Program: The primary programming language used for developing the messaging system was
C. C is widely used in the .NET ecosystem and offers robust features and libraries for building
scalable and efficient applications. Additionally, ASP.NET Core was employed for developing the
backend server, providing a high-performance framework for web application development. SignalR,
a real-time messaging library for ASP.NET Core, was utilized to enable real-time communication
messaging system:
• Entity Framework Core (EF Core): Used for database access and ORM to interact with the
underlying database.
• ASP.NET Identity: Employed for user authentication and authorization, ensuring secure
between users.
• RabbitMQ or Azure Service Bus: Utilized as messaging brokers for message queuing and
Modules Specification: The messaging system comprised several modules, each serving specific
functionalities:
1. User Management Module: Responsible for managing user registration, authentication, and
authorization.
2. Message Management Module: Facilitated the creation, sending, and storage of messages,
4. Database Module: Handled database operations using Entity Framework Core, including
Azure Service Bus for efficient message queuing and routing, ensuring reliable message
delivery.
By adhering to this process and utilizing appropriate programs, technologies, and modules, the
messaging system was successfully developed, meeting the project objectives and delivering a robust
within the organization. Users can now exchange messages in real-time, leading to quicker decision-
Enhanced User Experience: With the integration of real-time communication capabilities using
SignalR, users experience a seamless and responsive messaging experience. Instant message delivery
and notifications ensure that users stay updated and can respond promptly to messages.
Reliable Message Delivery: Integration with messaging brokers like RabbitMQ or Azure Service
Bus has ensured reliable message queuing and routing, minimizing the risk of message loss and
strengthened the security of the messaging system by providing robust authentication and
authorization mechanisms. Users can securely access the system while ensuring that sensitive
Scalable Architecture: The use of .NET Core and ASP.NET Core provides a scalable foundation
for the messaging system, allowing it to accommodate growing user bases and increasing message
Flexible and Extensible Design: The modular architecture of the messaging system allows for
easy integration of additional features and functionalities in the future. New modules can be added or
existing ones modified to meet evolving business requirements and user needs.
.NET ecosystem, the messaging system offers a cost-effective solution for organizations seeking to
TESTING
its success. To achieve this, a comprehensive testing plan and strategies have been devised to validate
the functionality, performance, security, and usability of the system. Testing Plan and Strategies:
Unit Testing:
Objective: To test individual components, methods, and functions in isolation to ensure they
perform as expected.
Strategy: Develop unit tests using testing frameworks like NUnit or xUnit, covering critical
mechanisms. Mocking frameworks like Moq can be used to simulate dependencies and isolate units
for testing.
Integration Testing:
Objective: To verify that different components of the system work together seamlessly as
intended.
Strategy: Develop integration tests to validate interactions between system components, including
database interactions, API endpoints, and external dependencies such as messaging brokers. Use
tools like Postman or Insomnia for API testing and Docker for containerized integration testing
environments.
Functional Testing:
Objective: To ensure that the system meets the functional requirements specified in the project
documentation.
28
Project Id: CHAPTER 7. TESTING
Strategy: Develop functional test cases based on user stories and acceptance criteria, covering
scenarios such as user registration, message sending, real-time communication, message delivery, and
user authentication. Use manual testing techniques or automation tools like Selenium for end-to-end
Performance Testing:
Objective: To assess the system’s performance under various load conditions and identify
potential bottlenecks.
Strategy: Conduct performance testing using tools like Apache JMeter or Gatling to simulate
concurrent user activity and measure response times, throughput, and resource utilization. Test
scenarios should include sending and receiving messages, authentication processes, and database
operations.
Security Testing:
Strategy: Perform security testing using techniques such as penetration testing, vulnerability
scanning, and code analysis. Verify secure communication protocols, encryption mechanisms, input
validation, and access control measures. Utilize security testing tools like OWASP ZAP or Burp Suite
Objective: To validate that the system meets user expectations and fulfills business requirements.
Strategy: Engage stakeholders and end-users to participate in UAT sessions, where they perform
real-world tasks using the system and provide feedback on usability, functionality, and overall user
experience. Use feedback to iteratively refine and improve the system before final deployment.
Regression Testing:
Objective: To ensure that recent code changes do not introduce new defects or regressions into
the system.
Strategy: Develop a comprehensive suite of regression tests covering critical functionalities and
frequently used features. Execute regression tests regularly during the development lifecycle and
• Analysis: Ensure that the message sending function correctly adds the message to the
• Result: The test passes, confirming that messages are successfully added to the database
2. Integration Testing:
• Analysis: Verify that the user registration process integrates seamlessly with the message
• Result: The integration test succeeds, demonstrating that users can register successfully
3. Functional Testing:
• Analysis: Validate that users can successfully register, log in, and access the messaging
• Result: The functional test passes, indicating that users can authenticate successfully and
4. Performance Testing:
• Analysis: Measure system response times, throughput, and resource utilization under
• Result: Performance metrics meet specified thresholds, indicating that the system can
performance.
5. Security Testing:
attacks, and verify that proper security measures are in place to mitigate these risks.
• Test Case: Have end-users perform common messaging tasks, such as composing and
sending messages.
• Analysis: Gather feedback from users regarding system usability, functionality, and
overall user experience to ensure that the messaging system meets their expectations and
• Result: Users provide positive feedback on system usability and functionality, indicating
that the messaging system meets their expectations and satisfies business requirements.
7. Regression Testing:
• Test Case: Re-run previously passed test cases after making code changes.
• Analysis: Ensure that recent code modifications have not introduced new defects or
regressions into the system by verifying that all previously validated functionalities still
behave as expected.
• Result: All previously passed test cases continue to pass after code changes, confirming
that no new defects or regressions have been introduced into the system.
VIABILITIES
The internship experience with the Zebra Crm project at MRI Software has been immensely valuable
solution. Through hands-on involvement in various aspects of the project, including development,
testing, and implementation, several key insights and observations have emerged:
Technical Feasibility: The project demonstrates strong technical feasibility, leveraging robust
technologies and frameworks within the .NET ecosystem to develop a scalable and efficient messaging
system. The choice of programming language (C sharp), web framework (ASP.NET Core), and
real-time communication library (SignalR) provides a solid foundation for building a reliable and
responsive application.
Market Demand: The demand for messaging systems continues to grow, driven by the increasing
need for efficient communication solutions in both personal and professional settings. The project
addresses this demand by delivering a feature-rich messaging platform that facilitates seamless
Scalability and Growth Potential: The project’s modular architecture and use of scalable
technologies position it well for future growth and expansion. With the ability to accommodate
growing user bases and increasing message volumes, the project has the potential to scale horizontally
Regulatory and Legal Considerations: Compliance with data protection regulations, privacy
laws, and industry standards is essential to ensure the project’s legality and regulatory compliance.
32
Project Id: CHAPTER 8. CONCLUSION AND DISCUSSION
By implementing robust data security measures, obtaining necessary certifications, and adhering to
relevant regulations, the project can mitigate legal risks and build trust with users.
In conclusion, the project demonstrates strong viability across technical, market, financial, and
regulatory aspects. With a focus on delivering value to users, addressing market needs, and ensuring
long-term sustainability, the project has the potential to establish itself as a leading messaging solution
discovery and growth, delving into realms previously unexplored. The experience has instilled in me
a profound sense of confidence in my coding abilities, as I navigated through various challenges and
Beyond technical prowess, this internship served as a platform for honing soft skills, a facet
often overlooked yet crucial in the professional landscape. Regular interactions with my mentor
underscored the importance of effective communication, elucidating how maintaining a clear and
concise dialogue fosters seamless collaboration and mitigates misunderstandings. This emphasis
on communication proved invaluable, ensuring alignment with project objectives and facilitating a
.NET and orchestrating its integration with Oracle SQL. Overall, my internship experience on the
Zebra Crm project has been transformative, laying a solid foundation for future endeavors in the
identified:
User Interface Enhancements : While the user interface of Zebra Crm is functional, there is
room for improvement in terms of aesthetics, usability, and intuitiveness. Future enhancements could
focus on refining the user interface to enhance user satisfaction and productivity
Enhanced Reporting Capabilities : Zebra Crm’s reporting capabilities may be limited in scope
or flexibility. Future enhancements could include the introduction of advanced reporting features,
customizable dashboards, and data visualization tools to empower users with actionable insights.
Mobile Compatibility : Zebra Crm’s current platform may lack full compatibility with mobile
devices, limiting accessibility for users on-the-go. Future enhancements could involve the
base
Despite its strengths, the messaging system may face limitations such as scalability challenges
under extremely high load conditions and potential security vulnerabilities that require continuous
monitoring and mitigation efforts. In the future, enhancements could include implementing advanced
message filtering and prioritization algorithms to improve message delivery efficiency, integrating
multimedia support for richer communication experiences, and expanding platform compatibility to
reach a broader user base across different devices and operating systems. Additionally, enhancing
user engagement through features like group messaging, chatbots, and social media integration could
further enhance the system’s value proposition and competitiveness in the messaging market.