1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận xây dựng ứng dụng ghi chú, quản lý tiến độ công việc cá nhân và nhóm

138 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Ghi Chú, Quản Lý Tiến Độ Công Việc Cá Nhân Và Nhóm
Tác giả Đặng Duy Bằng, Nguyễn Nhựt Tân
Người hướng dẫn ThS. Thái Thuỵ Hàn Uuyến
Trường học Trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Phần Mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 138
Dung lượng 6,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thái Thuỵ Hàn Uyển Thời gian thực hiện: Từ ngày 6/2/2023 đến ngày 25/6/2023 20 tuần Sinh viên thực hiện: - Bên cạnh đó, đối với việc quản lý các thành viên trong một nhóm có thể đánh

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐẶNG DUY BẰNG NGUYỄN NHỰT TÂN

KHOÁ LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG GHI CHÚ, QUẢN LÝ TIẾN ĐỘ CÔNG VIỆC

CÁ NHÂN VÀ NHÓM

NOTES TAKING AND TASKS TRACKING MANAGEMENT

APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐẶNG DUY BẰNG - 19521234 NGUYỄN NHỰT TÂN - 19520923

KHOÁ LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG GHI CHÚ, QUẢN LÝ TIẾN ĐỘ CÔNG VIỆC

CÁ NHÂN VÀ NHÓM

NOTES TAKING AND TASKS TRACKING MANAGEMENT

APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN:

THS THÁI THUỴ HÀN UYỂN

Trang 3

THÔNG TIN HỘI ĐỒNG CHẤM KHOÁ LUẬN TỐT NGHIỆP

Hội đồng chấm khoá luận tốt nghiệp, thành lập theo Quyết định số………

……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh

1 ……… – Chủ tịch

2 ……….………… – Thư ký

3 ……… – Ủy viên

4 ……….………… – Ủy viên

Trang 4

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Nhóm sinh viên thực hiện:

Trang 6

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Nhóm sinh viên thực hiện:

Trang 8

LỜI CẢM ƠN

Trong quá trình học tập, nghiên cứu và phát triển đề tài “Xây dựng ứng dụng

ghi chú, quản lý tiến độ công việc cá nhân và nhóm” chúng em đã nhận được sự giúp

đỡ, chỉ bảo nhiệt tình của Cô để hoàn thành đồ án này

Chúng em xin gửi lời cảm ơn chân thành đến Cô Thái Thụy Hàn Uyển vì những đóng góp không nhỏ trong quá trình phát triển đề tài Cô đã dành thời gian và tâm huyết hướng dẫn, giúp đỡ về kiến thức, tài liệu cũng như phương pháp, giúp cho quá trình nghiên cứu và phát triển được diễn ra một cách thuận lợi Chúng em xin ghi nhận những ý kiến nhận xét và lời đóng góp quý báu từ Cô giúp chúng em có thêm những ý tưởng và hướng phát triển trong tương lai

Bên cạnh đó, chúng em cũng xin được gửi lời cảm ơn đến toàn thể quý Thầy,

Cô tại trường Đại học Công nghệ Thông tin, những người đã chỉ dạy nhiệt tình và đem lại nguồn cảm hứng để chúng em có thể lấy làm động lực và phát triển trên con đường sự nghiệp phía trước

Mặc dù đã có nhiều cố gắng trong suốt quá trình thực hiện đề tài, nhưng bên cạnh đó vẫn còn có những mặt hạn chế, thiếu sót Chúng em rất mong nhận được ý kiến, đóng góp của quý Thầy, Cô để có được những kinh nghiệm quý báu lấy làm hành trang trong tương lai

Chúng em xin trân trọng cảm ơn!

TP Hồ Chí Minh, tháng 7 năm 2023

Nguyễn Nhựt Tân Đặng Duy Bằng

Trang 9

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày…tháng…năm 2023

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng ứng dụng ghi chú, quản lý tiến độ công việc cá nhân và nhóm

Cán bộ hướng dẫn: ThS Thái Thuỵ Hàn Uyển

Thời gian thực hiện: Từ ngày 6/2/2023 đến ngày 25/6/2023 (20 tuần)

Sinh viên thực hiện:

- Bên cạnh đó, đối với việc quản lý các thành viên trong một nhóm có thể đánh giá được hiệu quả và thời gian hoàn thành công việc, từ đó người dùng có thể biết được chính xác năng lực của từng người để phân chia công việc một cách hợp lý

Trang 10

Phạm vi:

Phạm vi khoá luận hướng đến việc xây dựng ứng dụng di động tập trung phát triển trên hệ điều hành iOS và Android cùng với các chức năng chính sau:

- UI/UX: Đầu tiên sẽ mang lại trải nghiệm thân thiện với người dùng

- Authentication: Đăng nhập, đăng ký,…

- Note: Tạo ghi chú mới, gợi ý các mẫu ghi chú, phân loại ghi chú,…

- Reminder: Tạo lịch nhắc nhở, theo dõi tiến độ qua timeline,…

- Project: Tạo dự án và quản lý công việc của nhiều thành viên, đánh giá hiệu quả làm việc qua từng task,…

- Task: Tạo task cho thành viên, theo dõi tiến độ và cập nhật trạng thái liên tục, tìm kiếm, tính năng đề xuất thành viên phù hợp với công việc dựa vào chủ đề áp dụng Content-based recommendation system

- Chat Group, Chatbot (Chat realtime giữa các thành thành viên và kết hợp chatbot OpenAI)

- Statistic: Thống kê lại kết quả làm việc sau thời gian được quy định, cho điểm từng thành viên trong một dự án,…

- Notification: Nhận các thông báo khi có các hoạt động mới,…

Đối tượng sử dụng:

- Là những cá nhân muốn quản lý công việc một cách hiệu quả, tạo cho mình một thói quen ghi chú hàng ngày, cần một nơi để lưu trữ những thông tin cần thiết để ghi nhớ, tạo lịch nhắc nhở cho những công việc sắp tới, làm chủ thời gian để quản lý công việc một cách tốt nhất

- Là các tổ chức, nhóm muốn quản lý công việc của nhiều người, theo dõi tiến độ cũng như quá trình làm việc của các thành viên,…

- Về số lượng người dùng tải và sử dụng ứng dụng là không giới hạn

Về số lượng người dùng đồng thời tạm thời ước tính khoảng 100 người dùng

Trang 11

- Ứng dụng không phân chia lĩnh vực cụ thể, các tính năng quản lý, ghi chú hầu như phù hợp cho mọi công việc, cụ thể là các công việc đòi hỏi sự liên tục, tiến độ cập nhật thường xuyên Tuy nhiên về sau có thể cải tiến thêm cho các lĩnh vực cụ thể đi kèm thêm các nghiệm cụ tương ứng với từng lĩnh vực đó để ứng dụng có thể đi sâu vào từng ngành nghề tìm ra các phương pháp quản lý hiệu quả hơn

