Đồ Án Tốt Nghiệp Công Nghệ Thông Tin: Phát Triển Ứng Dụng Mạng Xã Hội Dành Cho Thú Cưng

Đồ án nghiên cứu tốt nghiệp công nghệ thông tin xây dựng ứng dụng mạng xã hội thú cưng, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán kỹ thuật.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

113
8
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Giới thiệu về React Native

1.2. Ưu điểm

1.3. Lý do chọn React Native

1.4. Sơ lược NestJS

1.5. Đặc trưng của NestJS

1.6. Ưu điểm

1.7. Nhược điểm

1.8. Giới thiệu về Typescript

1.9. Ưu điểm

2. CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU

2.1. Khảo sát hiện trạng

2.2. Xác định yêu cầu

2.3. Đối tượng sử dụng

2.4. Mô hình hóa hệ thống

2.5. Danh sách các Actor

2.6. Mô tả sơ đồ Usecase

2.7. Đặc tả một số usecase chính

3. CHƯƠNG 3: THIẾT KẾ PHẦN MỀM

3.1. Lược đồ tuần tự

3.2. Thiết kế cơ sở dữ liệu

3.3. Thiết kế giao diện

4. CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ

4.1. Công cụ dùng trong dự án

4.2. Cài đặt ứng dụng

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Đồ Án Tốt Nghiệp CNTT Xây Dựng Ứng Dụng Mạng Xã Hội Cho Thú Cưng

Đồ án tốt nghiệp này tập trung vào việc xây dựng ứng dụng mạng xã hội dành cho cộng đồng yêu thích thú cưng. Dự án được thực hiện bởi sinh viên ngành Công nghệ thông tin tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. Mục tiêu chính là tạo ra một nền tảng kết nối người dùng, chia sẻ thông tin, và quản lý thú cưng một cách hiệu quả. Ứng dụng này không chỉ giúp người dùng tương tác mà còn hỗ trợ tìm kiếm thú cưng thất lạc, giảm thiểu tình trạng bỏ rơi thú cưng.

1.1. Công Nghệ Thông Tin và Phát Triển Ứng Dụng

Dự án sử dụng các công nghệ hiện đại như NestJS, TypeScript, PostgreSQL, React Native, và WebSocket để xây dựng hệ thống. NestJS được chọn để phát triển backend, cung cấp các API cần thiết. PostgreSQL đảm nhiệm việc lưu trữ dữ liệu, trong khi React Native được sử dụng để thiết kế giao diện người dùng thân thiện. WebSocketExpo-Notification hỗ trợ các tính năng real-time như nhắn tin và thông báo.

1.2. Mạng Xã Hội Thú Cưng và Cộng Đồng

Ứng dụng hướng đến việc tạo ra một cộng đồng thú cưng nơi người dùng có thể chia sẻ kinh nghiệm, đăng bài viết, và tương tác với nhau. Tính năng quản lý thú cưng cho phép người dùng thêm thông tin về thú cưng của mình, tìm kiếm thú cưng thất lạc, và kết nối với những người có cùng sở thích. Đây là một giải pháp thiết thực để giải quyết các vấn đề liên quan đến thú cưng trong xã hội hiện đại.

II. Thiết Kế và Phát Triển Ứng Dụng

Quá trình thiết kế ứng dụng được chia thành các giai đoạn rõ ràng, từ khảo sát hiện trạng đến triển khai và kiểm thử. Dự án áp dụng các phương pháp mô hình hóa yêu cầuthiết kế cơ sở dữ liệu để đảm bảo tính chính xác và hiệu quả. Các công cụ như React NativeNestJS được sử dụng để phát triển giao diện và backend, đảm bảo ứng dụng hoạt động mượt mà trên cả nền tảng di động và web.

2.1. Khảo Sát Hiện Trạng và Mô Hình Hóa Yêu Cầu

