Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.08 MB, 49 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>1.3 Objectives of the Project </small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><small>1.4 Scope of the Project 1.5 Tools Used </small>
<small>1.6 Target Audience </small>
<b><small>CHAPTER 2. TECHNOLOGY OVERVIEW </small></b>
<small>2.1 Working Methodology 2.2 Research Methodology </small>
<small>2.3 Technology and Platform Methodology 2.4 Introduction to ReactJS and Node.js </small>
<b><small>CHAPTER 3. SURVEY AND REQUIREMENT ANALYSIS </small></b>
<small>3.1 Current Status Survey </small>
<small>3.2 List of Requirements in the Application </small>
<b><small>CHAPTER 4. SYSTEM ANALYSIS </small></b>
<small>4.1 Analysis of Software Requirements </small>
<small>4.2 Responsibility Matrix for Each Requirement </small>
<b><small>CHAPTER 5. SYSTEM DESIGN </small></b>
<small>5.1 General Use Case Diagram </small>
<b><small>CHAPTER 6. DATA DESIGN </small></b>
<small>6.1 Complete Logical Diagram </small>
<small>6.2 List of Data Entities in the Logical Diagram 6.3 Description of Each Data Table </small>
<b><small>CHAPTER 7. INTERFACE DESIGN </small></b>
<b><small>CHAPTER 8. PRODUCT DEMO INSTALLATION </small></b>
<b><small>CHAPTER 9. CONCLUSION AND FUTURE DEVELOPMENT </small></b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>CHAPTER 1. OVERVIEW </b>
<b>1.1 Problem Statement </b>
<small>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. </small>
<small>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. </small>
<b>1.2 Solution </b>
<small>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. </small>
<small>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 </small>
<small>assessments and decisions on appropriate treatment based on supported data. </small>
<small>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. </small>
<small>In order to successfully complete the project, I conducted research on the following topics: </small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><small>⮚ Nextjs and Supporting Libraries: </small>
<small>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. </small>
<small>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.</small>
<b>1.3 Objectives of the project </b>
<small>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. </small>
<b>1.4 Scope of the project </b>
<small>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: </small>
<small>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. </small>
<small>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. </small>
<small>user-Integration of Technology: Employ advanced technologies to build the application with high interactivity, while ensuring the stability and security of the system. </small>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><small>Doctor-Patient Interaction: Establish a platform for effective interaction between doctors and patients through online means, enabling doctors to monitor and support patients remotely. </small>
<small>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. </small>
<small>Security and Data Management: Ensure that the application adheres to high-security standards and incorporates measures to protect users' personal data. </small>
<small>Community Interaction: Build a community-connecting feature that allows users to share experiences, learn from each other, and collectively overcome mental health challenges. </small>
<b>1.5 Tools used </b>
⮚ 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>1.6 Research subjects Bác Sĩ và Nhân Viên Y Tế: </b>
Nghiên cứu về cách bác sĩ và nhân viên y tế sử dụng nền tảng để theo dõi và tương tác với bệnh nhân từ xa.
Đánh giá ý kiến và trải nghiệm của bác sĩ khi sử dụng nền tảng trong việc chăm sóc sức khỏe tâm lý của bệnh nhân.
<b>Bệnh Nhân và Người Dùng Cuối: </b>
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ế.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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.
<b>Chuyên Gia Y Tế và Chuyên Gia Tâm Lý: </b>
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 và hỗ trợ bệnh nhân từ xa.
Đánh giá khả năng của nền tảng trong việc cung cấp các công cụ và tài nguyên hỗ trợ cho chuyên gia y tế.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>2.2 Research Methods </b>
<small>-Analyze the usage needs of objects related to the application. </small>
<small>- Research, analyze and evaluate applications available on the market. </small>
<b>2.3 Technological methods and platforms </b>
<b><small>- Learn languages and frameworks to build websites: </small></b>
<small>+ Backend programming language: ASP.NET </small>
<small>+ Frontend programming language: Javascript with Nextjs </small>
<b>2.4 Introducing Nextjs and .NET Nextjs </b>
<b>What is it? </b>
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 server-side rendering, routing, and more.
<b>Key Features: </b>
<b>Server-Side Rendering (SSR): Next.js allows you to render React components on </b>
the server side, providing better performance and SEO.
<b>Routing: It has a built-in routing system that simplifies the process of navigation </b>
between pages.
<b>Static Site Generation (SSG): Next.js supports generating static websites for </b>
improved performance and scalability.
<b>API Routes: Easily create API routes to handle server-side logic alongside your </b>
<b>application </b>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b><small>.NET: What is it? </small></b>
<small>.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. </small>
<b><small>Key Features: </small></b>
<b><small>C# Language: .NET is commonly used with the C# programming language, known for its </small></b>
<b><small>simplicity and versatility. </small></b>
<b>ASP.NET: A web framework within the .NET ecosystem, ASP.NET allows you to </b>
build robust and scalable web applications.
<b>Cross-Platform: .NET Core (now known as .NET) is cross-platform, allowing </b>
you to build and run applications on Windows, Linux, and macOS.
<b>Entity Framework: An Object-Relational Mapping (ORM) framework that </b>
simplifies database operations.
<b>Combining Next.js and .NET: </b>
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.
<b>CHAPTER 3. SURVEY AND ANALYSIS OF REQUIREMENTS SPECIFICATION </b>
<b>3.1 Current status survey </b>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><small>- Method: Based on official reports and research. A small-scale survey was also conducted and received about 121 responses. </small>
<small>- Results received from the survey: </small>
<small>multiple options): </small>
<b>3.2 The request list is included in the application STT Request type Request name </b>
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
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">10 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
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>CHAPTER 4: SYSTEM ANALYSIS </b>
<b>4.1 Categorize software requirements </b>
<b><small>4.1.1 System requirements </small></b>
<small>- 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. </small>
<b><small>4.1.2 Professional requirements </small></b>
<small>placed </small>
<small>register for appoitments. </small>
<small>3 </small> Log in <small>Patient login through email and password 4 </small> Password retrieval <small>Patients can retrieve their password when </small>
<small>they forget it </small>
<small>5 </small> Change personal information<small> Patients can change and update new information about themselves. </small>
6 CRUD application-related information
<small>Allows administrators in the system to CRUD some information related to the application. </small>
7 Registration tracking <small>Allows all users (No need to log in) to track registration status as long as they know the order code. </small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">8 Decentralize doctor authority <small>Allows system administrators to assign rights to doctor in the system. </small>
9 habit visit <small>Allows doctor as well as to check patiet’s habit </small>
10 registration management <small>Allows management and classification of registration by status </small>
11 Manage registration status <small>Allows certain doctors involved in the </small>
<small>progress of order delivery to update the status of the order. </small>
12 Change Password <small>Allow users to change password. </small>
13 Create rules on the homepage
<small>Allows system administrators to add new rules related to the system to the home page. </small>
14 Look up the doctor <small>Allows all users to check whether there is a doctors match their needs </small>
15 registrations division <small>Allows admis and doctors to modify order status and more </small>
16 Log out <small>Allows users to log out of their accounts on the system. </small>
17 Select language <small>Allows users to change the language displayed on the UI (Vi-En). </small>
18 Search for registrations <small>Allows users to search for orders in their registration chain. </small>
19 Select appointment type <small>Allows the patient register to choose appointment type </small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">20 Select a payment method <small>Allows users to pay fees </small>
21 Request re-schedule <small>Allows the doctor and patients to request schudule </small>
re-22 Cancel registration <small>Allow the person who placed the order to cancel the registration within the allowed time period. </small>
23 View rules reports <small>Allows users to view new rules on the homepage. </small>
24 Register for appointments <small>Allows patients to</small> register for appointments
<b>4.2 Responsibility table for each request type </b>
<b><small>STT Nghiệp vụ Người dùng Quản trị viên Phần mềm Ghi chú </small></b>
<small>information related to the application </small>
<small>CRUD information related to the application </small>
<small>Approve the input data fields </small>
<small>Function is within the patients's rights </small>
<small>Using the Function is within the patients 's rights </small>
<small>Restrict access to functions that do not belong to the correct authority </small>
<small>password given in the account </small>
<small>Recover password for account </small>
<small>Must return a new </small>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><small>password for each account </small>
<b>CHAPTER 5: SYSTEM DESIGN </b>
<b>5.1 General Usecase Diagram 5.1.1 General requirements </b>
<small>7. Patients enters Password. </small>
<small>8. Patients enters Confirm password. 9. Patients register. </small>
<small>10. The system validates the format of information entered by the Patients. 11. The system notifies "Successful registration" and goes to the login page. </small>
<b><small>Pre-condition</small></b> <small>The Patients has connected to the Internet and accessed the registration page. </small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><small>Ta The Patients’s account is created and saved on the system. </small>
<b><small>Activities Flow</small></b>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b><small>Sequence diagram</small></b>
<i><small>Business Rules</small></i>
<b><small>ActivityBR Code</small></b>
<b><small>Description</small></b>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><i><small>(1)BR1</small></i> <small> 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. </small>
<small>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 </small>
<small>[TextBoxColor]=”Red”. Below the data box there will be a message: </small>
<small>⮚ Leave the data box blank: [TextError]= <<Data field name>> + “cannot be left blank” </small>
<small>For example: "Login name cannot be blank" </small>
<small>⮚ Wrong input data: [TextError]=<<Data field name>> + ”wrong type input data". </small>
<small> Example "Email has wrong input data type" </small>
<small>⮚ If the textbox enters the correct information, the label next to the textbox displays the symbol “✓” </small>
<small>UC2: Log in </small>
<b><small>Description</small></b> <small>Provides a Function that allows users to use 1 account to access the system. </small>
<b><small>Actor</small></b> <small>Customers, employees, admin </small>
<b><small>Trigger</small></b> <small>1. Customer/Admin enters account. 2. Customer/Admin enters password. 3. Customer/Admin logs in. </small>
<small>4. The system authenticates account information and passwords. 5. System for Customers/Admin to log into the system. </small>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b><small>Pre-condition</small></b> <small>The user is connected to the internet and accesses the login page. </small>
<small>Post-The user logs into the system using the entered account. </small>
<b><small>Activities Flow</small></b>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b><small>Sequence diagram</small></b>
<i><small>Business Rules</small></i>
<b><small>ActivityBR Code</small></b>
<small>Input includes login form: </small>
<small>⮚ When customers fill in information on the Login screen. </small>
<small>⮚ 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 </small>
<small>[TextBoxColor]=”Red”. Below the data box there will be a message: </small>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><small>⮚ Leave the data box blank: [TextError]=”<<Data field name>>”+ “cannot be left blank”. For example: "Login name cannot be blank" </small>
<small>⮚ Successfully logging in, the system will send the message "Login ⮚ success”. </small>
<small>⮚ If you fail to log in, the system will send you the message "Wrong account or password" </small>
<small>UC3: Password retrieval </small>
<b><small>Description</small></b> <small>Provides a function that allows customers or administrators to retrieve their password when they forget their password. </small>
<b><small>Actor</small></b> <small>Customers, employees, admin </small>
<b><small>Trigger</small></b> <small>1. Customer/Admin enters Email. 2. Customer/Admin sends Email. </small>
<small>3. The system sends the PIN code back to Email. 4. Customer/Admin enters PIN code. </small>
<small>5. Customer/Admin sends PIN code. </small>
<small>6. Customer/Admin enters password and confirms new password. 7. Customer/Admin sends password and confirms new password. </small>
<b><small>Pre-condition</small></b><small> Customer/Admin has connected to the internet and accessed the Forgot Password page </small>
<small>Post-Newly updated Customer/Admin account password. </small>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b><small>Sequence diagram</small></b>
<i><small>Business Rules</small></i>
<b><small>ActivityBR Code</small></b>
<b><small>Description</small></b>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><i><small>(1)BR1</small></i> <small>The email entered must be the email registered to the account in the system. </small>
UC4: Management Habits Activity diagram
</div>