- Áp dụng mô hình tiếp cận lặp (Iterative Model) trong quá trình thực hiện và xây dựng ứng dụng Một chuỗi quá trình thực hiện sẽ được lặp

đi lặp lại từ lúc bắt đầu đến khi hoàn thành sản phẩm và báo cáo, sau mỗi chu kỳ sẽ có kết quả của quá trình đó, tiếp theo thực hiện review sau mỗi giai đoạn cho đến khi có sản phẩm cuối cùng

Kết quả mong đợi:

- Hiểu rõ về công nghệ, nắm được các kiến thức cơ bản và cách hoạt động của công nghệ được sử dụng

- Nắm được vòng đời của một ứng dụng hiểu được cách vận hành, từ lúc khởi động đến khi kết thúc

Trang 12

- Biết sử dụng các công cụ để phát triển, hỗ trợ trong quá trình thực hiện

Kế hoạch và phương pháp thực hiện: (Nêu lên quy trình, thứ tự thực hiện công việc, kế hoạch phân công và nhiệm vụ của từng sinh viên tham gia)

- Tham khảo ứng dụng tương tự, liệt kê các chức năng cần có, phân tích yêu cầu, mô tả chi tiết (𝟐)

- Thiết kế giao diện màn hình trên figma.com, logic các xử lý màn hình (𝟑)

- Tạo thư mục quản lý tiến độ, cập nhật tài liệu liên tục trên drive (𝟒)

Bằng, Tân

Trang 13

- Liệt kê các API cần thiết cho ứng dụng (𝟔)

- Soạn file ngôn ngữ cho ứng dụng (𝟕)

- Build source code frontend, backend (𝟖)

- Thiết kế kiến trúc source code (𝟗)

Bằng, Tân

- Setup môi trường, server deploy, cloud,… (𝟏𝟐)

- Coding frontend, các màn hình onboard, authentication (𝟏𝟑)

Bằng, Tân

- Coding logic cho từng màn hình (𝟏𝟔)

- Coding backend, viết các API theo danh sách liệt kê trước đó (𝟏𝟕)

- Review code qua lại trong quá trình làm việc để

hạn chế conflict (𝟏𝟖)

Bằng, Tân

Trang 14

- Liên kết frontend với backend, map data vào ứng dụng (𝟏𝟗)

- Test theo test case, fix bug (𝟐𝟏)

- Hoàn thiện báo cáo, slide thuyết trình, tài liệu (𝟐𝟐)

- Sẵn sàng demo (𝟐𝟑)

Bằng, Tân

Ghi chú: Các công việc được phân chia đồng đều cho các thành viên, với mỗi công việc sẽ được một người phụ trách chính và người còn lại trong nhóm có trách nhiệm review, góp ý, thay đổi và cải thiện (nếu có)

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

Thái Thuỵ Hàn Uyển

Trang 15

MỤC LỤC

TÓM TẮT KHOÁ LUẬN TỐT NGHIỆP 1

CHƯƠNG 1: TỔNG QUAN 3

1.1 Giới thiệu đề tài 3

1.2 Lý do chọn đề tài 3

1.3 Mục tiêu 4

1.4 Phạm vi 5

1.5 Phương pháp thực hiện 6

1.6 Kết quả dự kiến 7

1.7 Hiện trạng bài toán 7

1.7.1 Các ứng dụng liên quan 8

1.7.2 Đánh giá hiện trạng và hướng giải quyết 11

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 13

2.1 Công cụ quản lý và phát triển 13

2.1.1 Visual Studio Code 13

2.1.2 Xcode 14

2.1.3 Android Studio 15

2.1.4 Github 16

2.1.5 Bitbucket 17

2.1.6 Postman 18

2.1.7 Figma 19

2.2 Công nghệ sử dụng 20

2.2.1 React (Framework7) 20

2.2.2 Cordova 21

Trang 16

2.2.4 MongoDB Atlas (noSQL) 22

2.2.5 Javascript (Typescript) 23

2.2.6 Firebase 24

2.2.7 Socket.io 25

2.2.8 Nodemailer 26

2.2.9 Chatbot GPT - OpenAI 27

2.3 Content-Based Recommendation System 28

2.3.1 Tổng quan 28

2.3.2 Các khái niệm liên quan 28

2.3.3 Áp dụng vào dự án 28

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG 33

3.1 Phân tích yêu cầu hệ thống 33

3.1.1 Phân tích yêu cầu chức năng 33

3.1.2 Phân tích yêu cầu phi chức năng 34

3.1.3 Phân tích yêu cầu người dùng 34

3.2 Phân tích thiết kế hệ thống 63

3.2.1 Thiết kế xử lý 63

3.2.2 Thiết kế cơ sở dữ liệu 68

3.2.3 Thiết kế kiến trúc hệ thống 79

3.2.4 Thiết kế giao diện 83

3.3 Triển khai hệ thống 96

3.3.1 Máy chủ 96

3.3.2 Ứng dụng di động 96

3.4 Testing 97

3.4.1 Testing methods 97

3.4.2 Test case 97

CHƯƠNG 4: KẾT LUẬN 110

Trang 17

4.1 Kết quả đạt được 110

4.2 Thuận lợi và khó khăn 111

4.2.1 Thuận lợi 111

4.2.2 Khó khăn 111

4.3 Hướng phát triển 111

4.4 Kết luận 112

TÀI LIỆU THAM KHẢO 114

Trang 18

DANH MỤC HÌNH

Hình 1-1: Logo ứng dụng Notion 8

Hình 1-2: Logo ứng dụng Taio 9

Hình 1-3: Logo ứng dụng Redmine 9

Hình 1-4: Logo backlog 10

Hình 2-1: logo ứng dụng Visual Studio Code 13

Hình 2-2: Logo ứng dụng Xcode 14

Hình 2-3: Logo ứng dụng Android Studio 15

Hình 2-4: Logo Github 16

Hình 2-5: Logo Bitbucket 17

Hình 2-6: Logo ứng dụng Postman 18

Hình 2-7: Logo ứng dụng Figma 19

Hình 2-8: Logo React và Framework7 20

Hình 2-9: Logo Cordova 21

Hình 2-10: NodeJs và ExpressJs 22

Hình 2-11: MongoDb 22

Hình 2-12: JavaScript và TypeScript 23

Hình 2-13: Firebase cloud services 24

Hình 2-14: Socket.IO 25

Hình 2-15: NodeMailer 26

Hình 2-16: Chatbot GPT – OpenAI 27