Giai đoạn đầu tiên của dự án là khảo sát hiện trạng các ứng dụng mạng xã hội thú cưng hiện có. Từ đó, nhóm đã xác định các yêu cầu cần thiết và mô hình hóa yêu cầu bằng các sơ đồ use case. Các actor chính bao gồm người dùng và admin, với các chức năng như đăng bài, nhắn tin, và quản lý thú cưng.

2.2. Thiết Kế Phần Mềm và Cơ Sở Dữ Liệu

Phần thiết kế phần mềm bao gồm việc tạo lược đồ tuần tự, thiết kế cơ sở dữ liệu, và thiết kế giao diện. Cơ sở dữ liệu được thiết kế để lưu trữ thông tin người dùng, bài viết, thú cưng, và các tương tác. Giao diện được thiết kế đơn giản, dễ sử dụng, phù hợp với mọi đối tượng người dùng.

III. Cài Đặt và Kiểm Thử

Giai đoạn cài đặt và kiểm thử đảm bảo ứng dụng hoạt động ổn định và đáp ứng các yêu cầu đã đề ra. Các công cụ như PostmanJest được sử dụng để kiểm thử API và giao diện. Quá trình kiểm thử bao gồm việc kiểm tra các chức năng chính như đăng nhập, đăng bài, nhắn tin, và quản lý thú cưng. Kết quả kiểm thử cho thấy ứng dụng hoạt động hiệu quả và đáp ứng được nhu cầu của người dùng.

3.1. Công Cụ và Quy Trình Kiểm Thử

Các công cụ như PostmanJest được sử dụng để kiểm thử API và giao diện. Quy trình kiểm thử bao gồm việc kiểm tra từng module của ứng dụng, đảm bảo tính năng hoạt động chính xác và không có lỗi phát sinh. Các test case được thiết kế chi tiết để bao phủ mọi tình huống sử dụng.

3.2. Kết Quả và Đánh Giá

Kết quả kiểm thử cho thấy ứng dụng hoạt động ổn định và đáp ứng được các yêu cầu đã đề ra. Các chức năng như đăng nhập, đăng bài, nhắn tin, và quản lý thú cưng đều hoạt động mượt mà. Ứng dụng được đánh giá cao về tính thân thiện và hiệu quả trong việc kết nối cộng đồng yêu thích thú cưng.

21/02/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. Đặc trưng của NestJS NestJS có nhiều đặc trưng mạnh mẽ, giúp xây dựng và duy trì các ứng dụng back-end hiện đại và dễ bảo trì. NestJS sử dụng TypeScript làm ngôn ngữ chính, giúp kiểm soát kiểu dữ liệu và tận dụng tính năng của TypeScript như interfaces và decorators để tạo mã nguồn rõ ràng và dễ đọc. Kiến trúc module của NestJS thúc đẩy việc chia ứng dụng thành các module độc lập, giúp tăng tính rõ ràng và dễ bảo trì.

Ưu điểm - NestJS thúc đẩy việc chia ứng dụng thành các module độc lập, giúp dễ bảo trì và mở rộng theo thời gian. - Sử dụng TypeScript giúp kiểm soát kiểu dữ liệu, giảm lỗi và cung cấp autocomplete, làm tăng tính chắc chắn của mã nguồn. - Gần gũi, dễ học với các ngôn ngữ lập trình thông dụng - Hỗ trợ WebSockets giúp xây dựng ứng dụng thời gian thực và truyền tải dữ liệu hai chiều giữa máy khách và máy chủ. - Giúp client tương tác với server dễ dàng - Giúp giảm tải trên server vì nó có thể chạy tốt ở phía client - NestJS hỗ trợ tích hợp với GraphQL, giúp xây dựng API hiệu quả và linh hoạt.

