Security and Data Management: Ensure that the application adheres to high-security standards and incorporates measures to protect users'''' personal data.. - Results received from the surve
Trang 1UNIVERSITY OF INFORMATION AND
TECHNOLOGY -
Trang 21.4 Scope of the Project
2.3 Technology and Platform Methodology
2.4 Introduction to ReactJS and Node.js
CHAPTER 3 SURVEY AND REQUIREMENT ANALYSIS
3.1 Current Status Survey
3.2 List of Requirements in the Application
CHAPTER 4 SYSTEM ANALYSIS
4.1 Analysis of Software Requirements
4.2 Responsibility Matrix for Each Requirement
CHAPTER 5 SYSTEM DESIGN
5.1 General Use Case Diagram
CHAPTER 6 DATA DESIGN
6.1 Complete Logical Diagram
6.2 List of Data Entities in the Logical Diagram
6.3 Description of Each Data Table
CHAPTER 7 INTERFACE DESIGN
CHAPTER 8 PRODUCT DEMO INSTALLATION
CHAPTER 9 CONCLUSION AND FUTURE DEVELOPMENT
Trang 3CHAPTER 1 OVERVIEW
1.1 Problem Statement
Mental health is a crucial aspect of overall well-being that cannot be overlooked In today's society, the pressures from daily life, work, relationships, and various other factors can have negative impacts on our mental well-being Mental health issues not only affect personal emotions and psyche but also pose significant challenges to the public healthcare system To address this issue, modern solutions have been developed, and one of the key tools is mobile applications
Mental health applications serve not only as personal support tools but also as robust platforms for communities These applications often provide resources and tools to help users manage emotions, reduce stress, and enhance the quality of life
1.2 Solution
How this application can become an effective platform for doctor-patient interaction is a crucial aspect
in improving mental health care This platform not only helps provide personalized solutions for users but also establishes a strong bridge between doctors and patients, placing emphasis on interaction and support from healthcare experts
The application can integrate a feature for direct interaction between doctors and patients through online appointments or discussions via messaging This not only helps doctors monitor the progress of the patient's mental health but also creates a safe space for them to share difficulties and concerns An important aspect of the platform is the ability to remotely track mental health data Doctors can have an overview of the patient's mental state through information provided by the application, including stress levels, mood, and other manifestations of mental health This enables doctors to make accurate
assessments and decisions on appropriate treatment based on supported data
Additionally, the application can provide high-quality materials and resources from the medical community for doctors, helping them stay updated on the latest information and apply the most advanced methods of psychological care This enhances the knowledge and skills of doctors in addressing complex mental health issues In summary, this application platform is not only a patient support tool but also a crucial tool for doctors to interact and provide remote support, fostering a sense of safety and connection between doctors and patients throughout the mental health treatment process
In order to successfully complete the project, I conducted research on the following topics:
Trang 4⮚ Nextjs and Supporting Libraries:
designing the application interface These tools play a significant role in creating a friendly and visually appealing design for the application Adobe offers a suite of design tools, such as Adobe XD and Photoshop, which are widely used in the industry for creating graphics, prototypes, and interactive designs Figma, on the other hand, is a collaborative design tool that allows multiple team members to work on the same project simultaneously, facilitating seamless collaboration in the design process By exploring and understanding the features and capabilities of these tools, you can make informed decisions to enhance the user experience and visual design of the application
user-These research efforts play a crucial role in comprehensively understanding the technologies and tools needed to successfully implement the project They lay the foundation for the subsequent stages of development, including system analysis, design, and deployment.
1.3 Objectives of the project
To address this issue, several modern solutions have been developed, and one of the most crucial tools
is the mobile application Mental health apps serve not only as personal support tools but also as robust platforms for communities These applications typically provide resources and tools to help users
manage their emotions, reduce stress, and enhance their quality of life
1.4 Scope of the project
The objective of this project is to develop a high-quality mental health and patient-doctor interaction application, aiming to provide personalized and effective solutions for managing and improving users' mental well-being Specifically, the main goals of the project include:
Analysis and Understanding of User Needs: Conduct detailed research on the needs and desires of users
in the field of mental health to ensure that the application precisely meets their requirements
User Interface/User Experience (UI/UX) Design: Utilize tools such as Adobe and Figma to create a friendly, intuitive, and engaging user interface, optimizing the user experience
user-Integration of Technology: Employ advanced technologies to build the application with high
interactivity, while ensuring the stability and security of the system
Trang 5Doctor-Patient Interaction: Establish a platform for effective interaction between doctors and patients through online means, enabling doctors to monitor and support patients remotely
Personalization and Progress Tracking: Develop personalized features so that the application can suggest content and activities tailored to the specific mental state of the user, while providing the ability to track and evaluate progress
Security and Data Management: Ensure that the application adheres to high-security standards and incorporates measures to protect users' personal data
Community Interaction: Build a community-connecting feature that allows users to share experiences, learn from each other, and collectively overcome mental health challenges
1.5 Tools used
⮚ The development tools for this project include: Visual Studio Code
⮚ For analysis and design: Adobe Illustrator, Adobe Photoshop, and Figma are utilized
⮚ Project management is carried out using Github
⮚ Report composition and diagram creation are facilitated by Microsoft Word and draw.io
Bệnh Nhân và Người Dùng Cuối:
Nghiên cứu về trải nghiệm của bệnh nhân khi sử dụng nền tảng để giao tiếp và nhận
hỗ trợ từ bác sĩ và cộng đồng y tế
Trang 6Đánh giá mức độ hài lòng và hiệu suất của nền tảng trong việc cung cấp giải pháp
cá nhân hóa cho bệnh nhân
Chuyên Gia Y Tế và Chuyên Gia Tâm Lý:
Nghiên cứu về cách chuyên gia y tế và chuyên gia tâm lý sử dụng nền tảng để tư vấn
Trang 72.2 Research Methods
-Analyze the usage needs of objects related to the application
- Research, analyze and evaluate applications available on the market
2.3 Technological methods and platforms
- Learn languages and frameworks to build websites:
+ Backend programming language: ASP.NET
+ Frontend programming language: Javascript with Nextjs
2.4 Introducing Nextjs and NET
Nextjs
What is it?
Next.js is a React framework for building web applications It simplifies the process
of building React applications by providing a set of conventions and tools for side rendering, routing, and more
server-Key Features:
Server-Side Rendering (SSR): Next.js allows you to render React components on
the server side, providing better performance and SEO
Routing: It has a built-in routing system that simplifies the process of navigation
between pages
Static Site Generation (SSG): Next.js supports generating static websites for
improved performance and scalability
API Routes: Easily create API routes to handle server-side logic alongside your
application
Trang 8.NET:
What is it?
.NET is a free, open-source, cross-platform framework developed by Microsoft It supports building various types of applications, including web applications, APIs, mobile apps, and more
Key Features:
C# Language: NET is commonly used with the C# programming language, known for its
simplicity and versatility
ASP.NET: A web framework within the NET ecosystem, ASP.NET allows you to
build robust and scalable web applications
Cross-Platform: NET Core (now known as NET) is cross-platform, allowing
you to build and run applications on Windows, Linux, and macOS
Entity Framework: An Object-Relational Mapping (ORM) framework that
simplifies database operations
Combining Next.js and NET:
You can integrate Next.js with a NET backend by setting up API routes in Next.js that communicate with your NET backend
This combination allows you to benefit from the powerful frontend capabilities of Next.js along with the robust server-side capabilities of NET for handling business logic and data operations
Overall, Next.js and NET can be a powerful combination for building modern, performant, and scalable web applications
CHAPTER 3 SURVEY AND ANALYSIS OF REQUIREMENTS
SPECIFICATION
3.1 Current status survey
Trang 9- Method: Based on official reports and research A small-scale survey was also
conducted and received about 121 responses
- Results received from the survey:
multiple options):
3.2 The request list is included in the application
STT Request type Request name
1 Function View registration information
2 Function Register an account
3 Function Register an account
4 Function Password retrieval
5 Function Change personal information
6 Function CRUD application-related information
7 Function Appointment tracking
8 Function Decentralize doctor authority
9 Function habit management
Trang 1010 Function appoinrment management
11 Function Manage appointment status
12 Function Change Password
13 Function registration management
14 Function Look up the doctor
15 Function registration division
16 Function Log out
17 Function Select language
18 Function Search for registration
19 Function Select viewing method
20 Function Select a payment method
21 Function Request re-schedule
22 Function Cancel appointment
23 Function View news reports
24 UI Convenient, optimized Function
25 UI UI is easy to see and friendly
26 UI Beautiful animation
27 UI Reasonable arrangement
28 UI Minimize Functions
Trang 11CHAPTER 4: SYSTEM ANALYSIS
4.1 Categorize software requirements
4.1.1 System requirements
- The application meets the necessary and basic needs of patients as well as other related functions such as managing information items related to the application
4.1.2 Professional requirements
placed
register for appoitments
3 Log in Patient login through email and password
4 Password retrieval Patients can retrieve their password when
they forget it
5 Change personal information Patients can change and update new
information about themselves
6 CRUD application-related
information
Allows administrators in the system to CRUD some information related to the application
7 Registration tracking Allows all users (No need to log in) to track
registration status as long as they know the order code
Trang 128 Decentralize doctor authority Allows system administrators to assign rights
to doctor in the system
9 habit visit Allows doctor as well as to check patiet’s
habit
10 registration management Allows management and classification of
registration by status
11 Manage registration status Allows certain doctors involved in the
progress of order delivery to update the status
of the order
12 Change Password Allow users to change password
13 Create rules on the
homepage
Allows system administrators to add new rules related to the system to the home page
14 Look up the doctor Allows all users to check whether there is a
doctors match their needs
15 registrations division Allows admis and doctors to modify order
status and more
16 Log out Allows users to log out of their accounts on
the system
17 Select language Allows users to change the language
displayed on the UI (Vi-En)
18 Search for registrations Allows users to search for orders in their
registration chain
19 Select appointment type Allows the patient register to choose
appointment type
Trang 1320 Select a payment method Allows users to pay fees
21 Request re-schedule Allows the doctor and patients to request
re-schudule
22 Cancel registration Allow the person who placed the order to
cancel the registration within the allowed time period
23 View rules reports Allows users to view new rules on the
homepage
24 Register for appointments Allows patients to register for appointments
4.2 Responsibility table for each request type
STT Nghiệp vụ Người dùng Quản trị viên Phần mềm Ghi chú
Approve the input data fields
Function is within the patients's rights
Using the Function is within the patients 's rights
Restrict access to functions that
do not belong
to the correct authority
password given
in the account
Recover password for account
Must return a new
Trang 14password for each account
CHAPTER 5: SYSTEM DESIGN
5.1 General Usecase Diagram
2 Patients enters Name
3 Patients selects Gender
4 Patients selects Date of Birth
6 Patients enters Email
7 Patients enters Password
8 Patients enters Confirm password
9 Patients register
10 The system validates the format of information entered by the Patients
11 The system notifies "Successful registration" and goes to the login page
Pre-condition The Patients has connected to the Internet and accessed the registration page
Trang 17(1) BR1 When the user clicks on the registration button, the system must switch to the
account creation page Attached is a list of information about provinces and districts in Vietnam
there is an incorrect data field or missing information, then below the text box to fill in the data there will be an error line and the data box will turn red
[TextBoxColor]=”Red” Below the data box there will be a message:
⮚ Leave the data box blank: [TextError]= <<Data field name>> + “cannot be left blank”
For example: "Login name cannot be blank"
⮚ Wrong input data: [TextError]=<<Data field name>> + ”wrong type input data"
Example "Email has wrong input data type"
⮚ If the textbox enters the correct information, the label next to the textbox displays the symbol “✓”
UC2: Log in
Description Provides a Function that allows users to use 1 account to access the system
Actor Customers, employees, admin
Trigger 1 Customer/Admin enters account
2 Customer/Admin enters password
3 Customer/Admin logs in
4 The system authenticates account information and passwords
5 System for Customers/Admin to log into the system
Trang 19Input includes login form:
⮚ When customers fill in information on the Login screen
⮚ If there is an incorrect data field or missing information, then below the text box
to fill in the data there will be an error line and the data box will turn red [TextBoxColor]=”Red” Below the data box there will be a message:
Trang 20⮚ Leave the data box blank: [TextError]=”<<Data field name>>”+ “cannot be left blank” For example: "Login name cannot be blank"
⮚ Successfully logging in, the system will send the message "Login
⮚ success”
⮚ If you fail to log in, the system will send you the message "Wrong account or password"
UC3: Password retrieval
Description Provides a function that allows customers or administrators to retrieve their
password when they forget their password
Actor Customers, employees, admin
Trigger 1 Customer/Admin enters Email
2 Customer/Admin sends Email
3 The system sends the PIN code back to Email
4 Customer/Admin enters PIN code
5 Customer/Admin sends PIN code
6 Customer/Admin enters password and confirms new password
7 Customer/Admin sends password and confirms new password
Pre-condition Customer/Admin has connected to the internet and accessed the Forgot
Trang 23(1) BR1 The email entered must be the email registered to the account in the system
UC4: Management Habits
Activity diagram