Hình 2-17: Trọng số Weighted Topic Matrix 31

Hình 2-18: Độ phù hợp và tương đồng của các chủ đề 32

Hình 3-1 Sơ đồ Usecase toàn hệ thống 36

Hình 3-2 Sơ đồ kiến trúc tổng thể 79

Hình 3-3 Sơ đồ kiến trúc ứng dụng di động 81

Hình 3-4: Màn hình đăng nhập 87

Hình 3-5: Màn hình đăng ký 87

Hình 3-6: Màn hình xác thực email 87

Trang 19

Hình 3-7: Màn hình cung cấp thông tin 87

Hình 3-8: Màn hình quên mật khẩu 88

Hình 3-9: Màn hình danh sách các ghi chú 88

Hình 3-10: Màn hình ghi chú văn bản 88

Hình 3-11: Màn hình ghi chú hình vẽ 88

Hình 3-12: Màn hình ghi chú chi tiết 89

Hình 3-13: Màn hình danh sách mẫu ghi chú 89

Hình 3-14: Màn hình danh mục phân loại 89

Hình 3-15: Màn hình danh sách nhắc nhở 89

Hình 3-16: Màn hình tạo nhắc nhở 90

Hình 3-17: Màn hình danh sách thông báo 90

Hình 3-18: Màn hình thống kê tiến độ của cá nhân người dùng 90

Hình 3-19: Màn hình hồ sơ cá nhân 90

Hình 3-20: Màn hình cập nhật thông tin 91

Hình 3-21: Màn hình danh sách dự án 91

Hình 3-22: Màn hình tạo dự án 91

Hình 3-23: Màn hình chức năng dự án 91

Hình 3-24: Màn hình danh mục dự án 92

Hình 3-25:Màn hình danh sách công việc 92

Hình 3-26: Màn hình công việc chi tiết 92

Hình 3-27: Màn hình bình luận công việc 92

Hình 3-28: Màn hình trò chuyện nhóm 93

Hình 3-29: Màn hình ghim tin nhắn 93

Hình 3-30: Màn hình quản lý thành viên 93

Hình 3-31: Màn hình thông tin thành viên 93

Hình 3-32: Màn hình danh sách file 94

Hình 3-33: Màn hình đánh giá thành viên 94

Hình 3-34: Màn hình đánh giá chi tiết 94

Trang 20

Hình 3-36: Màn hình cột mốc dự án 95

Hình 3-37: Màn hình nhắc nhở công việc 95

Hình 3-38: Màn hình hoạt động dự án 95

Hình 3-39: Màn hình Gantt Chart 95

Trang 21

DANH MỤC BẢNG

Bảng 2-1: Tập dữ liệu chủ đề các công việc của một thành viên 29

Bảng 2-2: Input Member Ratings 30

Bảng 2-3: Tập đặc trưng 30

Bảng 2-4: Độ phù hợp với công việc 31

Bảng 2-5: Mã hoá công việc bằng One-hot encoding 31

Bảng 3-1 Bảng mô tả Actors của ứng dụng 37

Bảng 3-2 Bảng mô tả các Actors trong dự án 37

Bảng 3-3 Bảng danh sách và mô tả các Use case của ứng dụng 37

Bảng 3-4 Bảng đặc tả chi tiết chức năng đăng ký - A001 40

Bảng 3-5 Bảng đặc tả chi tiết chức năng đăng nhập - A002 41

Bảng 3-6 Bảng đặc tả chi tiết chức năng khôi phục mật khẩu - A003 42

Bảng 3-7 Bảng đặc tả chi tiết chức năng đổi mật khẩu - A004 43

Bảng 3-8 Bảng đặc tả chi tiết chức năng ghi nhớ tài khoản - A005 43

Bảng 3-9 Bảng đặc tả chi tiết chức năng cập nhật thông tin cá nhân - A006 44

Bảng 3-10 Bảng đặc tả chi tiết chức năng quản lý ghi chú - N001 45

Bảng 3-11 Bảng đặc tả chi tiết chức năng sử dụng mẫu ghi chú có sẵn - N002 46

Bảng 3-12 Bảng đặc tả chi tiết chức năng phân loại ghi chú - N003 47

Bảng 3-13 Bảng đặc tả chi tiết chức năng quản lý phân loại - N004 48

Bảng 3-14 Bảng đặc tả chi tiết chức năng tìm kiếm ghi chú - N005 49

Bảng 3-15 Bảng đặc tả chi tiết chức năng quản lý lời nhắc – R001 50

Bảng 3-16 Bảng đặc tả chi tiết chức năng quản lý dự án - P001 51

Bảng 3-17 Bảng đặc tả chi tiết chức năng quản lý thành viên - P002 52

Bảng 3-18 Bảng đặc tả chi tiết chức năng quản lý công việc - P003 54

Bảng 3-19 Bảng đặc tả chi tiết chức năng quản lý bình luận - P004 55

Bảng 3-20 Bảng đặc tả chi tiết chức năng quản lý tài liệu, mô tả - P005 56

Bảng 3-21 Bảng đặc tả chi tiết chức năng trò chuyện nhóm – P006 57

Bảng 3-22 Bảng đặc tả chi tiết chức năng quản lý tệp tin - P007 58

Trang 22

Bảng 3-24 Bảng đặc tả chi tiết chức năng quản lý cột mốc - P009 60 Bảng 3-25 Bảng đặc tả chi tiết chức năng quản lý hoạt động - P010 61 Bảng 3-26 Danh sách các thuộc tính "User" 69 Bảng 3-27 Danh sách các thuộc tính của "Verify Code" 70 Bảng 3-28 Danh sách các thuộc tính của "Note" 70 Bảng 3-29 Danh sách các thuộc tính của "Category" 71 Bảng 3-30 Danh sách các thuộc tính của "Reminder" 71 Bảng 3-31 Danh sách các thuộc tính của "Project" 72 Bảng 3-32 Danh sách các thuộc tính của "Wiki" 73 Bảng 3-33 Danh sách các thuộc tính của "Activity" 73 Bảng 3-34 Danh sách các thuộc tính của "Milestone" 74 Bảng 3-35 Danh sách các thuộc tính của "File" 74 Bảng 3-36 Danh sách các thuộc tính của "Message" 75 Bảng 3-37 Danh sách các thuộc tính của "Task" 76 Bảng 3-38 Danh sách các thuộc tính của "Comment" 77 Bảng 3-39 Danh sách các thuộc tính của "Notification" 77 Bảng 3-40 Danh sách các thuộc tính của "Task Review" 78 Bảng 3-41 Danh sách các thuộc tính “Recommend Assignee” 79 Bảng 3-42 Danh sách các màn hình của ứng dụng 83 Bảng 3-43 Testcase chức năng "Đăng ký" 97 Bảng 3-44 Testcase chức năng "Đăng nhập" 99 Bảng 3-45 Testcase chức năng "Quên mật khẩu" 100 Bảng 3-46 Testcase chức năng "Tạo ghi chú" 102 Bảng 3-47 Testcase chức năng "Tạo reminder" 104 Bảng 3-48 Testcase chức năng "Tạo dự án" 105 Bảng 3-49 Testcase chức năng "Tạo công việc" 106

