CAPSTONE PROJECT REPORT
Report 4 – Software Design Document
– DaNang, August 2022 –
Table of Contents
I. Record of Changes 4
II. Software Design Document 5
1. System Design 5
1.1 System Architecture 5
1.2 Package Diagram 6
2. Database Design 8
3. Detailed Design 9
3.1 <Login> 9
3.1.1 Login Class Diagram 9
3.1.2 Login Sequence Diagram 9
3.2 Register Sensei 10
3.2.1 Register Sensei Class Diagram 10
3.2.2 Register Sensei Sequence Diagram 12
3.3 View/ Update Profile: 12
3.3.1 View/ Update Profile Class Diagram 12
3.3.2 View/ Update Sequence Diagram: 13
3.4 View Teaching Schedule 14
3.4.1 View Teaching Schedule Class Diagram 14
3.4.2 View Teaching Schedule Sequence Diagram 15
3.5 Request Cash Withdraw 15
3.5.1 Request Cash Withdraw Class Diagram 15
3.5.2 Request Cash Withdraw Sequence Diagram 16
3.6 Report Abuse/ Ban 16
3.6.1 Report Abuse/Ban Class Diagram 16
3.6.2 Report Abuse Sequence Diagram 18
3.7 Kaiwa 19
3.7.1 Kaiwa Class Diagram 19
3.7.2 Kaiwa Sequence Diagram 20
3.8 Cancel Teaching Schedule 21
3.8.1 Cancel Teaching Schedule Class Diagram 21
3.8.2 Cancel Teaching Schedule Sequence Diagram 22
3.9 Chat Schedule 22
3.9.1 Chat Sequence Diagram 22
3.10 Create Teaching Schedule 23
3.10.1 Create Teaching Schedule Class Diagram 23
3.10.2 Create Teaching Schedule Sequence Diagram 24
3.11 Rating 24
3.11.1 Rating Class Diagram 24
3.11.2 Rating Sequence Diagram 25
3.12 Register 25
3.12.1 Register Class Diagram 25
3.12.2 Register Sequence Diagram 26
3.13 Top up money 26
3.13.1 Top up money Class Diagram 26
3.13.2 Top up money Sequence Diagram 27
I. Record of Changes
Date A* In charge Change Description
M, D
*A - Added M - Modified D - Deleted
II. Software Design Document
1. System Design
1.1 System Architecture
Watch Full Diagram. Here
System architecture component description
No Component Description
01 Web app This is Hanase web app
02 ReactJs The tech for building and developing front-end
03 Spring Restful Api This component contains the APIs’ set of web app
04 Spring Data Jpa This component would be the bridge of data processing with sql server.
05 Spring boot The tech for building and developing back-end
06 Mysql This is sql server
07 Firebase This is cloud-based database service
08 Gitlab This is one of the deploy-enable app which sets a connection to app
service deployment.
09 Docker Virtual environment wrapping project and let them run on the physical
servers.
1.2 Package Diagram
Watch Full Diagram. Here
Package Descriptions
No Package Description
01 DTO This package contains the data request from FE to BE.
02 Controller This package contains APIs.
03 Service This package contains services, which are implemented from Data Layer,
with @Autowired functions embedded into each API.
04 Domain This package contains a data model, so to speak, of the entity of the app.
05 Dao This package contains the functions which are involved in data processing
with the database.
06 Utils This package contains some useful tools (functions) for handling controllers.
07 Payload This package contains a response payload of token’s defining fine.
08 Exception This package contains defined exception messages.
09 Security This package contains Jwt configuration.
10 Config This package contains other configuration files in need.
2. Database Design
Watch Full Diagram. Here
Table Descriptions
No Table Description
01 User This table contains account’s information.
02 Admin This table contains admin’s information.
03 Seito This table contains seito’s information.
04 Sensei This table contains sensei’s information.
05 Roles This table contains roles.
06 Sensei_register_request This table contains sensei register request ’s information.
07 Photo This table contains certificates of seito to register sensei.
08 Schedule This table contains kaiwa schedule’s information
09 Kaiwa_video This table contains kaiwa videos .
10 Histoy_kaiwa_with_seito This table contains the history of kaiwa with seito .
11 Schedule_mail This table contains the schedule to send mail.
12 Sensei_cash_with_draw_request This table contains information about the cash withdrawal
request of sensei .
13 Bills This table contains history payments.
14 Repost_abuse This table contains information about the reported abuse.
15 Rating This table contains rating’s information.
3. Detailed Design
3.1 <Login>
3.1.1 Login Class Diagram
Watch Full Diagram. Here
3.1.2 Login Sequence Diagram
3.2 Register Sensei
3.2.1 Register Sensei Class Diagram
Watch Full Diagram 1 . Here
Watch Full Diagram 2 . Here
3.2.2 Register Sensei Sequence Diagram
3.3 View/ Update Profile:
3.3.1 View/ Update Profile Class Diagram
Watch Full Diagram 1. Here
Watch Full Diagram 2. Here
3.3.2 View/ Update Sequence Diagram:
3.4 View Teaching Schedule
3.4.1 View Teaching Schedule Class Diagram
Watch Full Diagram 1 . Here
Watch Full Diagram 2 .Here
3.4.2 View Teaching Schedule Sequence Diagram
3.5 Request Cash Withdraw
3.5.1 Request Cash Withdraw Class Diagram
Watch Full Diagram. Here
3.5.2 Request Cash Withdraw Sequence Diagram
3.6 Report Abuse/ Ban
3.6.1 Report Abuse/Ban Class Diagram
Watch Full Diagram. Here
3.6.2 Report Abuse Sequence Diagram
3.7 Kaiwa
3.7.1 Kaiwa Class Diagram
Watch Full Diagram 1 . Here
Watch Full Diagram 2. Here
3.7.2 Kaiwa Sequence Diagram
3.8 Cancel Teaching Schedule
3.8.1 Cancel Teaching Schedule Class Diagram
Watch Full Diagram 1 . Here
Watch Full Diagram 2 .Here
3.8.2 Cancel Teaching Schedule Sequence Diagram
3.9 Chat Schedule
3.9.1 Chat Sequence Diagram
3.10 Create Teaching Schedule
3.10.1 Create Teaching Schedule Class Diagram
Watch Full Diagram 1 . Here
Watch Full Diagram 2 .Here
3.10.2 Create Teaching Schedule Sequence Diagram
3.11 Rating
3.11.1 Rating Class Diagram
Watch Full Diagram. Here
3.11.2 Rating Sequence Diagram
3.12 Register
3.12.1 Register Class Diagram
Watch Full Diagram. Here
3.12.2 Register Sequence Diagram
3.13 Top up money
3.13.1 Top up money Class Diagram
Watch Full Diagram. Here
3.13.2 Top up money Sequence Diagram