Professional Documents
Culture Documents
My Thesis
My Thesis
1 INTRODUCTION...............................................................................................................................5
1.1 System Introduction.....................................................................................................................5
1.2 Background of the System...........................................................................................................5
1.3 Objectives of the System.............................................................................................................6
1.4 Significance of the System...........................................................................................................6
2 REQUIREMENT SPECIFICATIONS................................................................................................7
2.1 Product Scope..............................................................................................................................7
2.2 Product Description.....................................................................................................................7
2.2.1 Product Perspective..............................................................................................................7
2.2.2 Product Functionality...........................................................................................................8
2.2.3 Users and Characteristics.....................................................................................................9
2.2.4 Regular Users:.....................................................................................................................9
2.2.5 Administrators:....................................................................................................................9
2.2.6 Operating Environment......................................................................................................10
2.3 Specific Requirements...............................................................................................................10
2.3.1 Functional Requirements...................................................................................................10
2.3.2 Behavioral Requirements...................................................................................................11
2.3.3 Use Case Diagram..............................................................................................................12
2.3.4 External Interface Requirements........................................................................................13
Hardware Interfaces...............................................................................................................................16
Camera Interface: The system interfaces with the device's camera for live feeds......................16
Device Compatibility: Compatible with devices supporting web browsers and cameras...........16
Software Interfaces................................................................................................................................16
Operating System: Compatible with major operating systems (Windows, macOS, Linux,
Android, iOS)....................................................................................................................................16
Web Browser: Requires a modern web browser for the user interface.......................................16
APIs: Integrates with external APIs for supplementary services and data enrichment...............16
Communications Interfaces...................................................................................................................16
Data Transfer: Utilizes standard HTTP/HTTPS protocols for data transfer...............................16
Security: Implements encryption (HTTPS) for secure communication......................................16
Synchronization: Ensures synchronization of user preferences and feedback across devices....16
1
2.4 Non-functional Requirements....................................................................................................17
2.4.1 Performance Requirements................................................................................................17
The Emotion Detection Module shall process live camera feeds and provide emotion feedback
within 1 second of detection..............................................................................................................17
The system shall maintain a minimum frame rate of 15 frames per second (fps) for live camera
processing..........................................................................................................................................17
The Content Recommendation APIS shall Recommend Books ,Videos, songs within 2 seconds
of receiving emotion data..................................................................................................................17
The system shall handle concurrent content recommend requests from multiple users without a
significant decrease in performance...................................................................................................17
2.4.2 Safety and Security Requirements.....................................................................................17
The system shall comply with data protection regulations to ensure user privacy.....................17
Personal information and user-generated content shall be securely stored and encrypted during
transmission.......................................................................................................................................17
User authentication shall be required for accessing the system's administrative features...........17
The system shall implement role-based access control to restrict unauthorized access to
sensitive functionalities.....................................................................................................................17
The system shall employ content filtering mechanisms to prevent the recommendation of
inappropriate or offensive content.....................................................................................................17
Users shall have the option to report and block specific content................................................17
The system shall log and monitor user activities, system errors, and security-related events.
Security logs shall be regularly reviewed to identify and address potential security issues...............18
2.4.3 Software Quality Attributes...............................................................................................18
The system shall have a minimum uptime of 99.9% for continuous availability. In the event of a
system failure, the recovery time shall not exceed 30 minutes..........................................................18
The user interface shall be responsive and accessible across various devices, including
desktops, laptops, tablets, and smartphones.......................................................................................18
The system shall be compatible with popular web browsers such as Chrome, Firefox, Safari,
and Edge............................................................................................................................................18
Codebase shall adhere to coding standards, and the system shall be well-documented to
facilitate maintenance by future development teams.........................................................................18
Updates and patches shall be deployable with minimal downtime............................................18
The User Interaction Interface shall follow industry-standard usability principles for an intuitive
and user-friendly experience..............................................................................................................18
User feedback and suggestions for interface improvements shall be periodically collected and
considered for updates.......................................................................................................................18
The system architecture shall be designed to scale horizontally to accommodate an increasing
number of users. Performance testing shall be conducted periodically to ensure optimal performance
under varying user loads....................................................................................................................18
2
The system shall support future integrations with additional features or third-party services.
Modifications to content generation algorithms and emotion detection techniques shall be easily
implementable...................................................................................................................................19
3 DESIGN SPECIFICATIONS............................................................................................................20
3.1 Introduction...............................................................................................................................20
3.2 Composite Viewpoint................................................................................................................20
3.3 Logical Viewpoint.....................................................................................................................21
3.4 Information Viewpoint..............................................................................................................21
3.5 Interaction Viewpoint................................................................................................................22
3.6 State Dynamics Viewpoint........................................................................................................23
4 DEVELOPMENT AND TOOLS......................................................................................................24
4.1 Introduction...............................................................................................................................24
4.2 Development Plan......................................................................................................................24
4.3 Development Tools....................................................................................................................25
HTML/CSS for frontend development......................................................................................25
JavaScript for backend development.........................................................................................25
Flask for backend framework....................................................................................................25
Pyhon for model training...........................................................................................................25
Visual Studio Code (IDE) for code editing and development....................................................25
4.4 Conclusion and Future Work/Extensions...................................................................................25
Social integration: Allowing users to share their emotional experiences and interact with others
on the platform..................................................................................................................................25
Advanced emotion analysis: Utilizing more sophisticated algorithms to detect subtle emotional
cues and provide even more tailored content recommendations........................................................25
Gamification elements: Introducing gamified challenges or activities aimed at promoting
emotional awareness and resilience...................................................................................................25
Integration with wearable devices: Leveraging data from wearable devices to provide real-time
feedback on users' emotional states and activities..............................................................................25
5 QUALITY ASSURANCE........................................................................................................................26
5.1 Introduction...............................................................................................................................26
5.2 Traceability Matrix....................................................................................................................26
5.3 Test Plan....................................................................................................................................26
Test Cases for Emoodify Application Start Up......................................................................................26
6 USER MANUAL..............................................................................................................................28
6.1 Introduction...............................................................................................................................28
6.1.1 Hardware/Software Requirements for the System.............................................................28
3
6.1.2 Installation guide for Application......................................................................................28
6.1.3 Operating Manual..............................................................................................................28
4
1 INTRODUCTION
In this chapter, we introduce Emoodify, a web-based platform designed to enhance users'
emotional well-being through emotion detection, personalized content recommendation, and
interactive features. We provide insights into the background of the system, highlighting its
unique approach in combining emotion detection with tailored content suggestions. The
objectives of Emoodify are outlined, emphasizing its focus on creating a positive user
experience, fostering happiness and positivity, and continuously improving based on user
feedback and technological advancements. Finally, we discuss the significance of Emoodify,
showcasing its potential impact on various domains such as mental health, entertainment,
education, and corporate well-being programs.
In the domain of emotion-aware applications, various software exists, ranging from simple
emotion detection tools to more sophisticated platforms incorporating sentiment analysis.
However, Emoodify stands out by combining emotion detection with personalized content
recommendation on the basis of user emotion, offering a unique blend of real-time interaction
and personalized recommendations. Unlike traditional emotion-detection applications, Emoodify
goes beyond surface-level analysis, ensuring a more holistic and engaging user experience. The
integration of interactive features, personalized content suggestions, and the emphasis on
promoting positive emotions set Emoodify apart from existing systems.
5
1.3 Objectives of the System
The importance of Emoodify lies in its potential impact on users' emotional well-being and the
diverse application areas it can contribute to, including:
6
2 REQUIREMENT SPECIFICATIONS
This section outlines the scope, description, and specific requirements of the Emoodify
software, focusing on emotion detection, content recommendation, and user interaction. It
describes the product's perspective, functionality, users and their characteristics, operating
environment, and specific functional and behavioral requirements. The software aims to
enhance users' emotional well-being by analyzing facial expressions, recommending
personalized content, and facilitating user engagement.
Additionally, it provides use case scenarios for both regular users and administrators,
detailing actions such as profile management, user registration, emotion checking, content
review, and system improvements. The chapter concludes with a system-level use case
diagram illustrating the interactions between users, administrators, and various system
functionalities.
7
Emoodify is a standalone, web-based product designed to operate as an independent
system focused on enhancing users' emotional well-being. It is not a replacement for
existing systems but rather introduces a novel approach by combining emotion detection
and content recommendation on the basis of user emotions. The product's architecture
includes major components such as the Emotion Detection Module, Content
• Emotion Detection: Utilize Deep Learning CNN algorithms to accurately detect and
analyze users' emotions from images uploaded by the user.
• Personalized Content Recommendation: Based on the detected emotional states,
recommend tailored content to users that aligns with their current emotional needs and
preferences.
• Diverse Content Curation: Curate a wide range of content including entertainment,
inspiration, self-care tips, motivational quotes, uplifting stories, and other emotionally
enriching material.
8
• Positive User Experience: Design the platform to prioritize user experience, ensuring
ease of navigation, visually appealing interface, and seamless interaction with content and
features.
• Continuous Improvement: Regularly update and improve Emoodify based on user
feedback, technological advancements, and emerging trends in emotional wellbeing
research.
• Characteristics:
• Moderate to high frequency of use.
• Varied technical expertise.
• Access to basic functionalities.
• Requirements:
• Seamless navigation.
• User-friendly interface.
• Standard security measures.
2.2.5 Administrators:
• Characteristics:
• Moderate frequency of use.
• High technical expertise.
• Full access to all functionalities.
• Requirements:
• Advanced user controls.
9
• Enhanced security features.
• Comprehensive reporting tools.
Distinguishing Important Users: Regular users are likely to be more numerous and
represent the bulk of the user base. However, administrators are crucial for managing the
system effectively and ensuring its security and smooth operation. While regular users
require a seamless and user-friendly experience, administrators need advanced controls and
security features to fulfill their responsibilities. Both user groups are important, but
administrators might require more attention in terms of satisfying their specific requirements
to maintain the integrity and functionality of the product.
• The system shall access the image and analyze the emotion.
• It shall employ CNN algorithm to detect facial expressions and identify emotions.
• The Emotion Detection Module shall categorize emotions into predefined categories
(e.g., Happy, Sad, Angry).
• It shall provide confidence scores for each detected emotion
10
2.3.1.2 User Interaction Interface
• The system shall recommend content (videos, quotes, etc.) based on the detected emotion.
• Recommendations shall consider user preferences and feedback.
• Users shall have the option to accept or reject content recommendations.
• Accepted content shall be logged for improving future recommendations.
Actors:
• User: Interacts with the system through the User Interaction Interface.
• Admin: Admin can do improvements and check the ratings.
Use Cases:
• Profile Management:
• Actor: User
• Description: Users can manage their profiles through the User Interaction Interface. This
includes updating personal information, changing preferences, and viewing past
activities.
• User Registration:
• Actor: User
• Description: New users can register themselves in the system through the User
Interaction Interface. They provide necessary information such as username, email, and
password to create an account.
• Check Emotions:
• Actor: User
11
• Description: Users can check their emotions by uploading images or using their device's
camera through the User Interaction Interface. The Emotion Detection Module analyzes
the images and provides feedback on detected emotions.
• Content Review:
• Actor: User
• Description: Users can review recommended content through the User Interaction
Interface. They can provide ratings, comments, or feedback on the content they have
interacted with.
• Improvements:
• Actor: Admin
• Description: Admins can access system analytics and user feedback to identify areas for
improvement. They can then implement changes to enhance the system's performance,
recommendation algorithms, or user experience.
12
Figure 2 Use Case Diagram
Default:
13
Buton: Try Emoodify.
Function: It will take the user to the home page where user can check emotion.
Buton: Learn About us.
Function: It will take the user to the About page.
Home:
Buton: Result
Function: It will take the user to the result page where user can check result..
Buton: About
Function: It will take the user to the About page.
Buton: Click here to open camera
Function: It opens a pop window for user to click his/her image to check emotion.
Buton: Click here to upload image
14
Function: It opens a pop window for user to Upload his/her image to check emotion.
Result:
15
Function: It will take the user to the result page where user can check result and watch
About:
Camera Interface: The system interfaces with the device's camera for live feeds.
Device Compatibility: Compatible with devices supporting web browsers and cameras.
Operating System: Compatible with major operating systems (Windows, macOS, Linux, Android,
iOS).
Web Browser: Requires a modern web browser for the user interface.
APIs: Integrates with external APIs for supplementary services and data enrichment.
16
Synchronization: Ensures synchronization of user preferences and feedback across devices.
17
Users shall have the option to report and block specific content.
2.4.3.1 Reliability
The system shall have a minimum uptime of 99.9% for continuous availability. In the
event of a system failure, the recovery time shall not exceed 30 minutes.
2.4.3.2 Portability
The user interface shall be responsive and accessible across various devices, including
desktops, laptops, tablets, and smartphones.
The system shall be compatible with popular web browsers such as Chrome, Firefox,
Safari, and Edge.
2.4.3.3 Maintainability
Codebase shall adhere to coding standards, and the system shall be well-documented to
facilitate maintenance by future development teams.
Updates and patches shall be deployable with minimal downtime.
2.4.3.4 Usability
The User Interaction Interface shall follow industry-standard usability principles for an
intuitive and user-friendly experience.
User feedback and suggestions for interface improvements shall be periodically collected
and considered for updates.
2.4.3.5 Scalability
18
2.4.3.6 Flexibility
The system shall support future integrations with additional features or third-party
services. Modifications to content generation algorithms and emotion detection
techniques shall be easily implementable.
19
3 DESIGN SPECIFICATIONS
In this chapter, we delve into the design specifications for Emoodify, outlining the
architectural design, user interface design, database design, and other design aspects
essential for the development of the platform. This chapter provides a detailed blueprint for
how Emoodify will be structured and how users will interact with it.
3.1 Introduction
This chapter outlines the design specifications for Emoodify, covering various aspects
such as composite view point, Logical View point , Informational View point, and other
essential design elements. It provides a detailed overview of how the system will be
structured and how users will interact with it, laying the foundation for the development
phase of the project.
20
3.3 Logical Viewpoint
21
3.5 Interaction Viewpoint
22
3.6 State Dynamics Viewpoint
23
4 DEVELOPMENT AND TOOLS
In this chapter, we explore the development process and tools used in creating Emoodify. It
provides insights into the programming languages, frameworks, libraries, and development
methodologies employed to bring the platform to life. Additionally, it outlines the
development environment setup and version control system utilized for collaboration among
the development team. This chapter serves as a guide to understanding the technical
implementation and workflow behind the creation of Emoodify.
4.1 Introduction
This chapter delves into the development tools utilized in creating Emoodify. It outlines
the software and technologies employed for both frontend and backend development,
including languages, frameworks, version control systems, and integrated development
environments (IDEs). Additionally, it may discuss any other supplementary tools utilized
for testing, or deployment purposes.
Development Team:
M Azhar
M Fahad Imtiaz
Development Plan:
Task Fahad's Responsibility Azhar's Responsibility
Frontend Development (HTML/CSS) Yes Yes
Backend Development (JavaScript) Yes Yes
Backend Framework (Flask) Yes Yes
Python model Training No Yes
User Implementation Yes No
Content Recommendation Yes Yes
Testing and Debugging Yes Yes
Deployment and Server Management No Yes
24
4.3 Development Tools
In conclusion, the development of Emoodify has been a significant step towards creating a
platform focused on enhancing users' emotional well-being through emotion detection and
personalized content recommendation. As a future extension, Emoodify could explore
incorporating additional features such as:
Social integration: Allowing users to share their emotional experiences and interact with
others on the platform.
Advanced emotion analysis: Utilizing more sophisticated algorithms to detect subtle
emotional cues and provide even more tailored content recommendations.
Gamification elements: Introducing gamified challenges or activities aimed at promoting
emotional awareness and resilience.
Integration with wearable devices: Leveraging data from wearable devices to provide
real-time feedback on users' emotional states and activities.
5 QUALITY ASSURANCE
In this chapter, we focus on quality assurance measures implemented during the
development of Emoodify. It outlines the strategies, processes, and methodologies employed
25
to ensure the platform's reliability, usability, security, and performance. Additionally, it may
detail the testing frameworks, techniques, and tools utilized to verify and validate
Emoodify's functionalities and user experience. This chapter serves as a guide to
understanding how quality is assured throughout the development lifecycle of the platform.
5.1 Introduction
This chapter details the quality assurance measures undertaken for Emoodify,
encompassing testing strategies and methodologies. It outlines various types of testing
including functional, usability, security, and performance testing to ensure reliability and
accuracy. The creation of test plans, test cases, and requirement traceability matrices is
discussed to track adherence to functional requirements. Overall, these efforts aim to
guarantee a seamless user experience and the fulfillment of Emoodify's objectives.
R_01 X X
R_02 X X
Table
5.3.1: Test Date of Expected Actual Test Role Test
ID Test Name Test Description Input Output Output (Actor) Verified by
Application Launching the Tap on the app Home screen Home screen
TC_1 Start Up 28/04/2024 Emoodify application icon displayed displayed Azhar Fahad
Navigating to different Tap on Correct Correct
Application sections of the navigation section section
TC_2 Navigation 28/04/2024 application buttons displayed displayed Azhar Fahad
26
Test
Test Date of Test Role Verified
ID Test Name Test Description Input Expected Output Actual Output (Actor) by
User
Testing the python checking
TC_3 Pyton Model 28/04/2024 model emotion Emotion showed Emotion showed Azhar Fahad
Testing the User
Content recommendation interacts Recommended Recommended
TC_4 Recommendation 28/04/2024 algorithm for content with app content shown content shown Azhar Fahad
27
6 USER MANUAL
In this chapter, we provde a comprehensive user manual for Emoodify, guiding users through the
installation, operation, and usage of the web application. It includes information on hardware and
software requirements, installation procedures, and an operating manual to navigate the platform
effectively.
6.1 Introduction
we provide a comprehensive user manual for Emoodify, guiding users through the installation,
operation, and usage of the web application. It includes information on hardware and software
requirements, installation procedures, and an operating manual to navigate the platform
effectively.
28
29