Trang 23

DANH MỤC TỪ VIẾT TẮT

1 AI Artificial Intelligence

2 API Application Programming Interface

3 ChatGPT Chat Generative Pre-training Transformer

4 CDN Content Delivery Network

5 DB Database

6 DOM Document Object Model

7 ERD Entity Relationship Diagram

8 HTTP(s) Hypertext Transfer Protocol (security)

9 IDE Integrated Development Environment

10 JS JavaScript

11 LLMs Large Language Models

12 MST MobX State Tree

13 UML Unified Modeling Language

14 UC Usecase

15 UI /UX User Interface/User Experience

16 SQL Structured Query Language

17 SMTP Simple Mail Transfer Protocol

18 SDK Software Development Kit

19 SSL Secure Sockets Layer

20 TS Typescript

Trang 24

TÓM TẮT KHOÁ LUẬN TỐT NGHIỆP

Với đề tài "Xây dựng ứng dụng ghi chú, quản lý tiến độ công việc cá nhân và nhóm", ứng dụng nhằm mục đích cung cấp một nền tảng cho người dùng ghi chú và quản lý công việc cá nhân cũng như công việc nhóm một cách dễ dàng và hiệu quả Người dùng có thể tạo ghi chú, thêm các công việc, đặt thời hạn, phân loại, thực hiện theo dõi tiến độ và chia sẻ công việc với các thành viên trong nhóm

Phía front-end, đề tài sử dụng Framework7, một framework di động được xây dựng dựa trên HTML, CSS và JavaScript Framework7 cung cấp các thành phần giao diện sẵn có và khả năng tương thích với React, một thư viện JavaScript phổ biến cho việc xây dựng giao diện người dùng tương tác Kết hợp giữa framework7 và React giúp tạo ra một giao diện thân thiện, trực quan và linh hoạt cho ứng dụng

Phía back-end, đề tài sử dụng Node.js, một môi trường chạy mã JavaScript phía máy chủ, và Express, một framework ứng dụng web để xây dựng các API và xử lý các yêu cầu từ phía máy khách Sử dụng Node.js và Express giúp xây dựng một cơ

sở dữ liệu và các API để quản lý ghi chú và công việc, lưu trữ thông tin và cung cấp chức năng tương tác với phía front-end

Tóm lại, đề tài nhằm xây dựng một ứng dụng di động ghi chú và quản lý công việc cá nhân và nhóm, sử dụng framework7 kết hợp React cho phần giao diện người dùng và Node.js kết hợp Express cho phần xử lý logic phía máy chủ Ứng dụng này giúp người dùng dễ dàng tạo, quản lý và chia sẻ công việc cá nhân và công việc nhóm

Trang 25

Nội dung khoá luận tốt nghiệp được trình bày trong 4 chương:

- Chương 01: Tổng quan

Trình bày sơ lược và lý do thực hiện đề tài

Xác định phạm vi, mục tiêu mà đề tài hướng tới Trình bày hiện trạng, đưa ra giải pháp cũng như hướng giải quyết tối ưu

Trang 26

CHƯƠNG 1 : TỔNG QUAN

1.1 Giới thiệu đề tài

Trong thời đại số hóa hiện nay, ghi chú đã trở thành một phần quan trọng của cuộc sống hàng ngày Tuy nhiên, việc quản lý và theo dõi ghi chú trên nhiều nền tảng

và thiết bị có thể trở nên khó khăn Mục tiêu của khoá luận này là xây dựng một hệ thống quản lý ghi chú đơn giản và linh hoạt, giúp người dùng tổ chức và truy cập ghi chú một cách hiệu quả, nhanh chóng thông qua chiếc smartphone của mình

Trong quá trình nghiên cứu, chúng em đã tiến hành các thử nghiệm Trước tiên, chúng em đã xem xét các ứng dụng và công cụ ghi chú hiện có trên thị trường để hiểu

rõ về các tính năng và ưu điểm của chúng Sau đó, phân tích các yêu cầu và nhu cầu của người dùng trong việc quản lý ghi chú

Dựa trên các nghiên cứu và phân tích trên, chúng em đã lên ý tưởng thiết kế và triển khai một hệ thống kết hợp các tính năng ghi chú với các tính năng quản lý công việc cho một nhóm, tổ chức thành một ứng dụng trên điện thoại di động giúp người dùng có thể linh hoạt quản lý được cả công việc cá nhân và nhóm trên cùng một hệ thống Ngoài ra, nó cũng cung cấp tính năng nhắc nhở và phân loại ghi chú để giúp người dùng tổ chức công việc một cách hiệu quả, duy trì sự sắp xếp trong cuộc sống hàng ngày

1.2 Lý do chọn đề tài

Ghi chú là một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta Hầu hết mọi người sử dụng ghi chú để ghi lại thông tin quan trọng, tạo danh sách công việc hoặc ghi chú ý tưởng Từ đó, tạo ra một hệ thống quản lý ghi chú hiệu quả

có thể đáp ứng nhu cầu người dùng

Công nghệ thông tin đang phát triển mạnh mẽ và đã tạo ra nhiều công cụ và ứng dụng quản lý thông tin cá nhân Áp dụng công nghệ thông tin vào quản lý ghi chú có thể cung cấp một cách tiện lợi, linh hoạt và hiệu quả để tổ chức và truy cập ghi chú

Trang 27

Mặc dù có nhiều ứng dụng ghi chú hiện có trên thị trường, nhưng vẫn còn những thiếu sót và hạn chế Một số ứng dụng quản lý ghi chú không đủ linh hoạt hoặc không cung cấp đầy đủ tính năng để đáp ứng nhu cầu đa dạng của người dùng Do đó, việc nghiên cứu và phát triển một hệ thống quản lý ghi chú tốt hơn có thể mang lại lợi ích cho người dùng

Và cuối cùng là sự kết hợp giữa quản lý và ghi chú, Quản lý ghi chú không chỉ đơn thuần là việc ghi lại thông tin, mà còn liên quan đến việc tổ chức, tìm kiếm và theo dõi các ghi chú Việc nghiên cứu cách kết hợp quản lý công việc và ghi chú trong một hệ thống có thể mang lại giá trị gia tăng cho người dùng Giúp người dùng vừa đạt được mục tiêu cá nhân mà bên cạnh đó cũng có thể theo dõi được tiến độ công việc của thành viên trong nhóm