Nhược điểm - Việc sử dụng TypeScript có thể tăng kích thước mã nguồn so với việc sử dụng JavaScript thuần. - Có một số trường hợp mà NestJS có thể có hiệu suất thấp hơn so với các framework back-end chỉ sử dụng JavaScript, do TypeScript phải được biên dịch thành JavaScript trước khi chạy. - NestJS có thể phụ thuộc nhiều vào các tích hợp mặc định, điều này có thể là một nhược điểm nếu bạn muốn sử dụng các thư viện hoặc công nghệ khác. 14 PHẦN NỘI DUNG - CHƯƠNG 1.

Giới thiệu về Typescript TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript. TypeScript được thiết kế để giảm lỗi trong quá trình phát triển và cung cấp mã nguồn dễ đọc và bảo trì hơn. Ưu điểm - TypeScript cung cấp kiểm soát kiểu dữ liệu tĩnh, giúp phát hiện lỗi ngay từ thời điểm phát triển, tăng tính chắc chắn và giảm lỗi runtime. - TypeScript hỗ trợ lập trình hướng đối tượng với các khái niệm như class, interface, inheritance, và encapsulation, giúp xây dựng mã nguồn có cấu trúc và dễ bảo trì.

- TypeScript hỗ trợ module, giúp chia mã nguồn thành các phần nhỏ và độc lập, tăng tính tái sử dụng mã nguồn và quản lý dự án - TypeScript là bản nâng cấp của JavaScript, nghĩa là mã nguồn JavaScript có thể chạy trực tiếp trong môi trường TypeScript mà không cần sửa đổi. Nhược điểm - Mặc dù có sự hỗ trợ đầy đủ cho nhiều thư viện và framework, nhưng một số thư viện mới hoặc dự án cũ có thể không tương thích hoặc cần công sức cấu hình để làm việc chung với TypeScript. - TypeScript hỗ trợ module, nhưng có thể gặp khó khăn khi sử dụng giải quyết module trong một số tình huống phức tạp. - Trong một số trường hợp, kiểm soát kiểu dữ liệu có thể không phải lúc nào cũng ngăn chặn được các lỗi, đặc biệt là khi sử dụng kiểu dữ liệu any hoặc khi làm việc với các thư viện JavaScript không có kiểu.

15 PHẦN NỘI DUNG - CHƯƠNG 1. Lý do chọn Typescript - Với việc sử dụng các kỹ thuật mới nhất và lập trình hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ dàng. - TypeScript luôn đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript, ví dụ như version hiện tại là ECMAScript 2015 (ES6). - TypeScript là một mã nguồn mở nên bạn hoàn toàn có thể sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ.

Giới thiệu về PostgreSQL - PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (object-relational database management system) miễn phí và nguồn mở (RDBMS) tiên tiến nhất hiện nay. khả năng mở rộng cao và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời. - PostgreSQL linh động có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows.

- PostgreSQL là một phần mềm mã nguồn mở miễn phí bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào. - PostgreSQL là hệ thống quản lý cơ sở dữ liệu đầu tiên triển khai tính năng kiểm soát đồng thời nhiều phiên bản. Ưu điểm - PostgreSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, có nghĩa là mã nguồn của nó có thể được kiểm tra, sửa đổi và phân phối một cách tự do. - PostgreSQL hỗ trợ mô hình quan hệ, cho phép xây dựng cơ sở dữ liệu quan hệ với các bảng và mối quan hệ giữa chúng.

16 PHẦN NỘI DUNG - CHƯƠNG 1. CƠ SỞ LÝ THUYẾT - PostgreSQL có khả năng mở rộng và hỗ trợ cả cụm máy chủ lớn và cấu hình đơn lẻ, giúp đáp ứng được nhu cầu của các ứng dụng với quy mô từ nhỏ đến lớn. - PostgreSQL có thể chạy trên nhiều hệ điều hành khác nhau, bao gồm Linux, Windows, macOS, và BSD, tạo ra sự linh hoạt trong triển khai. - Hỗ trợ truy vấn phức tạp và nâng cao, với khả năng xử lý các câu truy vấn phức tạp và có hiệu suất cao.

