HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATE THESIS BUILD A GRADUATE THESIS MANAGEMENT SYSTEM FOR FACULITY FOR HIGH QUALITY TRAINING STUDENT NAME: STUDENT ID NGUYEN DUY POON 16110186 School year: 2016 – 2020 Major: INFORMATION TECHNOLOGY SUPERVISOR: M.Si LUONG VI MINH Ho Chi Minh, December 2020 HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATE THESIS BUILD A GRADUATE THESIS MANAGEMENT SYSTEM FOR FACULITY FOR HIGH QUALITY TRAINING STUDENT NAME: STUDENT ID NGUYEN DUY POON 16110186 School year: 2016 – 2020 Major: INFORMATION TECHNOLOGY SUPERVISOR: M.Si LUONG VI MINH Ho Chi Minh, December 2020 ASSURANCE We assure that this project is our own implementation. We do not copy, use any material or source code of others without specifying the source. We assume responsibility for violations. Ho Chi Minh, December 1st 2020 Nguyen Duy Poon iv MANY THANKS Success doesn't come from one person.
To complete this thesis, the author would like to sincerely thanks M.Si Luong Vi Minh who has supported me during this thesis processing. The project will not complete without his comments, guides, and practices. I'm very respectful and grateful for his effort. Once again, thank you very much.
Because of limited time and knowledge with many other reasons, so there will have inevitable problems, so I hope you feel free to raise your idea with me for more complete later. We sincerely thank you. Ho Chi Minh, December 1st 2020 Nguyen Duy Poon v SUMMARY INFORMATION BY VIETNAMESE 1. Các vấn đề nghiên cứu - Tìm hiểu về quy trình tổ chức khóa luận của khoa Đào tạo Chất lượng cao.
- Tìm hiểu về công nghệ lưu trữ dữ liệu Redis, MySQL và công nghệ ánh xạ đối tượng quan hệ TypeORM. - Tìm hiểu về các công nghệ để xây dựng máy chủ RESTful APIs như NodeJS, NestJS framework, Typescript giúp giải quyết rào cản về nền tảng hỗ trợ của ứng dụng công nghệ thông tin. - Tìm hiểu về các công nghệ để xây dựng ứng dụng web hiện nay như React, NextJS framework và Ant Design framework. - Tìm hiểu về Docker Engine, Tích hợp liên tục (CI), GitHub Actions, Amazon S3, Heroku và Postman trong việc phát triển, bảo trì và vận hành sản phẩm công nghệ thông tin.
Kết quả đạt được - Quy trình tổ chức khóa luận của khoa Đào tạo Chất lượng cao. - Máy chủ RESTfuls API. - Hệ thống tổ chức khóa luận cho khoa Đào tạo Chất lượng cao trên nền tảng web. vi SUMMARY INFORMATION BY ENGLISH 1.
Research issues - Research about the graduate thesis process of Faculity for High Quality Trainning. - Research about storage technologies such as Redis, MySQL and Object Relational Mapping (ORM) technology TypeORM. - Research about building RESTful APIs server technologies such as NodeJS, NestJS framework and Typescript which help solve barriers to cross-platform support of the application of information technology. - Research about building web application technologies such as React, NextJS framework and Ant Design framework.
- Research about Docker Engine, Continues Integration (CI), GitHub Actions, Amazon S3, Heroku and Postman in development, maintenance and deploy information technology product. Achieved results - Graduate thesis process of Faculity for High Quality Trainning. - RESTful APIs server. - Graduate thesis application on web platform.
vii TABLE OF CONTENT MISSION OF GRADUATION THESIS.i COMMENTARY OF SUPERVISOR. ii COMMENTARY OF REVIEWER .iv MANY THANKS. v SUMMARY INFORMATION BY VIETNAMESE.vi SUMMARY INFORMATION BY ENGLISH. vii TABLE OF CONTENT.
viii LIST OF TABLES. xii LIST OF FIGURES. Urgency and objectives of project. The urgency of project.
Objects, scope and methods of research. Scientific and practical meaning of the project. The current graduate thesis process of Faculty of High Quality Training. Participants and roles.
Overview of MySQL. MySQL in project. Overview of Redis. Redis in project.
Overview of Object-relational mapping (ORM) and TypeORM. Object-relational mapping (ORM) [6]. TypeORM in project. Overview of NodeJS.
NodeJS in project. Overview of TypeScript. TypeScript in project. Overview of NestJS.
NestJS in project. Overview of React. React in project. Overview of NextJS.
NextJS in project. Overview of Ant Design (for React). Ant Design in project. Other technologies and libraries.
Use case diagram. Use case specification. Manage defense councils. Process topic approval request.
Process topic register request. Edit review information. Edit defense information. Description for each table.
Specification of the screens. INSTALLATION AND TESTING. CONCLUSIONS AND DEVELOPMENT STRATEGY. 136 APPENDIX 1: DATABASE DIAGRAM.
138 APPENDIX 2: SCREEN FLOW. 139 x xi LIST OF TABLES Table 2. Table evaluate criteria of the defense council. Specific view lecturers.
Specific create lecturer. Specific edit lecturer. Specific delete lecturer. Specific search lecturer.
Specific view students. Specific create student. Specific edit student. Specific delete student.
Specific search student. Specific create thesis. Specific edit thesis. Specific delete thesis.
Specific active thesis. Specific inactive thesis. Specific view defense councils. Specific create defense council.
Specific edit defense council. Specific delete defense council. Specific search defense council. Specific create topic.
Specific edit topic. Specific delete topic. Specific cancel topic. Specific open register.
Specific close register. Specific send approval request. Specific withdraw approval request. Specific accept approval request.
Specific reject approval request. Specific sendback approval request. Specific send register request. Specific accept register request.
Specific reject register request. Specific edit review information. Specific edit defense information. Description for user table.
Description for user_refresh_token table. Description for lecturer table. Description for student table. Description for thesis table.
Description for thesis_lecturer table. Description for thesis_student table. Description for topic table. Description for topic_state table.
Description for topic_student table. Description for progress_report table. Description for review table. Description for council table.
Description for defense table. Description for result table. Description for comment table. Description for migrations table.
Thesis list screen specification. Create thesis screen specification. Thesis list tabscreen specification. Instructor list tabscreen specification.
Student list tabscreen specification. Topic list tab specification. Council list tab specification. Topic detail tab specification.
Approval information tab specification. Register list tab specification. Semi-progress report tab specification. Review tab specification.
Defense tab specification. Result tab specification. Libraries and software need to be installed in production. Libraries and software need to be installed in development.
List of command for install and run projects. Test case function create thesis. Test case function active thesis. Test case function create topic.
Test case function approval topic. Test case function upload report document. 132 xiv LIST OF FIGURES Figure 2. Logo of MySQL.
Logo of TypeORM. Logo of NodeJS. Logo of TypeScript. Logo of NestJS.
Logo of React. Logo of NextJS. Logo of Ant Design. Logo of Docker.
Continuous Integration life cycle. Logo of GitHub Actions. Logo of Heroku. Logo of Postman.
Use case diagram. Use case manage lecturers. Use case manage students. Use case manage theses.
Use case manage defense councils. Use case manage topics. Use case process topic approval request. Use case process topic register request.
Use case edit review information. Use case edit defense information. Workflow about graduate thesis. Thesis list screen.
Create thesis screen. Thesis detail screen. Delete thesis confirm dialog. Active thesis confirm dialog.
Inactive thesis confirm dialog. Instructor list tab. Student list tab. Topic list tab.
Create topic drawer. Council list tab. Delete council confirm dialog. Detail topic tab.
Change resiter status of topic confirm dialog. Approval information tab. Confirm action dialog. Register list tab.
Register confirm dialog. Register confirm dialog. Semi-progress report tab. Edit semi-progress information drawer.
Change result confirm dialog. Delete comment confirm dialog. Delete document report confirm dialog. Edit review drawer.
Change result confirm drawer. Change result confirm dialog. Edit defense drawer. Edit result drawer.
OVEWVIEW The graduate thesis is one of the most important parts of a student's life. At some universities, it became a required condition for graduation. Besides, it also is considered that achievement or something like a memory of university time. But the current graduate thesis process of Faculty for High Quality Training has inadequacies.
The traditional process is mostly manual or semi-computerized through social networks such as Facebook. Therefore, it makes some difficult to manage, tracking and statistics. Besides, the information about the graduate thesis between attendees can be missing because don't have general communication. With the development of information technology, every working processes are converted to computerized to optimizing resource and human force.
No exceptions, the current graduate thesis process need to replace the traditional process with a computerized process to improve the above inadequacies. As an information technology student, the author more understands than anyone else the necessity of information technology in the graduate thesis process of Faculty for High Quality Trainning. Therefore, with the agreement of Head of Infomation Technology Nguyen Dang Quang, the author choose the topic "Build a graduate thesis management system for Faculty for High Quality Training" for project of graduate thesis. Topic “Build a graduate thesis management system for Faculty for High Quality Training” is solve the issues include: - Understand the graduate thesis process of Faculty for High Quality Training, including attendee type (with permission), the states of a graduate thesis, the allowed behaviors of attendee with each state.
- Use the above process to build a graduate thesis management system for computerized the graduate thesis process, including student management, lecturer management, graduate thesis management (with graduate thesis state management). The research objects of this graduate thesis include two main objects: - The current graduate thesis process of Faculty for High Quality Training. Overview - The technologies apply to build a graduate thesis management system on the web platform. In this object, it includes smaller research objects which are separated by the following layers: + Database layer: Redis database, MySQL database, Object Relation Mapping technology TypeORM.
+ API server layer: NodeJS platform, Typescript language, NestJS framework and RESTful APIs. + Web application layer: React library, NextJS framework and Ant Design framework. + Development and deploy layer: Docker Engine, Continues Integration (CI), GitHub Actions, Amazon S3, Heroku and Postman. The research scope of this thesis is limited by the current graduate thesis process of Faculty for High Quality Training with the conclusion from experimental research results from the author during this project implementation.
To implement this project, the author was used the mixed research method between the theory research method the experimental result research method. The theory research method: conclusion of the theories from related documents through sources such as e-book, lecture and instructor knowledge. The experimental result research method: reality experience about the current graduate thesis process of Faculty for High Quality Training. Overview The content of project has scientific meaning when research and conclusion of the current graduate thesis process of Faculty for High Quality Training.
Thence, state the current process inadequacies and implement for computerize the current graduate thesis process to resolve those inadequacies. Besides, the content of the project has practical meaning when applying the knowledge was researched and information technologies to build a graduate thesis management system on the web platform. Help to solve the inadequacies and make it more convenient for the current graduate thesis process. Theoretical basis CHAPTER 2.