1.3 Mục tiêu

Ứng dụng được xây dựng với mục tiêu tạo ra giao diện người dùng thân thiện

và dễ sử dụng dành cho hệ thống quản lý ghi chú Điều này giúp người dùng có thêm thiện cảm và tạo thói quen ghi chú công việc, bên cạnh đó cũng có thể quản lý công việc cùng nhau

Cung cấp tính năng linh hoạt và đa dạng, các tính năng như tạo danh sách công việc, tạo danh mục phân loại, đặt lịch nhắc nhở, quản lý các tài liệu, liên lạc trao đổi trực tiếp với nhau thông qua chatbot Điều này giúp người dùng tổ chức công việc, theo dõi tiến trình và tăng cường hiệu suất làm việc

Ngoài những mục tiêu về tính ứng dụng, việc nghiên cứu, thực hiện đề tài góp phần phát triển vào khả năng tự học, tự nghiên cứu, mong muốn được trau dồi thêm kiến thức mới, tiếp thu những tiến bộ về kỹ thuật, bắt kịp xu hướng công nghệ trong thời đại kỹ thuật 4.0 hiện nay

Trang 28

- Project Management (Tìm kiếm, thêm, xoá, cập nhật):

+ Wiki Management (Thêm, xoá, cập nhật các mô tả, những thông tin, tài liệu cho dự án, nhập thông tin từ ghi chú có sẵn)

+ Task Management (Tìm kiếm, thêm, xoá, cập nhật, ghi nhận lịch sử thay đổi, lưu trữ thông tin tiến độ, có đề xuất thành viên phù hợp với công việc dựa vào chủ đề áp dụng Content-based Recommendation System)

+ Comment Management (Thêm, xoá, cập nhật, trao đổi thông tin trong mỗi task giữa các thành viên, tag tên và thông báo đến các thành viên)

+ Update History Management (Tự động lưu trữ các cập nhật khi các thông tin của task được thay đổi từ người dùng)

+ Member Management (Thêm, xoá, phân quyền cho các thành viên trong

dự án, giao việc cho thành viên, xem hồ sơ của thành viên)

+ Chat Group, Chatbot (Trò chuyện thời gian thực giữa các thành thành viên

và kết hợp chatbot OpenAI)

+ File Management (Thêm, xoá, cập nhật các file với nhiều định dạng khác nhau)

+ Weekly Report Management (Biểu đồ phân tích thống kê hoạt động của

dự án và các thành viên, từ những thông tin được lưu trữ thông qua tiến độ

Trang 29

làm việc trên các task của các thành viên, tính toán thể hiển tổng quan tiến

độ hiện tại của các công việc và các thành viên có trong tuần, thông tin tiến

độ chi tiết của các thành viên)

- Personal Progress Management (Thống kê các công việc, các nhắc nhở hiện

có và đã hoàn thành trong tuần, hiển thị thời gian, tiến độ hiện tại)