- PostgreSQL hỗ trợ đầy đủ các tính năng SQL chuẩn, giúp người phát triển thao tác với cơ sở dữ liệu một cách linh hoạt. Nhược điểm - Mặc dù PostgreSQL có khả năng mở rộng, nhưng mô hình khả năng mở rộng của nó có thể không linh hoạt như một số hệ quản trị cơ sở dữ liệu khác, đặc biệt trong môi trường với yêu cầu cực kỳ cao về mức mở rộng. - Hiệu suất của PostgreSQL có thể thấp hơn so với một số hệ quản trị cơ sở dữ liệu khác trong một số tình huống cụ thể. Điều này phụ thuộc vào cách cấu hình và tối ưu hóa cơ sở dữ liệu.

- Đối với các cơ sở dữ liệu có khối lượng dữ liệu lớn, PostgreSQL có thể đòi hỏi nhiều tài nguyên hệ thống, đặc biệt là khi sử dụng các tính năng như index và truy vấn phức tạp. - Quá trình sao lưu (backup) và khôi phục (restore) dữ liệu trong PostgreSQL có thể phức tạp, đặc biệt là khi xử lý các cơ sở dữ liệu lớn và phức tạp. - Mặc dù PostgreSQL có nhiều tính năng mạnh mẽ, nhưng có thể thiếu một số tính năng đặc biệt mà một số hệ quản trị cơ sở dữ liệu khác có, đặc biệt trong các lĩnh vực như quản lý dữ liệu không gian (spatial data) hoặc tính năng NoSQL. Lý do chọn PostgreSQL - Có thể xử lý được tập dữ liệu lớn và đa dạng, đồng thời cung cấp các tính năng như phân vùng bảng, lập danh mục nâng cao và truy vấn đọc song song giúp tăng hiệu suất truy vấn.

17 PHẦN NỘI DUNG - CHƯƠNG 1. CƠ SỞ LÝ THUYẾT - Cho phép định nghĩa các kiểu dữ liệu tùy chỉnh, xây dựng các hàm tùy chỉnh và viết mã từ các ngôn ngữ lập trình khác nhau. Điều này giúp cho các nhà phát triển có thể tùy chỉnh cơ sở dữ liệu cho phù hợp với nhu cầu của ứng dụng. - Được phát triển và cập nhật thường xuyên, với các phiên bản mới được phát hành để cải thiện tính năng, tăng hiệu suất, sửa các lỗi bảo mật.

Giới thiệu về Expo-Notification - Expo Notifications là một dịch vụ cung cấp API thống nhất để quản lý và xử lý thông báo trên iOS và Android thông qua framework Expo. Dịch vụ này giúp các nhà phát triển có thể dễ dàng gửi thông báo đẩy (push notifications) tới người dùng ứng dụng của họ và xử lý việc nhận và hiển thị các thông báo này trong ứng dụng. Expo Notifications hỗ trợ việc gửi thông báo từ máy chủ, lắng nghe và xử lý thông báo khi được nhận, và cung cấp các tính năng nâng cao như lập lịch thông báo và phản hồi thông báo. Ưu điểm • Ưu điểm của Expo Notifications bao gồm: - Tích hợp dễ dàng: Expo Notifications cho phép tích hợp dễ dàng với các ứng dụng Expo, giúp quản lý thông báo đẩy trở nên đơn giản hơn.

- Đa nền tảng: Hỗ trợ cả iOS và Android, giúp gửi thông báo đến tất cả người dùng mà không cần quản lý hai hệ thống thông báo riêng biệt. - API thống nhất: Cung cấp một API thống nhất để gửi và nhận thông báo, giảm thiểu sự phức tạp khi làm việc với thông báo trên nhiều nền tảng. - Tính năng nâng cao: Hỗ trợ các tính năng nâng cao như lập lịch thông báo, phân loại thông báo, và xử lý phản hồi từ người dùng. - Quản lý Token đơn giản: Expo tự động quản lý token thiết bị, giúp việc gửi thông báo đến thiết bị cụ thể trở nên dễ dàng.

