MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION GRADUATION THESIS INFORMATION TECHNOLOGY BUILDING WEBSITE TO SHARE EXPERTISE AND PROVIDE ASSISTANCES TO PRACTITIONERS INSTRUCTOR: PhD. MAI ANH THO STUDENT: NGUYEN MINH TRI PHAN THANH LUAN VO MINH HUNG SKL013447 Ho Chi Minh City, June 2024 HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT TOPIC: BUILDING WEBSITE TO SHARE EXPERTISE AND PROVIDE ASSISTANCES TO PRACTITIONERS Major: SOFTWARE ENGINEERING Supervisor MAI ANH THO, PhD. Students NGUYEN MINH TRI - 20110422 PHAN THANH LUAN - 20110380 VO MINH HUNG - 20110426 Ho Chi Minh, June 2024 Trang 2 SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness ******* GRADUATION THESIS TASK Students’ names: 1. Nguyen Minh Tri Student ID: 20110422 2.
Phan Thanh Luan Student ID: 20110380 3. Vo Minh Hung Student ID: 20110426 Major specification: Software engineering Lecturer: PhD. Mai Anh Tho The date of receiving the topic: 04/03/2024 Thesis submission date: 14/06/2024 1. Project name: Building a website to share expertise and provide assistance to practitioners 2.
Thesis objective: Creating a platform to connect fitness enthusiasts, share expertise, and provide assistance for practitioners. Content implementation of the topic: • Research fitness community platforms for insights. Analyze gymgoers' needs, business processes, and problem requirements. • Our application will provide both free and paid documentation and tool support for guests and clients as well.
• Technologies: ReactJS, Spring Boot, PostgreSQL, cloud storage, websocket,. • Our project is highly focused on user experience and engagement. • The project will be deployed using reliable hosting. Ho Chi Minh City, ., June, 2024 SUPERVISOR (Sign with full name) SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom - Happiness ****** SUPERVISOR’S EVALUATION SHEET Student name: Nguyen Minh Tri Student ID 1: 20110422 Student name: Phan Thanh Luan Student ID 2: 20110380 Student name: Vo Minh Hung Student ID 2: 20110426 Major specification: Software engineering Project name: Building a website to share expertise and provide assistance to practitioners.
Mai Anh Tho COMMENTARY: 1. Contents and workloads:. Recommend for defense or not?. Ho Chi Minh city, ………, June, 2024 MENTOR (Name and signature) i ACKNOWLEDGMENT We would like to express our gratitude to the professor, MSc.Mai Anh Tho, who helped us personally throughout the topic-making process in order to successfully complete this topic and this report.
We appreciate the teacher's advise from his real- world experience in helping us meet the requirements of the chosen topic, as well as his willingness to always respond to our queries and offer suggestions and corrections. time to assist us in overcoming our flaws and completing it successfully and on time. We also want to extend our sincere gratitude to the instructors in the High Quality Education Division generally and the Information Technology sector specifically for their committed expertise that has helped us build a foundation. The conditions for learning and performing effectively on the topic have been created by this topic.
We also want to express our gratitude to our classmates for sharing expertise and insights that helped us refine our topic. We created the subject and report in a little amount of time, with little expertise and numerous other technical and software project implementation difficulties. Therefore, as it is inevitable that a topic may have flaws, we eagerly await the lecturers' insightful comments in order to further our knowledge and improve for the next time. We appreciate you very much.
Finally, we would like to wish all of you teachers, ladies and gentlemen, continued health and success in your line of work with developing individuals. Again, we appreciate your kind words. We sincerely thank you. Nguyen Minh Tri | Phan Thanh Luan | Vo Minh Hung ii SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness ******* GRADUATION THESIS TASK Students’ names: 1.
Nguyen Minh Tri ID: 20110422 2. Phan Thanh Luan ID: 20110380 3. Vo Minh Hung ID: 20110426 Major specification: Software engineering Lecturer: PhD. Mai Anh Tho The date of receiving the topic: 04/03/2024 Thesis submission date: 14/06/2024 Thesis title: Building a website to share expertise and provide assistance to practitioners.
Theory: Learn about technologies: ReactJS, Spring boot, PostgreSQL, JSON Web Token. Practice: - Use Spring boot to build back end system, write API for modules in the system. - Use PostgreSQL to store system user data. - Use JSON Web Token to authenticate and authorize the API system to operate good and effective.
- Use the React library to design and process web interfaces for users work. Dissertation outline: Table of contents GRADUATION THESIS TASK ACKNOWLEDGMENT GRADUATION THESIS TASK IMPLEMENTATION PLAN TABLE OF CONTENTS iii LIST OF FIGURES LIST OF TABLES LIST OF ACRONYMS CHAPTER 1. THE URGENCY OF THE TOPIC 1. GOAL OF THE TOPIC 1.
RESEARCH APPROACH AND METHODOLOGY 1. EXPECTED RESULTS TO ACHIEVE 1. SCIENTIFIC AND PRACTICAL MEANING 1. AUTOMATION CHATBOT CHAPTER 3.
USE CASE CHAPTER 4. SYSTEM ANALYSIS AND DESIGN 4. USER INTERFACE DESIGN CHAPTER 5. IMPLEMENTATION AND TESTING 5.
TOOLS IN PROJECT 5. ADVANTAGES AND DISADVANTAGES 6. SOURCE CODE REFERENCES iv IMPLEMENTATION PLAN No Time Workload Note 1 04/03/2024 – 17/03/2024 - Research about the current status of fitness in Viet Nam. - Design use case and requirement modelling.
- Design class diagram. 2 18/03/2023 – 31/03/2024 - Install tools and environment for coding and testing. - Organize meeting for the whole members to clarify the business requirements of the project. - Write the tasks that need to be done for the project.
- Start implementing the tasks. 3 01/04/2024 – 27/04/2024 - Conduct API development based on ideas learned knowledge and documents. - Conduct user interface construction for the system. - Prepare for the midterm report (50% progress).
4 28/04/2023 – 31/05/2024 - Continue to complete the remaining parts. - Write test cases to test system features. - Conduct system testing and handle errors if they appear. v - Preparing data for the application.
5 01/06/2023 – 14/06/2024 - Deploy the website. - Meeting for preparing the presentation of project. - Write and complete reports. Hồ Chí Minh city, June 14, 2024 MENTOR (Name and signature) Nguyen Minh Tri Phan Thanh Luan | Vo Minh Hung vi TABLE OF CONTENTS ACKNOWLEDGMENT .i GRADUATION THESIS TASK.
ii IMPLEMENTATION PLAN .iv TABLE OF CONTENTS .vi LIST OF FIGURES .xi LIST OF TABLES .xv LIST OF ACRONYMS. THE URGENCY OF THE TOPIC. GOAL OF THE TOPIC. RESEARCH APPROACH AND METHODOLOGY.
EXPECTED RESULTS TO ACHIEVE. SCIENTIFIC AND PRACTICAL MEANING. Back-end side. Front-end side.
Spring Data JPA. Json Web Token (JWT). City Gym system. Non-functional requirements.
Use case diagram. Use case description. SYSTEM ANALYSIS AND DESIGN. Sequence change account information.
Sequence forget password. Sequence change new password. Sequence create post. Sequence update post.
Sequence delete post. Sequence search post. Sequence view exercise. Sequence create exercise.
Sequence update exercise. Sequence delete exercise. Sequence create program. Sequence update program.
Sequence view program. Sequence delete program. Sequence calculate BMI. Sequence calculate calorie.
Sequence assign personal trainer. Sequence track program progress. Sequence update member history. Sequence view member history.
Sequence add task. Sequence remove task. Sequence create exercise category. Sequence update exercise category.
Sequence view exercise category. Sequence view post detail. Sequence send notification. Sequence view notification list.
Sequence view notification detail. Sequence received notifications. Entity relationship diagram (ERD). Detailed description of table.
USER INTERFACE DESIGN. Category exercise page. BMI calculator page. Calorie calculator page.
Services advertisement page. Program advertisement detail page. View account profile page. View member physical body history page.
Create post form. Create exercise form. Assign personal trainer page. Manage members page.
Chat with AI. IMPLEMENTATION AND TESTING. TOOLS IN PROJECT. ADVANTAGES AND DISADVANTAGES .137 xi LIST OF FIGURES Figure 1.
Technologies using in project. Project folder structure. Unit test for features. Structure of JWT.
Action and parameter. Home page Citi Gym. Service page Citi Gym. Home page of MS.
Exercise Category page of MS. Exercise page of MS. Exercise details page of MS. Use case for guest.
Use case for member. Use case for personal trainer. Use case for admin. Sequence "Change account information".
Sequence "Forget password". Sequence "Change new password". Sequence "Create post". Sequence "Update post".
Sequence "Delete post". Sequence "Search post". Sequence "View exercise". Sequence "Create exercise".
Sequence "Update exercise". Sequence "Delete exercise". Sequence "Create program". Sequence "Update program".
Sequence "View program". Sequence "Delete program". Sequence "Calculate BMI". Sequence "Calculate calorie".
Sequence "Assign personal trainer". Sequence "Track program progress". Sequence "Update member history". Sequence "View member history".
Sequence "Add task". Sequence "Remove task". Sequence "Create exercise category". Sequence "Update exercise category".
Sequence "View exercise category". Sequence "View post detail”. Send notification sequence. View notification list sequence.
View notification detail sequence. Sequence received notifacations. Entity relationship diagram. Personal_information_config table (Database design).
Personal trainer table (Database design). Exercise_category table (Database design). Post detail page. Category exercise page.
Category exercise page (cont. Calculate BMI page. Calorie calculator page. Service advertisement page.
Program advertisement detail page. Account profile page. Member physical body page. Create post form.
Create exercise form. Assign personal trainer page. Manage member page. Chat with AI.
Front end deploy. Back end & Databse deploy .133 xv LIST OF TABLES Table 1. Table of acronyms. Comparation between Spring boot & NodeJS.
Comparation of ORMs. Comparation between React & Angular. Personal Trainer functions. Use case "Register".
Use case "Log in". User case "Reset Password". Use case “Update account information". Use case "Log out".
Use case "View post". Use case “Create post”. Use case "Update post". Use case "Delete post".
Use case “Search post”. Use case "View exercise". Use case "Search Exercise ". Use case "Update Exercise".
Use case "Delete Exercise". Use case “Create exercise”. Use case "Create Program". Use case "Update Program".
Use case "Delete program". Use case "View Program". Use case "Calculate BMI". Use case "Calculate calorie".
Use case "Assign personal trainer". Use case "Track program progress". Use case "Update member history". Use case "View member history".
Use case "Add task". Use case "Remove tasks". Use case "Create Exercise Category". Use case "View exercise category".
Use case "Update Exercise Category". Use case "Delete exercise category". Use case send notification. Use case view notification list.
Use case view notification detail. Use case received notifcation. Register UI description. Login UI description.
Blog UI description. Post detail UI description. Exercise UI description. Category exercise UI description.
Category exercise UI description. Program UI description. Calculate BMI UI description. Calorie calculator UI description.
Service advertisement UI description. Create post UI description. Create exercise UI description. Task detail UI description.
Assign personal trainer UI description. Manage member UI description. Manage blogs UI description. Package UI description.
Chat with AI UI description. Notification management UI description. Feedback UI description .131 xviii LIST OF ACRONYMS No.