- App Setting Management (Cập nhật thông tin cá nhân, cài đặt ghi nhớ tài khoản cho lần đăng nhập tới, cài đặt cho thông báo đến người dùng, tính năng

bị kế hoạch cho bước tiếp theo

- Áp dụng mô hình tiếp cận lặp (Iterative Model) trong quá trình thực hiện và xây dựng ứng dụng Một chuỗi quá trình thực hiện sẽ được lặp đi lặp lại từ lúc bắt đầu đến khi hoàn thành sản phẩm và báo cáo, sau mỗi chu kỳ sẽ có kết quả của quá trình đó, tiếp theo thực hiện review sau mỗi giai đoạn cho đến khi có sản phẩm cuối cùng

Trang 30

- Biết sử dụng các công cụ để phát triển, hỗ trợ trong quá trình thực hiện dự án

- Ứng dụng có độ hoàn thiện cao, đáp ứng đủ các yêu cầu đã đề ra, người dùng

có thể sử dụng ngay lập tức

- Giao diện thân thiện, đem lại trải nghiệm tốt với người dùng, dễ sử dụng

- Tài liệu và quá trình làm việc được ghi lại đầy đủ và rõ ràng đáp ứng cho việc cải tiến và sửa lỗi sau này, có thể được kế thừa bởi những người sau

1.7 Hiện trạng bài toán

Hiện trạng của đề tài "Quản lý và ghi chú" là một lĩnh vực có nhiều ứng dụng

và công cụ hiện có Có rất nhiều ứng dụng di động và hay các phần mềm máy tính đã được phát triển để hỗ trợ quản lý ghi chú Một số ứng dụng phổ biến bao gồm Evernote, OneNote, Google Keep, Apple Notes hoặc kể đến các ứng đa nền tảng như Notion, Trello và còn nhiều ứng dụng khác

Các ứng dụng hiện có thường cung cấp các tính năng như tạo ghi chú văn bản, gắn kết hình ảnh và tệp tin, sắp xếp ghi chú theo danh sách hoặc thẻ, và đôi khi cung cấp tính năng đồng bộ hóa và chia sẻ Một số ứng dụng cũng cung cấp tính năng nhắc nhở và tích hợp với các công cụ khác như lịch và email

Tuy nhiên, mặc dù có nhiều ứng dụng hiện có, vẫn còn một số hạn chế và thiếu sót Một số ứng dụng có thể hạn chế tính linh hoạt trong việc tổ chức và phân loại ghi chú Ngoài ra, cũng có thể xảy ra vấn đề về bảo mật và quyền riêng tư của dữ liệu ghi chú khi sử dụng các ứng dụng của bên thứ ba

Do đó, việc nghiên cứu và phát triển một hệ thống quản lý ghi chú tốt hơn kết hợp với việc quản lý công việc theo nhóm trên cùng một ứng dụng mà không cần

Trang 31

thông qua bất kỳ trung gian nào vẫn có thể tạo nên một giá trị tốt Mục tiêu là cung cấp một giải pháp linh hoạt, an toàn và dễ sử dụng hơn, đáp ứng các nhu cầu đa dạng của người dùng và giúp tăng cường hiệu suất làm việc và tổ chức thông tin cá nhân

Notion cho phép người dùng tạo ra các trang và bảng, tổ chức chúng vào danh mục và chủ đề khác nhau Có thể tạo ghi chú văn bản, bảng tính, danh sách công việc, sắp xếp hình ảnh và tệp tin, và thậm chí nhúng các nội dung từ các nguồn bên ngoài như video, trang web, hay file âm thanh Bên cạnh đó, có thể tạo các mục con, đặt thẻ, gắn kết liên kết giữa các trang và tạo mối liên kết logic giữa chúng Điều này giúp tạo ra một mô hình tổ chức thông tin phù hợp với nhu cầu cá nhân hoặc công việc

Notion cũng hỗ trợ tính năng chia sẻ và làm việc nhóm, cho phép mời thành viên khác tham gia và cùng chỉnh sửa nội dung Có thể tạo các dự án chung, giao nhiệm vụ, và theo dõi tiến trình làm việc

Tính linh hoạt và khả năng tùy chỉnh cao làm cho Notion trở thành một công cụ hữu ích cho nhiều mục đích, từ quản lý công việc cá nhân, ghi chú học tập, tới quản

Trang 32

1.7.1.2 Taio – Markdown Editor

Hình 1-2: Logo ứng dụng Taio [20]

Một ứng dụng hiện đại để xử lý văn bản (Markdown) trên iPhone, iPad và Mac, mang đến trải nghiệm liền mạch cho các quy trình công việc văn bản, chỉnh sửa đánh dấu và bảng tạm Mặc dù độ phổ biến của nó không được cao nhưng những tính năng

mà nó mang lại rất hữu ích cho một số ngành nghề đặc trưng

Ngoài ra Taio[20] còn có thể quản lý từ các file từ những file riêng lẻ cho đến thư mục giúp người dùng dễ dàng sắp xếp và quản lý ghi chú hiệu quả hơn Đối với phiên bản nâng cấp Taio sẽ cung cấp thêm nhiều dạng template và tính năng hữu ích hơn

để người dùng có thể sử dụng Taio như một ứng dụng ghi chú với các tính năng độc đáo nhất phù hợp với nhu cầu và tính chất công việc

1.7.1.3 Redmine - Flexible Project Management

Hình 1-3: Logo ứng dụng Redmine [25]

Redmine[25] là một hệ thống quản lý dự án mã nguồn mở và phần mềm theo hướng công nghệ thông tin Nó cung cấp một nền tảng linh hoạt và mạnh mẽ để tổ chức và quản lý các dự án, theo dõi công việc, quản lý tài liệu, và giao tiếp trong một môi trường làm việc tập trung

Trang 33

Dưới đây là một số đặc điểm chính và tính năng của Redmine:

- Quản lý dự án: Redmine cho phép tạo và quản lý các dự án Có thể thiết lập lịch trình, quản lý thành viên, giao nhiệm vụ, và theo dõi tiến độ dự án

- Theo dõi công việc: Redmine cung cấp các công cụ để theo dõi và quản lý công việc Có thể tạo và gán công việc cho các thành viên trong nhóm, theo dõi tiến độ, đặt thời hạn và ưu tiên công việc

- Quản lý tài liệu: Redmine cho phép tạo và quản lý tài liệu trong các dự án Có thể tạo wiki, đính kèm tệp tin, và chia sẻ thông tin với thành viên khác trong

dự án

- Giao tiếp và phản hồi: Redmine cung cấp các công cụ giao tiếp và phản hồi bên trong dự án Có thể tạo cuộc thảo luận, bình luận và theo dõi lịch sử thay đổi

- Theo dõi vấn đề: Redmine cho phép theo dõi và quản lý các vấn đề và lỗi Có thể tạo và gán vấn đề, theo dõi tiến độ giải quyết, và giao tiếp với các thành viên khác trong nhóm

- Tính linh hoạt và tùy chỉnh: Redmine có một cấu trúc linh hoạt và cho phép tùy chỉnh các tính năng và giao diện theo nhu cầu cụ thể của dự án

Redmine đã trở thành một công cụ phổ biến trong việc quản lý dự án và phát triển phần mềm Nó có cộng đồng người dùng rộng lớn và liên tục được cập nhật và phát triển để đáp ứng nhu cầu của các dự án khác nhau

1.7.1.4 Backlog - Project Management

Hình 1-4: Logo backlog [12]

Backlog[12] là một ứng dụng quản lý dự án và công việc dành riêng cho hệ điều hành iOS Nó cung cấp một nền tảng để tổ chức, theo dõi và quản lý các nhiệm

Trang 34

Dưới đây là một số đặc điểm và tính năng chính của Backlog iOS:

- Quản lý dự án: Backlog iOS cho phép tạo và quản lý các dự án Có thể đặt tên,

mô tả và thiết lập các thông số khác cho dự án của mình

- Tạo và giao nhiệm vụ: Có thể tạo và gán các nhiệm vụ cho thành viên trong

dự án Có thể đặt thời hạn, ưu tiên, gắn kết tệp tin và ghi chú cho từng nhiệm

vụ

- Theo dõi tiến độ: Backlog iOS cung cấp các công cụ và tính năng để theo dõi tiến độ công việc Cho phép thay đổi và cập nhật trạng thái của từng chi tiết công việc, đánh dấu và ghi lại thời gian đã dùng

- Giao tiếp và phản hồi: Backlog iOS cho phép gửi và nhận các bình luận, thông báo và phản hồi về công việc và dự án Điều này giúp tăng cường sự giao tiếp

và hợp tác giữa các thành viên trong nhóm

- Lịch trình và biểu đồ: Có thể xem lịch trình công việc và dự án trên Backlog iOS Nó hiển thị biểu đồ Gantt và các công cụ khác để giúp theo dõi tiến độ

và lập kế hoạch

- Tích hợp với phiên bản web: Backlog iOS có thể tích hợp và đồng bộ dữ liệu với phiên bản web của Backlog, cho phép truy cập và cập nhật công việc từ cả hai nền tảng

Backlog iOS là một công cụ hữu ích cho việc quản lý dự án và công việc trên các thiết bị di động iOS Nó cung cấp tính năng linh hoạt và tiện lợi để theo dõi và

tổ chức công việc, tăng cường giao tiếp và hợp tác giữa các thành viên trong dự án

1.7.2 Đánh giá hiện trạng và hướng giải quyết

Trang 35

viên trong dự án Một số công cụ cũng cung cấp tính năng lập kế hoạch, biểu đồ Gantt, và tích hợp với các công cụ khác như email và lịch

Trong lĩnh vực quản lý ghi chú, có nhiều ứng dụng như Evernote, OneNote, Google Keep, Apple Notes và nhiều ứng dụng khác Các ứng dụng này cho phép tạo ghi chú văn bản, gắn kết hình ảnh và tệp tin, sắp xếp ghi chú theo danh sách hoặc thẻ,

và đôi khi cung cấp tính năng đồng bộ hóa và chia sẻ Một số ứng dụng cũng có tính năng nhắc nhở và tích hợp với các công cụ khác như lịch và email

Tuy nhiên, mặc dù có nhiều ứng dụng và công cụ hiện có, vẫn còn một số hạn chế và thiếu sót Một số ứng dụng có thể hạn chế tính linh hoạt trong việc tổ chức và phân loại công việc hoặc ghi chú Điều này tạo cơ hội cho việc nghiên cứu và phát triển các hệ thống quản lý công việc và ghi chú tốt hơn Tích hợp thêm các tính năng đáp ứng các nhu cầu đa dạng của người dùng, phù hợp với mục đích của từng ngành nghề và giúp tăng cường hiệu suất làm việc và tổ chức thông tin cá nhân

1.7.2.2 Hướng giải quyết

Để giải quyết thực trạng trong việc quản lý công việc và ghi chú, có một số hướng tiếp cận có thể được áp dụng như sau:

- Tiếp tục nghiên cứu và sử dụng các công cụ quản lý công việc và ghi chú hiện

có để tìm ra công cụ phù hợp với nhu cầu, song song đó xem xét các tính năng, khả năng tùy chỉnh và tích hợp để đem vào phát triển

- Tạo sự liên kết giữa các công cụ quản lý công việc và ghi chú khác nhau để tận dụng lợi ích của từng công cụ

- Nắm vững các phương pháp và kỹ thuật quản lý công việc và ghi chú hiệu quả

Trang 36

CHƯƠNG 2 : KIẾN THỨC NỀN TẢNG

2.1 Công cụ quản lý và phát triển

2.1.1 Visual Studio Code

Hình 2-1: logo ứng dụng Visual Studio Code [21]

Trình soạn thảo mã nguồn mở Visual Studio Code[21] được phát triển bởi Microsoft Nó được thiết kế để hỗ trợ biên tập và soạn thảo mã nguồn cho các dự án phần mềm VS Code hỗ trợ nhiều ngôn ngữ lập trình và công nghệ, giúp người dùng tuỳ chỉnh môi trường làm việc theo nhu cầu của cá nhân

Tính năng nổi bật:

- Hỗ trợ đa nền tảng: giúp các lập trình viên có thể sử dụng trên hầu hết các hệ điều hành hiện có

- Tích hợp debug: Cung cấp các tính năng debug mạnh mẽ, cho phép theo dõi

và gỡ lỗi một cách hiệu quả

- Hỗ trợ Git: tích hợp sẵn với Git, quản lý mã nguồn với các lệnh thực thi Git một cách dễ dàng

- Syntax Highlighting: làm nổi bật cú pháp giúp lập trình viên nhận biết các thành phần khác nhau dễ dàng hơn

- Autocomplete: cung cấp tính năng tự động hoàn thành mã thông minh (IntelliSense) giúp giảm thời gian soạn thảo và giảm sau sót

- Snippets: là các đoạn mẫu có thể sử dụng nhanh chóng và tái sử dụng để tăng hiệu suất lập trình

- Tuỳ chỉnh chủ đề và phím tắt: cho phép thay đổi giao diện bằng cách chọn chủ

đề khác nhau, cá nhân hoá phím tắt để thích nghi với quy trình làm việc

Trang 37

Nhờ vào tính linh hoạt và khả năng mở rộng thông qua các tiện ích và plugin,

VS Code đã trở thành một trong những trình soạn thảo mã phổ biến và được yêu thích trong cộng đồng lập trình viên

2.1.2 Xcode

Hình 2-2: Logo ứng dụng Xcode [19]

Xcode[19] là một môi trường phát triển tích hợp (IDE) do Apple cung cấp, được thiết kế đặc biệt để hỗ trợ lập trình viên trong việc phát triển các ứng dụng cho hệ điều hành của Apple, bao gồm macOS, iOS, tvOS và watchOS IDE này cung cấp một loạt các công cụ và tài nguyên phong phú, giúp nhà phát triển tạo ra các ứng dụng di động và máy tính các nhân với chất lượng cao và hiệu suất tối ưu

Xcode đi kèm với trình biên dịch Swift, ngôn ngữ lập trình chính được sử dụng

để phát triển ứng dụng trên các nền tảng của Apple Ngoài Swift, Xcode cũng hỗ trợ Objective-C, ngôn ngữ lập trình truyền thống của Apple

Xcode cung cấp giao diện người dùng trực quan và đa chức năng cho việc xây dựng ứng dụng, bao gồm trình soạn thảo mã, trình biên dịch, trình gỡ lỗi, quản lý phiên bản, và mô phỏng màn hình Nó cũng đi kèm với một bộ công cụ phong phú

để phân tích, kiểm tra và tối ưu hóa ứng dụng

Với Xcode, người dùng có thể phát triển ứng dụng di động, ứng dụng máy tính

cá nhân, ứng dụng đồng hồ thông minh và ứng dụng truyền hình Xcode hỗ trợ việc xây dựng giao diện người dùng bằng cách sử dụng Interface Builder và hỗ trợ tạo các chức năng phức tạp bằng việc sử dụng các framework của Apple

Tóm lại, Xcode là một IDE mạnh mẽ và linh hoạt cho phát triển ứng dụng trên các nền tảng của Apple, mang lại sự thuận tiện và hiệu quả cho nhà phát triển trong quá trình xây dựng ứng dụng chất lượng cao

Trang 38

2.1.3 Android Studio

Hình 2-3: Logo ứng dụng Android Studio [5]

Android Studio[5] là một Integrated Development Environment (IDE) phát triển ứng dụng di động chính thức dành cho nền tảng Android IDE này hỗ trợ và cung cấp nhiều công cụ cũng như có một lượng lớn tài nguyên phong phú, đáp ứng đầy đủ yêu cầu của một nhà phát triển ứng dụng di động

Ý tưởng của Android Studio bắt nguồn từ một IDE khá phổ biến dành cho JAVA

là IntelliJ IDEA Nhiều ngôn ngữ lập trình khác nhau được nó hỗ trợ bao gồm Java, Kotlin và C++ Nó cung cấp các tính năng nổi bật như trình gỡ lỗi (debugger), trình biên dịch (compiler), trình soạn thảo (editor), và một loạt các công cụ hữu ích khác trong việc phát triển ứng dụng android mạnh mẽ với đa dạng các tính năng

Android Studio dựa trên IntelliJ IDEA, một IDE phổ biến cho Java, và nó hỗ trợ nhiều ngôn ngữ lập trình khác nhau bao gồm Java, Kotlin và C++ Nó cung cấp trình biên dịch, trình gỡ lỗi, trình soạn thảo mã và một loạt các công cụ phát triển khác để tạo ra các ứng dụng Android đa dạng và mạnh mẽ

Một trong những tính năng nổi bật của Android Studio là Layout Editor, cho phép nhà phát triển giao diện người dùng trực quan thông qua kéo và thả các thành phần Nó cũng cung cấp các công cụ để kiểm tra và tối ưu hóa hiệu năng ứng dụng, cũng như quản lý phiên bản và tích hợp dễ dàng với các dịch vụ và thư viện của Google

Android Studio cũng hỗ trợ việc triển khai ứng dụng lên các thiết bị di động thông qua Android Emulator hoặc thiết bị thực Nó cung cấp môi trường phát triển toàn diện để phát triển và kiểm thử ứng dụng trước khi phát hành lên Google Play Store

Trang 39

Tóm lại, Android Studio là một IDE mạnh mẽ và linh hoạt cho phát triển ứng dụng Android, cung cấp các công cụ và tài nguyên để tạo ra ứng dụng đa dạng, tối

ưu và tương thích trên nền tảng Android

2.1.4 Github

Hình 2-4: Logo Github [10]

GitHub[10] là một nền tảng dựa trên web được sử dụng rộng rãi cho việc lưu trữ

mã nguồn và quản lý phiên bản Nó cho phép làm việc cùng nhau trên dự án, theo dõi

sự thay đổi và kiểm soát phiên bản của mã nguồn

Trên GitHub, người dùng có lưu trữ mã nguồn của dự án thông qua ra các kho lưu trữ (repositories) Các kho lưu trữ này có thể được chia sẻ công khai hoặc riêng

tư và có thể được sao chép (fork) bởi người khác để đóng góp vào dự án

GitHub cung cấp các công cụ quản lý phiên bản linh hoạt, cho phép nhà phát triển theo dõi sự thay đổi của mã nguồn qua thời gian, xem lịch sử commit và hợp nhất (merge) các thay đổi từ các nhánh (branches) khác nhau Nó cũng hỗ trợ việc quản lý vấn đề (issue tracking) để theo dõi, báo cáo và giải quyết các vấn đề, lỗi hoặc yêu cầu tính năng

GitHub cũng là một cộng đồng, nơi người dùng có thể tương tác, thảo luận và đóng góp vào dự án của nhau thông qua các yêu cầu kéo (pull requests) Nó cung cấp một giao diện web thân thiện, cùng với các tính năng như wiki, dự án, và đám mây (cloud) để lưu trữ tài liệu và tệp tin

Tóm lại, GitHub là một nền tảng lưu trữ mã nguồn và quản lý phiên bản mạnh

mẽ và phổ biến, được sử dụng rộng rãi trong cộng đồng phát triển phần mềm để hỗ trợ việc làm việc nhóm, theo dõi và kiểm soát mã nguồn của dự án

Trang 40

tư và hỗ trợ nhiều hệ thống quản lý phiên bản như Git và Mercurial

Bitbucket cung cấp các tính năng quản lý phiên bản mạnh mẽ, giúp theo dõi sự thay đổi của mã nguồn, tạo và quản lý nhánh (branches), hợp nhất (merge) các thay đổi và xem lịch sử commit Nó cũng hỗ trợ tính năng quản lý vấn đề (issue tracking)

để theo dõi, báo cáo và giải quyết các vấn đề và yêu cầu tính năng

Bitbucket cung cấp tính năng tích hợp liên tục (continuous integration) và liên tục triển khai (continuous deployment), cho phép kiểm tra, triển khai ứng dụng và tự động xây dựng từ mã nguồn Nó cũng cung cấp tính năng quản lý quyền truy cập và kiểm soát, cho phép người dùng quản lý quyền truy cập vào kho lưu trữ và các chức năng khác

Bitbucket là một công cụ phổ biến trong việc quản lý mã nguồn và làm việc nhóm, cung cấp các tính năng mạnh mẽ và linh hoạt cho quản lý phiên bản, tích hợp liên tục và quản lý vấn đề trong quá trình phát triển phần mềm

Ngày đăng: 04/09/2023, 20:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] “26 content based Recommender Systems,” YouTube, https://www.youtube.com/watch?v=YMZmLx-AUvY (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: 26 content based Recommender Systems
[2] “Cloud application hosting for developers,” Render, https://render.com/ (accessed Jul. 13, 2023) Sách, tạp chí
Tiêu đề: Cloud application hosting for developers
Nhà XB: Render
[3] “Data Science in 5 minutes: What is one hot encoding?,” Educative, https://www.educative.io/blog/one-hot-encoding (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Data Science in 5 minutes: What is one hot encoding
[4] “Documentation,” Node.js, https://nodejs.org/en/docs (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Documentation
[5] “Download Android Studio & App Tools,” Android Developers, https://developer.android.com/studio (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Download Android Studio & App Tools
Nhà XB: Android Developers
[6] “Full featured framework for Building IOS, Android & Desktop Apps,” Framework7, https://framework7.io/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Full featured framework for Building IOS, Android & Desktop Apps
Nhà XB: Framework7
[7] “Get started fast,” Apache Cordova, https://cordova.apache.org/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Get started fast
Nhà XB: Apache Cordova
Năm: 2023
[8] “Introducing chatgpt,” Introducing ChatGPT, https://openai.com/blog/chatgpt (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Introducing ChatGPT
[9] “JavaScript with syntax for types.,” TypeScript, https://www.typescriptlang.org/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: JavaScript with syntax for types
Nhà XB: TypeScript
[10] “Let’s build from here,” GitHub, https://github.com/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Let’s build from here
Nhà XB: GitHub
[11] “Node.js web application framework,” Express, https://expressjs.com/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Node.js web application framework
Nhà XB: Express
[12] “OHQ,” Backlog, https://ohq.backlog.jp/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: OHQ
Nhà XB: Backlog
[13] “Socket.io,” SocketIO RSS, https://socket.io/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Socket.io
Nhà XB: SocketIO RSS
[14] “The Collaborative Interface Design Tool,” Figma, https://www.figma.com/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: The Collaborative Interface Design Tool
Nhà XB: Figma
[15] “The developer Data Platform,” MongoDB, https://www.mongodb.com/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: The developer Data Platform
Nhà XB: MongoDB
[16] “Your connected workspace for wiki, docs & projects,” Notion, https://www.notion.so/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Your connected workspace for wiki, docs & projects
[17] Atlassian, “Git solution for teams using jira,” Bitbucket, https://bitbucket.org/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Git solution for teams using jira
Tác giả: Atlassian
Nhà XB: Bitbucket
[18] Google, https://firebase.google.com/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Firebase | Google's Mobile and Web App Development Platform
Tác giả: Google
Nhà XB: Google
[19] Inc., “Xcode 15,” Apple Developer, https://developer.apple.com/xcode/ (accessed Jul. 12, 2023) Sách, tạp chí
Tiêu đề: Xcode 15
Tác giả: Inc
Nhà XB: Apple Developer
[23] Postman, https://www.postman.com/ (accessed Jul. 12, 2023) Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w