18 PHẦN NỘI DUNG - CHƯƠNG 1. CƠ SỞ LÝ THUYẾT - Miễn phí và mở: Expo Notifications là một dịch vụ miễn phí và mã nguồn mở, giúp các nhà phát triển tiết kiệm chi phí và có thể tùy chỉnh theo nhu cầu. Nhược điểm • Nhược điểm của Expo Notifications có thể bao gồm: - Phụ thuộc vào Expo: Các dự án không sử dụng Expo có thể gặp khó khăn khi tích hợp và cần phải eject hoặc sử dụng bare workflow để sử dụng Expo Notifications, điều này có thể làm tăng độ phức tạp. - Giới hạn tùy chỉnh: Mặc dù cung cấp nhiều tính năng, nhưng Expo Notifications có thể không đủ linh hoạt cho một số trường hợp sử dụng cụ thể hoặc nâng cao, đặc biệt là khi so sánh với các giải pháp thông báo đẩy chuyên biệt.

- Quản lý Token: Trong một số trường hợp, việc quản lý token thiết bị có thể trở nên phức tạp, đặc biệt là khi cần xử lý token hết hạn hoặc cập nhật. - Hiệu suất và độ trễ: Đối với các ứng dụng lớn với lượng người dùng đông đảo, việc sử dụng dịch vụ thông báo đẩy của bên thứ ba như Expo có thể dẫn đến độ trễ cao hơn so với việc triển khai giải pháp thông báo đẩy riêng. - Cập nhật và bảo trì: Phụ thuộc vào bản cập nhật và bảo trì từ đội ngũ Expo, có thể ảnh hưởng đến tính năng và hiệu suất của thông báo trong ứng dụng. - Tính năng cụ thể của nền tảng: Một số tính năng thông báo đặc trưng cho iOS hoặc Android có thể không được hỗ trợ hoàn toàn hoặc cần cách tiếp cận khác để triển khai.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Đồ Án Tốt Nghiệp CNTT: Xây Dựng Ứng Dụng Mạng Xã Hội Cho Thú Cưng là một tài liệu chuyên sâu về việc thiết kế và phát triển một nền tảng mạng xã hội dành riêng cho thú cưng. Đồ án này không chỉ tập trung vào các yếu tố kỹ thuật như thiết kế giao diện, quản lý cơ sở dữ liệu, mà còn đề cập đến các tính năng độc đáo như kết nối người dùng, chia sẻ thông tin về thú cưng, và tích hợp các công cụ quản lý sức khỏe. Đây là một tài liệu hữu ích cho sinh viên CNTT muốn tìm hiểu về phát triển ứng dụng web và mạng xã hội, đồng thời cung cấp góc nhìn thực tế về việc áp dụng công nghệ vào lĩnh vực thú cưng.

Nếu bạn quan tâm đến các đồ án liên quan đến phát triển ứng dụng web, có thể tham khảo thêm Tiểu luận môn công nghệ phần mềm báo cáo đồ án xây dựng website bán nông sản để hiểu rõ hơn về quy trình xây dựng một nền tảng thương mại điện tử. Bên cạnh đó, Đồ án tốt nghiệp web bán hàng linh kiện điện tử cho công ty hyt cũng là một tài liệu đáng chú ý, giúp bạn khám phá cách thiết kế và triển khai một website bán hàng chuyên nghiệp. Ngoài ra, nếu muốn tìm hiểu về ứng dụng công nghệ trong quản lý, Đồ án hcmute mô hình quản lý nhà không dây sẽ mang đến những kiến thức bổ ích về hệ thống quản lý thông minh.

Mỗi tài liệu trên đều là cơ hội để bạn mở rộng kiến thức và khám phá sâu hơn về các chủ đề liên quan đến công nghệ thông tin và phát triển ứng dụng.