Internship-Report-Khushi
Internship-Report-Khushi
A PROJECT REPORT
Submitted by
200090107072
BACHELOR OF ENGINEERING
in
Computer Engineering
May, 2024
C. K. Pithawala College of Engineering and Technology
Opposite Surat Airport, Behind DPS School, Near Malvan Mandir, Dumas Road, Surat
CERTIFICATE
This is to certify that the project report submitted along with the project
entitled Data Science has been carried out by Raval Meetkumar
Riteshkumar. under my guidance in partial fulfillment for the degree of
Bachelor of Engineering in Computer Engineering, 8th Semester of Gujarat
Technological University, Ahmedabad during the academic year 2023-24.
Opposite Surat Airport, Behind DPS School, Near Malvan Mandir, Dumas Road, Surat
DECLARATION
I hereby declare that the Internship report submitted along with the Internship entitled
Data Science Internship submitted in partial fulfillment for the degree of Bachelor of
Engineering in Computer Engineering to Gujarat Technological University, Ahmedabad,
is a bonafide record of original project work carried out by me at Soham Infotech under
the supervision of Mr. Ritesh 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.
Raval Meetkumar R.
200090107072
399971
Acknowledgement
I would like to express my heartfelt gratitude to Soham Infotech for providing me with
the invaluable opportunity to undertake a Data Science internship. This experience has
been instrumental in shaping my understanding and expertise in the field of artificial
intelligence.
I extend my deepest appreciation to Mr. Ritesh for his exceptional mentorship throughout
the duration of my internship. His guidance, encouragement, and expertise have been
pivotal in my learning journey, enabling me to tackle challenges and explore new
horizons in data science.
I am also thankful to the entire team at Soham Infotech for their support, collaboration,
and conducive learning environment that fostered my growth and development during the
internship.
Lastly, I am grateful to all those who have contributed directly or indirectly to this
enriching experience, enabling me to acquire practical skills and insights that will
undoubtedly benefit my future endeavors in the field of data science.
Raval Meetkumar R.
Abstract
This abstract encapsulates the enriching experience of a data science internship at Soham
Infotech, under the mentorship of Mr. Ritesh. The internship delved into comprehensive
facets of machine learning, encompassing algorithmic understanding, advanced modeling
techniques, and practical implementation using Flask and Django frameworks. Through
immersive projects and hands-on experimentation, a profound comprehension of machine
learning algorithms and their application in real-world scenarios was cultivated. The
mentorship provided by Mr. Yash Patel played a pivotal role in navigating the intricacies
of algorithm selection, model development, and deployment strategies. Furthermore,
exposure to Flask and Django frameworks enabled the integration of machine learning
models into web applications, fostering a holistic understanding of AI-driven
development. This abstract underscores the multifaceted learning journey facilitated by
BroderAI IT Solutions LLP, shaping a well-rounded skill set poised for impactful
contributions in the realm of artificial intelligence and software engineering.
List of Figures
Table of Contents
Acknowledgement i
Abstract ii
List of Figures iii
List of Tables iv
List of Symbols, Abbreviations and Nomenclature v
Table of Contents vi
1 Overview of the Company 1
1.1 History 1
1.2 Different product / scope of work 1
1.3 Organization chart. 1
1.4 Capacity of plant 2
2 Company Overview 3
2.1 Department working 3
2.2 Technical specifications 3
2.3 Sequence of operations 3
2.4 Production Stages 3
3 Introduction to Internship 4
3.1 Project / Internship Summary 4
3.2 Purpose 4
3.3 Objective 4
3.4 Scope 4
3.5 Technology and Literature Review 4
3.6 Project / Internship Planning 4
3.6.1 Approach with Justification 4
3.6.2 Cost Estimation 4
3.6.3 Roles 4
3.6.4 Group Dependencies 4
3.7 Project / Internship Scheduling 4
4 System Analysis 5
4.1 Study of Current System 5
4.2 Problem and Weaknesses of Current System 5
4.3 Requirements of New System 5
1.1 History
Soham Infotech, located in Surat, India, goes beyond simply supplying hardware,
networking solutions, and software to industrial clients. Their team leverages their
combined expertise to create customized IT ecosystems that optimize and streamline
operations. By delving into research for various technological advancements, Soham
Infotech ensures they offer the most relevant and future-proof solutions for their clients'
unique needs. This dedication to innovation and integration has helped businesses like
ours achieve significant improvements in efficiency and productivity.
Soham Infotech, serves as a comprehensive IT partner for industrial clients. Their core
business lies in providing management services and products that optimize and maintain
the technological infrastructure of various industries. This includes providing essential
hardware, networking solutions, and custom software programs tailored to each client's
specific needs. Soham Infotech's expertise extends to both domestic and international
companies, fostering strong bonds through their reliable supply and maintenance of these
critical IT systems.
2 COMPANY OVERVIEW
While Soham Infotech provides industrial clients with hardware, networking solutions,
and software, their true value lies in crafting bespoke IT ecosystems that optimize and
streamline operations. Leveraging their expertise, the Soham Infotech team collaborates
to design these customized systems. By continuously exploring the latest technological
advancements, they ensure their solutions are not only relevant but also future-proof,
meeting the unique needs of each client. Our expertise areas: • Data Science and Machine
Learning • Software Development • Hardware Maintenance • Networking
Data Science: The Data Science department focuses on extracting insights and knowledge
from structured and unstructured data to inform decision-making processes and drive
innovation. This includes tasks such as data collection, cleaning, analysis, modeling, and
interpretation, employing statistical techniques, machine learning algorithms, and domain
knowledge to uncover patterns and trends in data for actionable insights and predictive
analytics.
3 INTRODUCTION TO INTERNSHIP
I’ve been doing the Data Science internship at Soham Infotech, the internship period
would be 16 weeks.
During my internship, I had the opportunity to work on two exciting projects that helped
me gain valuable skills and experience in software development. The first project
involved developing a Yoga Pose Estimator using Flask, a lightweight web application
framework in Python. I collaborated with a team to design and implement a system that
could accurately analyze images of yoga poses and provide feedback to users.
The second project centered around creating a Jewelry Website using Django, a high-level
web framework also based on Python. This project allowed me to delve deeper into the
world of web development, focusing on building a robust e-commerce platform for
selling jewelry products.Working on this project exposed me to various aspects of web
development, including database management, user authentication, and front-end design.
Throughout both projects, I gained hands-on experience with industry-standard tools and
technologies, such as Flask, Django, OpenCV, MediaPipe, HTML, CSS, JavaScript, and
SQL databases. I also learned the importance of effective collaboration, communication,
and time management while working within a team environment.
3.2 Purpose
This internship aims to gain practical experience in software development and machine
learning through real-world projects in quantitative finance. Participants apply theoretical
knowledge to solve complex problems using industry-standard tools. The goal is to
develop essential skills like teamwork, communication, and time management while
preparing for a career in the technology-driven financial industry. By exploring web
development and machine learning within finance, the objective is to equip participants
for success in algorithmic trading and beyond.
3.3 Objective
Furthermore, this internship serves as a platform for honing essential skills crucial for
success in the technology-driven financial sector. Through active involvement in
collaborative projects, I seek to enhance my proficiency in problem-solving,
communication, and teamwork. By immersing myself in the intricacies of financial
markets and the nuances of algorithmic trading, I aspire to emerge from this experience
with a robust skill set and a clear trajectory towards a rewarding career in quantitative
finance and technology.
3.4 Scope
The scope of the projects undertaken during the internship, namely the Yoga Pose
Estimator using Flask and the Jewelry Website using Django, encompassed several key
aspects:
Technologies:
Literature Review:
➢ Incremental Development:
○ We recognize the importance of breaking down the project into smaller,
manageable tasks or user stories to facilitate incremental development and
continuous improvement. By adopting this approach, we can prioritize
features based on their value to the end user and deliver tangible results
incrementally. This iterative approach not only minimizes the risk of
project delays and scope creep but also ensures that we remain focused on
delivering maximum value at each stage of development.
It was an offline internship, which had timings 9am to 5pm, and 6 days a week.
Cost estimation:
The cost estimation for the project primarily focuses on development efforts, considering
that essential tools such as VSCode, Django, Machine Learning Libraries, and Data
Analytics Tools are readily available at no direct expense. However, it's crucial to
recognize and account for indirect costs associated with the project.
➢ Direct Costs:
○ Gathering Market Data: Obtaining both historical and real-time market
data incurs a cost. For real-time data, there is a charge of ₹2000 per app
each month. Additionally, opting for historical data through the API entails
an extra ₹2000 charge per month. This data is sourced from our financial
market broker, ZERODHA, as detailed in their API documentation
○ https://support.zerodha.com/category/trading-and-markets/kite-web-and-m
obile/kite-api
➢ Indirect Costs:
○ Learning Curves: While many tools are freely available, there may be a
learning curve associated with mastering them. Time spent learning and
adapting to these tools should be considered as an indirect cost.
○ Limitations of Free Tools: Although tools like Django and Machine
Learning Libraries are accessible at no direct cost, it's essential to
acknowledge potential limitations or constraints associated with their free
versions. This could impact productivity, scalability, or feature availability,
necessitating workarounds or additional investments to address these
limitations.
3.6.3 Roles
The project activities were scheduled using agile methodologies to adapt to changing
requirements and ensure timely completion of deliverables. Regular progress updates and
adjustments were made to the schedule as necessary.
4 SYSTEM ANALYSIS
The current financial trading system operates exclusively within the Indian stock market.
It employs fixed rules for order execution and necessitates manual intervention for certain
processes. The system is responsible for handling real-time data, conducting
mathematical computations, and enforcing predefined rules to validate trade entries and
exits. Entirely developed in Python, the system lacks a dedicated frontend interface and
relies on the dashboard provided by the broker for user interaction.
The existing trading system faces several challenges and weaknesses that impact its
effectiveness and performance.
In light of the shortcomings identified in the current trading system, the development of a
new system necessitates a comprehensive set of requirements to address existing
challenges and enhance overall performance. The key requirements for the new system
are outlined as follows:
The project contributes to its objective by integrating advanced technologies like machine
learning libraries, Django, PYQT, Streamlit, Python, C++, and quantitative mathematics,
enabling the optimization of trading strategies. Through scalable and adaptable solutions,
it facilitates informed decision-making based on real-time market data and predictive
modeling. User-centric design principles ensure intuitive interfaces, enhancing traders'
experiences. Aligned with industry standards, the project fosters reliability and
compliance while empowering traders in navigating the complexities of financial markets
effectively.
4.4.2 Constraints
Despite its ambitious objectives, the trading project is subject to certain constraints that
may impact its development and implementation. These constraints include limitations in
accessing comprehensive and accurate market data, potential regulatory hurdles,
technological complexities, resource constraints such as budget and manpower, and the
inherent uncertainties of financial markets. Additionally, interoperability challenges with
existing systems and the need to balance innovation with risk management present further
constraints. Addressing these constraints requires careful planning, strategic
decision-making, and proactive risk mitigation strategies to ensure the successful
execution of the trading project.
4.4.3 Integration
The process flow of the trading project delineates the sequential steps.
➢ Data Acquisition:
○ The process begins with the acquisition of market data from various
sources, including real-time feeds and historical databases. This data
encompasses price movements, volume, indicators, and other relevant
metrics.
➢ Data Preprocessing:
○ Next, the acquired data undergoes preprocessing to clean, normalize, and
transform it into a suitable format for analysis. This step involves handling
missing values, removing outliers, and standardizing data to ensure
consistency.
➢ Algorithmic Analysis:
○ Subsequently, the preprocessed data is fed into algorithms and models for
analysis. Machine learning algorithms, statistical models, and quantitative
techniques are employed to derive insights, identify patterns, and make
predictions about market behavior.
4.6 Features
4.7 Modules
4.8 Methodology
➢ Requirements Analysis:
○ Conduct a thorough analysis of user requirements, market dynamics, and
regulatory considerations to define clear objectives and constraints for the
trading system.
➢ Design Phase:
○ Design a comprehensive architecture for the trading system, including data
flow diagrams, component specifications, and interface designs, to ensure
scalability, modularity, and maintainability.
➢ Development Iterations:
○ Implement the trading system in iterative development cycles, focusing on
incremental delivery of functionality and rapid feedback loops to
incorporate user input and address evolving requirements.
➢ Technology Selection:
○ Select appropriate technologies, frameworks, and tools based on the
project requirements and constraints, considering factors such as
performance, scalability, ease of integration, and community support.
➢ Algorithm Development:
○ Develop and refine trading algorithms and strategies using machine
learning, statistical analysis, and quantitative modeling techniques,
leveraging historical data and backtesting to validate performance.
➢ Testing and Validation:
○ Conduct comprehensive testing of the trading system, including unit tests,
integration tests, and system tests, to ensure functionality, reliability, and
accuracy under various market conditions.
➢ Deployment and Monitoring:
○ Deploy the trading system in a production environment, monitoring
performance, latency, and risk exposure in real-time, and implementing
mechanisms for automated monitoring, alerting, and failover.
5 SYSTEM DESIGN
The Yoga Pose Estimator system design and methodology will employ an iterative, agile
approach to ensure adaptability to evolving requirements and user feedback, emphasizing
modularity, scalability, and rigorous testing to deliver a reliable and effective solution.
Whereas,the Jewelry E-Commerce Website system design will follow a modular and
scalable approach, utilizing object-oriented principles within an Agile development
methodology to ensure flexibility, maintainability, and responsiveness to evolving
requirements.
Process design involves establishing workflows and protocols for tasks like data
acquisition, pose estimation, feedback generation, and user interaction to guarantee
efficient system operation and user satisfaction. Conversely, structure design entails
structuring system elements and modules into a unified architecture, taking into account
aspects like modularity, scalability, and integration with external systems.
Interface design for Yoga Pose Estimator system will focus on creating a user-friendly
and intuitive interface for interacting with the system, incorporating elements such as
clear visualization of pose feedback, intuitive navigation controls, and responsive design
to accommodate various devices and screen sizes. For Jewelry E-Commerce Website
system interface design, the focus will be on creating a user-friendly and visually
appealing layout with intuitive navigation, clear product displays, and interactive
elements to enhance the overall shopping experience. Responsive design principles will
ensure compatibility across various devices, optimizing accessibility and usability for all
users.
In the context of the yoga pose estimation project, interface design encompasses
delineating the states and transitions within the system, detailing user interactions,
navigation across screens or modules, and transitions between states contingent on user
actions and inputs. This involves mapping out the flow of interactions from initial input
acquisition through pose estimation to feedback generation, ensuring a seamless and
intuitive user experience throughout the process.Whereas for Jewelry E-Commerce
Website system, the State Transition Diagram will illustrate the various states and
transitions within the system, depicting user interactions such as login, browsing
products, adding items to the cart, proceeding to checkout, and completing a purchase.
Samples of forms and reports for the yoga pose estimation project include an input form
for uploading video footage, a pose analysis report displaying detected poses and
feedback, and a feedback interface providing real-time corrections.Similarly for Jewelry
E-Commerce Website,samples of forms may include user registration forms, login forms,
product search forms, and checkout forms. Reports may include order history, sales
analytics, inventory status, and user activity reports. Interfaces should feature clean
layouts, intuitive navigation, visually appealing product displays, and interactive elements
such as buttons and dropdown menus to enhance user engagement and streamline the
shopping process.
Security considerations for the yoga pose estimation project encompass implementing
access control mechanisms, encryption techniques, and secure protocols to protect both
user data and the video feed transmission, ensuring that only authorized users can access
sensitive information and interact with the system securely.Security considerations for the
Jewelry E-Commerce Website involve implementing access control mechanisms,
encryption of sensitive data, protection against common web vulnerabilities, and
compliance with relevant security standards to ensure the confidentiality, integrity, and
availability of user information and transactions.
6 IMPLEMENTATIONS
6.1 Environment
- Django: Python based web platform used for adding backend functionality for an
E-commerce website.
- MediaPipe: Open source framework developed by Google used to detect
landmarks for pose estimation.
- Jupyter Notebook: Web-based interactive platform to make notebooks for the
inference model
- PostgreSQL: Relational database management system utilized for storing product
information, user data, and order details.
- Flask: Employed for creating a lightweight web application framework to serve
pose estimation results via an API.
- OpenCV: Utilized for image and video processing tasks, including capturing video
streams and performing real-time pose estimation.
6.3 Results
7 TESTING
7.1 Plan
- Develop a comprehensive testing plan covering all aspects of the Yoga Post
Estimator and the Jewelry E-Commerce Website.
- Define test objectives, scope, and criteria for success.
- Identify resources, timelines, and responsibilities for testing activities.
- Determine testing methodologies, including manual and automated testing
approaches.
- Establish a test environment and setup necessary tools and infrastructure.
The test results for proper pose estimation would involve assessing the accuracy and
reliability of the system in detecting and analyzing yoga poses correctly. This evaluation
would include measuring metrics such as pose detection accuracy, pose alignment, and
consistency across different yoga poses and user movements.While for Jewelry
E-Commerce Website,the test results indicate successful functionality of key features
such as user authentication, product management, shopping cart, and checkout processes.
Additionally, performance testing reveals acceptable response times and scalability under
simulated load conditions, while security testing identifies and addresses vulnerabilities to
ensure robust protection of user data and transactions.
1. Test Conditions
- Input videos encompassed diverse scenarios, including single and multiple users
performing various yoga poses, complex sequences, and obscured body parts.
System Performance:
- Expected Output: The system consistently achieves accurate detection and labeling of
yoga poses across different test conditions, demonstrating robustness and reliability.
- Actual Output: Upon testing, the system consistently accurately detects and labels
yoga poses in the input videos, confirming its robustness and reliability.
2. Performance Analysis:
- Expected Output: Minor discrepancies in confidence scores are observed during rapid
movements, suggesting areas for refinement to enhance accuracy and responsiveness.
- Actual Output: Analysis reveals minor discrepancies in confidence scores during rapid
movements, indicating areas for improvement to enhance accuracy and responsiveness.
Test Cases:
1. User Authentication:
2. Product Search:
3. Add to Cart:
4. Checkout Process:
5. Payment Processing:
Solution: After conducting required research, We used AJAX for shop filtering and
MediaPipe for landmark detection.
8.5 Summary
In summary, the internship focused on developing a yoga pose estimation system using
technologies such as Mediapipe. The project involved rigorous testing under various
conditions, including diverse scenarios encompassing single and multiple users
performing yoga poses, complex sequences, and obscured body parts. The system
consistently demonstrated robust performance, accurately detecting and labeling yoga
poses, with minor discrepancies observed during rapid movements. Overall, the project
highlighted the system's reliability, effectiveness, and usability in assisting users with
yoga pose estimation, paving the way for further enhancements and applications in the
field of fitness and wellness. Similarly, during the internship, significant progress was
made in developing an e-commerce platform for a jewelry store. Key achievements
- The current system may face limitations in accurately estimating poses under
challenging conditions, such as rapid movements or obscured body parts.There might be
constraints in processing large-scale video data efficiently due to hardware limitations or
computational resources.
1. Scalability: The system may face challenges in handling a significant increase in user
traffic and transactions, requiring optimization and scalability enhancements.
REFERENCES
1. https://mediapipe.readthedocs.io/en/latest/getting_started/python.html
2. https://docs.djangoproject.com/en/5.0/
3. https://flask.palletsprojects.com/en/3.0.x/.