Project Report Final
Project Report Final
A PROJECT REPORT ON
SUBMITTED BY
ANKITA SINGH
First I would like to thank Mr. Rahul Lad(Project Manager) for his constant
guidance and supervision he provided, and helped me a lot in completion of
project. I would like to show my greatest appreciation to my internal project
guide Prof. Diwakar Jha for their support and guidance.
Finally, I wish to thank the faculty of Late Bhausaheb Hiray S.S Trust’s for the
guidance,inspiration and constructive suggestions that proved helpful to us
throughout the completionof this project.
Table of Contents
1. Introduction
2. System Analysis
2.1.1 Technical
2.1.2 Operational
3. System Design
3.3.3 Database
3.3.3.1 ER Diagram
4. Testing
5. System Implementation
5.1 Hardware required at Client Side
6.1 Maintenance
6.2 Evaluation
7. User/Operational Manual
8. Future Enhancements
9. Limitations
10. Conclusion
12. Bibliography
1.Introduction
Headquarters - Mumbai
Founder - 2006
Specialties - Electronic Data Transfer, Electronic data management system, Supports 21 CFR
part 11 compliance, and Data Integrity in Pharmaceutical industry
• Node.js is also being used for data abstraction and interfacing multiple devices with
software.
• Style.css Type: Cascading Style Sheet Purpose: To maintain the same style throughout the
application.
• Sidebar Type: component (.ts/.html/.scss) Purpose: To maintain the sidebar and menu
throughout the application.
• Non-blocking I/O: Node.js uses asynchronous I/O operations, meaning it can handle
multiple requests concurrently without waiting for each operation to finish before
moving on to the next one. This is crucial for performance in applications that need
to handle many simultaneous connections or I/O-bound tasks (like reading from a file
or making network requests).
• Event-driven: Node.js uses an event loop to handle events and execute callbacks
when an event occurs. This event-driven architecture allows Node.js to efficiently
manage I/O operations and respond to events such as incoming requests or data
streams.
Node.js is single-threaded but uses an event loop to handle multiple concurrent requests
efficiently:
Node.js has a robust ecosystem of libraries and packages available through npm:
• npm (Node Package Manager): npm is the default package manager for Node.js and
hosts over a million packages of reusable code. It allows developers to easily install,
manage, and share packages and dependencies needed for their applications.
• Modules: Node.js uses a module system based on CommonJS, where each file is
treated as a module with its own scope. Modules can export functionalities using
module.exports and exports, making it easy to structure applications and reuse code.
4. Cross-Platform Compatibility
5. Server-Side Development
• Web Servers: Node.js can serve HTTP requests and handle routing, middleware, and
database interactions, making it a popular choice for building web servers and APIs.
• Real-Time Applications: Its event-driven architecture makes Node.js particularly
suitable for real-time applications such as chat applications, online gaming, and
collaborative tools where responsiveness and scalability are critical.
Node.js has become a popular choice for modern web development due to its efficiency,
scalability, and vibrant ecosystem, making it suitable for a wide range of applications from
small utilities to large-scale enterprise systems.
Database : MySql
• Web Applications: MySQL is widely used as the backend database for web
applications, powering content management systems (CMS), e-commerce platforms,
forums, and more.
• Data Warehousing: It is used for storing and analyzing large volumes of data in data
warehousing scenarios, often in conjunction with analytics and reporting tools.
• Content Management: Many content management systems (CMS) like WordPress,
Joomla, and Drupal use MySQL as their database backend.
• Business Applications: MySQL is suitable for developing and maintaining business
applications that require reliable data storage and retrieval capabilities.
• Installation: Download and install MySQL from the official website (mysql.com) or
use package managers available for your operating system.
• Configuration: Configure MySQL server settings such as database storage locations,
authentication methods, and security settings based on your requirements.
• Connecting and Managing Databases: Use MySQL client tools like MySQL
Workbench, phpMyAdmin, or command-line tools to connect to MySQL servers,
create databases, define tables, and manage data.
• Programming with MySQL: Integrate MySQL into your applications using MySQL's
native connectors for various programming languages (e.g., MySQL
Connector/Python, MySQL Connector/J for Java).
MySQL's popularity stems from its reliability, performance, and extensive community
support. Whether you're building a small-scale application or a large-scale enterprise
solution, MySQL provides the tools and capabilities necessary to manage your data
effectively.
2. System Analysis
Angular - Angular is a robust and feature-rich framework that provides a comprehensive set
of tools and capabilities for building complex web applications. It offers built-in support for
essential features such as data binding, component-based architecture, dependency
injection, routing, and form handling. These features help developers build scalable and
maintainable applications more efficiently.
NodeJs - Node.js is a runtime environment that allows you to run JavaScript code outside of
a web browser. It is built on Chrome's V8 JavaScript engine and uses an event-driven, non-
blocking I/O model, making it lightweight and efficient for building scalable network
applications. Key features include Asynchronous and Event-Driven, Single-Threaded, Non-
Blocking, Package Ecosystem (npm), Cross-Platform, Server-Side Development, Scalability
GANTT Chart
Time Line
3. System Design
▪ Non-Functional Requirements
1. Non-Functional Requirements often focus on aspects such as
performance,
2. security, usability, reliability, scalability, and maintainability.
3. The system should be available and accessible to users during
scheduled
4. hours, with minimal downtime for maintenance or upgrades.
5. System must have user-friendly interface that is easy to navigate and
understand.
6. The system should support secure login mechanisms to ensure
authorized access to sensitive data.
7. The system should enforce appropriate access controls, ensuring that
users can
8. only access the data they are authorized to view or modify.
9. The system should be designed in a modular manner, allowing for
easier
10. maintenance and future enhancements.
3.1.2 Selection of Technology / specific requirements
1. Hardware to be used
Server 4 GB RAM
160 GB HDD
server 4 GB RAM
160 GB HDD
4 GB RAM
160 GB HDD
-
2. Software to be used
3. Tools to be used
1 Software Designing & Development Visual Studio Code, Visual Studio, Android
studio, Keil uvision, Simplicity Studio
2 Database Development & Design MySql, SqlYog Community Edition, SQL Server,
Sql Server Management Studio
• Development shall focus on verification and validation activities at each stage of life cycle
• Development shall enhance probability of building an error free, good quality systems
• Highly disciplined development model that shall guide testing at each stage of
development.
project in the best way possible. Project management is so important to organizations and
teams, but in order for it to be really effective, it needs to be correctly mapped to team type,
project, organization, and goals. There are several methodologies that can be adapted for IT
projects. Also, the choice of methodology depends on various factors such as project size,
complexity, team size, organizational culture.
Agile methodology is characterized by several unique features that set it apart from
traditional project management approaches. Hence, Agile methodology was adopted for
that is widely used in software development and other industries. It emphasizes flexibility,
Values and Principles: Agile methodology is based on the Agile Manifesto, which
• Iterative and Incremental Approach: Agile projects are divided into short iterations
or sprints, typically lasting 1-4 weeks. Each iteration delivers a working increment of
the product, which can be reviewed and evaluated by stakeholders. The product is
developed incrementally, with new features and improvements added in each
iteration.
• Scrum Framework: Scrum is a popular Agile framework that provides a structure for
managing projects. It includes specific roles, artifacts, and ceremonies:
• Roles: The Scrum Master, Product Owner, and Development Team collaborate to
deliver the product.
• Artifacts: The Product Backlog, Sprint Backlog, and Increment capture the
requirements, tasks, and progress of the project.
• Embracing Change: Agile recognizes that requirements and priorities can change
throughout the project. It encourages flexibility and embraces change as a natural
part of the development process. Changes are incorporated through ongoing
collaboration, regular feedback, and prioritization, allowing the project to adapt and
deliver the most valuable product.
• Empowered and Self-Organizing Teams: Agile teams are self-organizing and cross-
functional. They have the autonomy to make decisions, collaborate closely, and
collectively take ownership of the projects success. This empowerment fosters
creativity, engagement, and a sense of collective responsibility.
• Delivering Value Early and Frequently: Agile focuses on delivering working software
or increments of the product at the end of each iteration. This allows stakeholders to
see tangible progress, provide feedback, and validate the direction of the project. By
delivering value early and frequently, Agile projects can adapt to changing
requirements and achieve customer satisfaction.
Identification of Project Scope - Clearly defined the scope of the project. Identified the
specific goals, objectives, and deliverables want to achieve using Agile.
Creation of product backlog - Product backlog was created as per the deliverables of the
project and required functionalities. Also, prioritization of backlog items based on their
importance and value was done.
Creation of Sprints - Sprints are short iterations, typically ranging from one to four weeks.
Sprints were planned by selecting set of items or functionality to be developed from the
product backlog in each sprint. Developers, scrum master, stakeholders were the part of
sprints developed for every module.
Defining user stories - Break down the backlog items from sprint into user stories. User
stories are concise, customer-centric descriptions of specific features or functionalities.
Define user stories collaboratively with the team and ensure they are clear, actionable, and
testable. Afterwards development is carried out based on the user stories provided.
Sprint Execution - It was decided to execute the sprint by working on the user stories
selected during sprint planning. Encourage close collaboration, regular communication, and
knowledge sharing within the team. Monitor progress through daily stand-up meetings and
track tasks on a visual board or Agile project management tool.
Conduct Daily Stand-up Meetings (Scrum meeting) - Daily Scrum where team members
share their progress, discuss any challenges or roadblocks, and plan their tasks for the day
were scheduled to be conducted. These short meetings help keep the team aligned and
facilitate quick issue resolution.
Conduct Sprint Review and Retrospective - At the end of each sprint, sprint review to
showcase the completed work to stakeholders and gather their feedback was decided to be
conducted. Also, sprint retrospective meeting to reflect on the team's performance,
identify
areas for improvement, and make adjustments to the process.
Continuously Adapt and Improve - Use the feedback received during sprint reviews and
retrospectives to refine the product backlog, reprioritize user stories, and make necessary
adjustments to the project plan. Continuously learn and improve the project based on
feedback and evolving business needs.
3.3 Detailed lifecycle of the project
3.3.1. Modules
Main modules involved in this project are as follows:
Login screen
Dashboard
Add user
Add Tablet
Area setting to add instruments on particular IDS
Cubicle Setting
Batches active in particular area
Login
Menu Screen
Test Screen
Database
• Authorization Tagging
• Authorization Access
Description This use case describes how to modify the configuration of an Infocard
Trigger Infocards cannot have same infocard ID
Actors User
Preconditions Infocard should exist in database in iTalent
Post The fields of the infocard should be properly processed in iTalent
• Dataset Management
• Test Planning: Agile teams collaborate to define the testing strategy, scope, and
objectives for each iteration or sprint. This includes identifying the features or user
stories to be tested, prioritizing them, and estimating the effort required.
• Test Design: Testers work closely with developers, product owners, and other
stakeholders to create test scenarios and test cases based on the acceptance criteria
defined for each user story. These test cases focus on validating the functionality and
behaviour of the software.
• Test Execution: Testing is performed iteratively during each sprint. Testers execute
the test cases designed in the previous step, aiming to uncover defects and ensure
that the software meets the desired quality standards. Automated testing tools are
often employed to improve efficiency and reliability.
• Defect Reporting: When issues or defects are identified during testing, testers report
them to the development team. Defects are typically tracked in a bug tracking system
or issue management tool, allowing for better collaboration between developers and
testers to resolve the issues.
• Continuous Integration and Testing: In Agile, the development and testing processes
are closely integrated. Continuous integration practices ensure that code changes
made by developers are frequently merged and tested. Automated test suites are
executed regularly to catch any regression issues.
• Test Automation: Agile teams prioritize test automation to accelerate testing efforts.
Automated tests help ensure faster feedback, reduce manual effort, and enable
frequent regression testing. Test automation frameworks and tools are used to create
and maintain automated test scripts.
• User Acceptance Testing (UAT): UAT is performed to obtain user feedback and
validate that the software meets the end-users' requirements. This typically involves
engaging stakeholders or actual users to perform real-world scenarios and provide
feedback on the functionality.
• Retrospectives and Continuous Improvement: At the end of each sprint, Agile teams
conduct retrospectives to reflect on the testing process and identify areas for
improvement. These insights help refine the testing practices, adapt strategies, and
enhance the overall development process.
It's worth noting that Agile testing follows the principle of "Test Early, Test Often," promoting
collaboration, adaptability, and continuous feedback loops to ensure high-quality software is
delivered incrementally throughout the project.
In black box testing, the tester does not have access to the internal code,
architecture, or design of the software. The objective is to verify if the software meets the
specified requirements, behaves as expected, and handles different inputs correctly,
regardless of how it is implemented.
The black box testing of proposed system was carried out by users through which
requirement was received. They tested the flow as per the requirement given for
development in sprint and expected outcome of the sprint.
Module/
Area/ Test Case Actual
Sl No. Process Description Expected Result Test Data Result
Person Basic
information
like name,
Person Open forms and Person Infocard will be group hire
1 Infocard click on Person loaded date etc. OK
Person Basic
information like
Person Click on create blank person form will name, group hire
2 Infocard new open date etc.
Person Basic
fill up all required different options for information like
Person fields and click creating person will name, group hire
3 Infocard on action come in pop up date etc.
Person Basic
choose any message shown that information like
Person option and click employee craeted name, group hire
4 Infocard on confirm successfully date etc.
Person Basic
information
like name,
Person Click on search Pop up will be opened group hire
5 Infocard button to search employee date etc. OK
Search employee
by giving Person Basic
employee information
number and click like name,
Person on the search Employee person group hire
6 Infocard data details will be loaded date etc. OK
I.User will get option for
correct or update data
if the employee is
created before system Person Basic
date. information
Change some II.User will get correct like name,
Person field value and option if person is group hire
6 Infocard click on save created on system date. date etc. OK
Negative
Testing
While creating a Error meassage displayed as
person give BG “Company Joining date Person
joining date less should be equal or greater BG
Person than group joining then the group joining joining
Infocard date date” date OK
Module/
Area/ Test Case Actual
Sl No. Process Description Expected Result Test Data Result
Negative
Testing
Required to fill
up all necessary Basic details are filled up
fields and also miss to enter data of
need to check all Base details. Assignment
the associated details does not get Employee
tabs. saved. Number
Assignment
Infocard OK
Module/
Area/ Test Case Actual
Sl No. Process Description Expected Result Test Data Result
6. System Implementation
Tools to be used
At the end of every iteration of sprint, developed artifact was given to end users for testing.
As per their feedback changes were implemented and final deliverable was achieved for
which UAT sign-off was received.
Beta testing:
Beta testing is a type of user acceptance testing that involves releasing a pre-release
version of software to a select group of external users, known as beta testers or beta users.
The purpose of beta testing is to gather real-world feedback and uncover any remaining
defects or usability issues before the software is officially launched to a wider audience.
Beta version of system was released to determine unfound issues if any, associated
with system. As, there were no complications found in beta testing final version of software
was deployed.
7. System Maintenance & Evaluation
7.1 Maintenance
The maintenance of an system involves a range of activities aimed at ensuring the
system remains functional, secure, and up to date. Here are some key aspects followed for
system maintenance:
Regular Updates and Upgrades: Stay up to date with the latest versions. Apply patches, bug
fixes, and updates provided by the system vendor to address any known issues and improve
system performance.
System Monitoring: Continuously monitor the system to identify any performance issues,
errors, or anomalies. Utilize monitoring tools to track system health, server resources,
database performance, and user activity. Proactively address any issues that may arise to
minimize downtime and ensure optimal system performance.
Data Backup and Recovery: Regularly back up system data to protect against data loss or
corruption. Establish a backup strategy that includes both onsite and offsite backups. Test
the backup and recovery processes periodically to verify the integrity and availability of the
data.
Security Measures: Implement robust security measures to protect sensitive data. This may
include access controls, encryption, user authentication, and audit trails. Regularly review
and update security configurations, perform vulnerability assessments, and stay informed
about security best practices to mitigate the risk of data breaches.
User Support and Training: Provide ongoing user support to address any questions, issues, or
training needs of system users. Offer documentation, user guides, and training materials to
ensure users understand how to effectively use the system. Stay responsive to user feedback
and continuously improve the user experience.
7.2 Evaluation
Evaluating an system involves assessing its performance, effectiveness, and
alignment with the organization's objectives. Here are some steps which were carried out in
evaluation:
Define Evaluation Criteria: Determine the criteria against which you will evaluate the system.
These criteria can include system functionality, usability, data accuracy, performance,
security, scalability, compliance, integration capabilities, user satisfaction, and alignment
with goals.
Gather User Feedback: Collect feedback from system users, including HR professionals,
managers, and employees. Use surveys, interviews, or focus groups to understand their
experiences, challenges, and satisfaction levels with the system. Identify areas of
improvement or specific pain points they may be facing.
Analyze System Metrics: Utilize system metrics and usage data to assess its performance.
Look at key performance indicators (KPIs) such as system uptime, response time, user
adoption rates, transaction volumes, and data accuracy. Identify any patterns or trends that
indicate areas for improvement or potential issues.
Evaluate Functionality: Review the system's functionalities and features against the
organization's requirements. Assess whether the system adequately supports essential
processes such as employee onboarding, performance management, training and
development, compensation, benefits administration, and reporting. Identify any gaps or
limitations in functionality.
Assess User Experience: Evaluate the system's user interface, intuitiveness, and ease of use.
Consider factors such as navigation, search capabilities, data entry processes, and overall
user satisfaction. Identify any areas where the system may cause confusion, require
excessive manual effort, or hinder productivity.
Review Data Integrity and Reporting: Examine the accuracy, completeness, and consistency
of the HR data stored in the system. Verify that data inputs and outputs are reliable and that
reporting capabilities meet the organization's needs. Assess the system's ability to generate
standard reports, customize reports, and provide insights for analytics.
Consider Integration and Scalability: Assess the system's integration capabilities with other
HR and enterprise systems. Determine if it can effectively exchange data and synchronize
information with other applications. Evaluate its scalability to handle increasing data
volumes, user growth, or organizational changes.
Evaluate Security and Compliance: Review the system's security measures, access controls,
data encryption, and compliance with data privacy regulations. Assess if the system provides
adequate protection for sensitive data. Verify that the system aligns with relevant industry
standards and legal requirements.
Compare with Industry Standards and Best Practices: Benchmark the system against industry
standards and best practices. Stay informed about emerging technologies, trends, and
innovations in software. Identify areas where the system can be enhanced or aligned with
leading practices.
Prioritize Areas for Improvement: Based on the evaluation findings, prioritize areas for
improvement or enhancement. Create an action plan that addresses the identified gaps or
challenges. Consider system upgrades, customization, process optimizations, training
programs, or other initiatives to enhance the system's effectiveness.
Regular evaluation of the system ensures that it continues to meet the organization's
evolving needs and remains a valuable tool for DSA operations. By considering user
feedback, system metrics, functionality, user experience, data integrity, security, and
compliance, organizations can identify areas for improvement and take proactive steps to
optimize system.
8. User/Operational Manual
• Backups
Maintaining backups of system is crucial to ensure data integrity and facilitate recovery
in case of data loss or system failures.
• critical data, configuration files, databases, and any other important elements
that need to be included in backups were identified.
• Backups were scheduled as per data criticality
• Confidentiality of backed up data was maintained by applying proper encryption
algorithm.
9.Future Enhancements
While digital saving accounts offer numerous advantages, they also come
with certain limitations and challenges that need to be addressed. These
limitations can impact the adoption and effectiveness of digital saving solutions.
1. Security Risks:
Digital saving accounts are vulnerable to cyber-attacks, phishing scams, and data
breaches. Ensuring the security of customer data and transactions is a significant
challenge that requires continuous investment in advanced security measures.
2. Accessibility Issues:
Not all customers have access to the internet or possess the digital literacy
required to navigate online banking platforms. This digital divide can exclude a
portion of the population from benefiting from digital saving accounts.
3. Technical Problems:
Technical issues such as server downtime, software bugs, or connectivity
problems can hinder the accessibility and reliability of digital saving accounts.
Such issues can lead to customer dissatisfaction and loss of trust in digital
banking services.
4. Regulatory Compliance:
Digital saving accounts must comply with various regulatory requirements,
including KYC (Know Your Customer) and AML (Anti-Money Laundering)
regulations. Keeping up with changing regulations and ensuring compliance can
be complex and costly.
5. Limited Personal Interaction:
Some customers prefer face-to-face interactions for their banking needs. The lack
of personal interaction in digital saving accounts can be a drawback for those
who value in-person services and personal relationships with bank staff.
6. Privacy Concerns:
Customers may have concerns about the privacy of their financial data. Ensuring
that customer data is handled securely and transparently is crucial to building
trust in digital saving accounts.
7. Dependence on Technology:
Digital saving accounts are heavily reliant on technology. In the event of
technological failures or natural disasters that disrupt internet services, access to
digital accounts can be compromised.
8. Costs of Technology Adoption:
For banks and financial institutions, the initial setup and ongoing maintenance of
digital saving account systems can be expensive. Smaller institutions may struggle
with the financial burden of adopting and maintaining advanced digital
infrastructure.
9. Customer Support Challenges:
Providing effective customer support for digital saving accounts can be
challenging. Customers may require assistance with technical issues, account
management, and security concerns, necessitating a robust and responsive
support system.
10. Market Competition:
The rapid growth of fintech companies and the increasing competition in the
digital banking space can make it difficult for traditional banks to keep up with
innovations and offer competitive digital saving account services.
11. Conclusion
The software used in pharmacies within plant settings serves a critical role by facilitating the
seamless integration of data from various instruments through Local Area Network (LAN)
connections. This integration is essential for pharmaceutical operations, where precision
and efficiency are paramount.
Upon receiving data from instruments, the software undertakes sophisticated processing
algorithms tailored to pharmaceutical standards. These algorithms analyze the data,
applying specific calculations and validations to ensure accuracy and reliability in the results
generated. This capability is crucial for maintaining quality control and compliance with
regulatory requirements governing pharmaceutical production.
Once processed, the software generates detailed reports that encapsulate key findings and
outcomes. These reports are not only essential for internal operations but also serve as
critical documentation for regulatory audits and inspections. By automating the generation
of reports, the software streamlines administrative tasks, freeing up valuable time for
pharmacy staff to focus on other essential duties.
Moreover, the software enhances communication and collaboration within the pharmacy
setting. It facilitates real-time access to data and results across different departments or
locations within the plant, fostering efficient decision-making and coordinated efforts.
The integration of such software into pharmacy operations within plants not only improves
operational efficiency but also enhances overall productivity. By minimizing manual errors
and reducing the time required for data processing and reporting, the software contributes
to cost savings and operational effectiveness.
Furthermore, the software's ability to adapt and scale with evolving technological and
regulatory landscapes is crucial. Regular updates and enhancements ensure that the
software remains compliant with changing regulations and continues to meet the dynamic
needs of pharmaceutical manufacturing.
In conclusion, the software used in pharmacies within plants, which leverages LAN
connectivity to integrate instrument data, plays a pivotal role in ensuring the accuracy,
efficiency, and compliance of pharmaceutical operations. Its capabilities in data processing,
result generation, and report creation contribute significantly to operational excellence and
regulatory adherence in the pharmaceutical industry.
12. Appendices
GL Group Leader
PL Project Leader
PM Project Manager
TM Team Member
• https://material.angular.io/
• https://nodejs.org/en
• https://training-course-material.com/training/Nodejs
• Hotokit documents (provided by organization)
• https://docs.oracle.com/cd/B10501_01/appdev.920/a96624/toc.htm