Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

Table of Contents

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.

1.1 System Introduction

The software, named "Emoodify," is a comprehensive web-based platform designed to enhance


users' emotional wellbeing through the integration of emotion detection, personalized content
recomendation on the basis of Emotions , and interactive features. Emoodify utilizes cutting-
edge technologies such as Deep learning CNN algorithms to detect users' emotions from Image .
The primary purpose of the software is to create a positive and uplifting user experience by
tailoring content recommendations based on the user's emotional state. Emoodify not only aims
to provide entertaining and inspirational content but also to foster a sense of happiness and
positivity in users.

1.2 Background of the System

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

• Develop a web-based platform called "Emoodify" focused on enhancing users' emotional


wellbeing.
• Integrate advanced emotion detection technology using Deep Learning CNN algorithms
to analyze users' emotions from images.
• Provide personalized content recommendations based on users' emotional states to create
a positive and uplifting user experience.
• Curate a diverse range of content including entertainment, inspiration, and positivity to
cater to users' emotional needs.
• Implement interactive features to engage users and encourage active participation in
emotional wellness activities.
• Foster a sense of happiness and positivity in users through curated content and interactive
experiences.
• Continuously update and improve Emoodify based on user feedback and advancements in
emotion detection technology.
• Ensure user privacy and data security in accordance with best practices and regulations.

1.4 Significance 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:

• Mental Health Improvement: Emoodify can serve as a positive influence, promoting


emotional wellness and mental health.
• Entertainment Industry: Integration of Emoodify in entertainment platforms can offer a
unique and engaging user experience.
• Educational Tools: Emoodify can be incorporated into educational tools to create a
positive and conducive learning environment.
• Corporate Well-being Programs: Companies can use Emoodify as part of well-being
initiatives for employees, fostering a positive work environment.

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.

2.1 Product Scope

The software is designed to provide a comprehensive platform for emotion detection,


content recommendation, and user interaction. Its primary purpose is to analyze facial
expressions, identify emotions accurately, recommend personalized content based on
detected emotions and user preferences, and facilitate user engagement through feedback
mechanisms. The software's scope encompasses functionalities related to emotion
analysis, content recommendation, user interaction, and system management, ensuring
seamless navigation, intuitive interfaces, and standard security measures. However, the
software does not extend to tasks unrelated to emotion detection, content
recommendation, user interaction, or system management, maintaining a clear focus on
its intended functionalities and user experience.

2.2 Product Description


2.2.1 Product Perspective

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

Figure 1 Product Perspective


Recommendation through API's, User Interaction Interface. The diagram below
illustrates the high-level interactions between these components:

2.2.2 Product Functionality

• 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.

2.2.3 Users and Characteristics

2.2.4 Regular Users:

• 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.

2.2.6 Operating Environment

Emoodify is designed to operate in a web-based environment with the following


requirements:
• Hardware Platform: Any device with a camera (PCs, laptops, smartphones, tablets).
• Operating System: Compatible with major operating systems (Windows, macOS, Linux,
Android, iOS).
• Software Components: Requires a modern web browser for the user interface.
• External APIs: Integration with external APIs for supplementary services and data
enrichment.

2.3 Specific Requirements


2.3.1 Functional Requirements

2.3.1.1 Emotion Detection Module

• 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 User Interaction Interface shall provide a user-friendly dashboard.


• Users shall be able to view real-time emotion feedback.
• The interface shall allow users to provide feedback on the recomended content.
• Users shall have the option to customize their preferences for content recommendations.

2.3.1.3 Content Recommendations

• 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.

2.3.2 Behavioral Requirements

 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.

2.3.3 Use Case Diagram

12
Figure 2 Use Case Diagram

2.3.4 External Interface Requirements


2.3.4.1 User Interface

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:

Figure 4 User Interface Home Page

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

videos ,read books and hear music.

About:

2.3.5 Hardware Interfaces

 Camera Interface: The system interfaces with the device's camera for live feeds.
 Device Compatibility: Compatible with devices supporting web browsers and cameras.

2.3.6 Software Interfaces

 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.

2.3.7 Communications Interfaces


Figure
 6 User
DataInterface About
Transfer: Page standard HTTP/HTTPS protocols for data transfer.
Utilizes
 Security: Implements encryption (HTTPS) for secure communication.

16
 Synchronization: Ensures synchronization of user preferences and feedback across devices.

2.4 Non-functional Requirements

2.4.1 Performance Requirements

2.4.1.1 Real-time Emotion Detection


 The Emotion Detection Module shall process live camera feeds and provide emotion feedback
within 1 second of detection.
 The system shall maintain a minimum frame rate of 15 frames per second (fps) for live camera
processing.

2.4.1.2 Content Recommendation


 The Content Recommendation APIS shall Recommend Books ,Videos, songs within 2 seconds of
receiving emotion data.
 The system shall handle concurrent content recommend requests from multiple users without a
significant decrease in performance.

2.4.2 Safety and Security Requirements

2.4.2.1 User Data Protection


 The system shall comply with data protection regulations to ensure user privacy.
 Personal information and user-generated content shall be securely stored and encrypted during
transmission.

2.4.2.2 System Access Control


 User authentication shall be required for accessing the system's administrative features.
 The system shall implement role-based access control to restrict unauthorized access to
sensitive functionalities.

2.4.2.3 Content Filtering


 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.

2.4.2.4 System Monitoring


 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.

2.4.3 Software Quality Attributes

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

 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.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.

3.2 Composite Viewpoint

Figure 7Composite View point

20
3.3 Logical Viewpoint

Figure 8 Logical View point

3.4 Information Viewpoint

Figure 9 Informational View point

21
3.5 Interaction Viewpoint

Figure 10 Interaction View point

22
3.6 State Dynamics Viewpoint

Figure 11 State Dynamic View point

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.

4.2 Development Plan

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

 HTML/CSS for frontend development


 JavaScript for backend development
 Flask for backend framework
 Pyhon for model training
 Visual Studio Code (IDE) for code editing and development

4.4 Conclusion and Future Work/Extensions

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.

5.2 Traceability Matrix


Test Case iDs
Requirement ID TC_01 TC_02 TC_03 TC_04

R_01 X X

R_02 X X

5.3 Test Plan

Test Cases for Emoodify Application Start Up

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

Test Cases for Content Recommendation and Model testing

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.

6.1.1 Hardware/Software Requirements for the System

 Compatible web browser (Chrome, Firefox, Safari, Edge)


 Internet connection

6.1.2 Installation guide for Application

 Access Emoodify website


 Check your Emotions

6.1.3 Operating Manual

 Access Emoodify website


 Navigating the home page
 Uploading images for emotion detection
 Viewing recommended content based on emotions
 Providing feedback on recommended content

28
29

You might also like