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

Đồ án tìm hiểu nestjs và xây dựng ứng dụng minh họa

18 4 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 đề Đồ án Tìm hiểu NestJS và xây dựng ứng dụng minh họa
Tác giả Trần Bảo Ân
Người hướng dẫn Th.S Nguyễn Tấn Toàn
Trường học Đại học Công Nghệ Thông Tin - Đại học Quốc Gia TP.HCM
Chuyên ngành Khoa học máy tính và công nghệ thông tin
Thể loại đồ án
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 18
Dung lượng 285,9 KB

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

Nội dung

Tổng quan về NestJS⮚ NodeJS là một Javascript runtime, ra đời năm 2009, được xây dựng trên “V8 Javascript Engine” ⮚ NestJS là một framework phát triển ứng dụng web back-end, được xây dựn

Trang 1

Báo cáo Đồ án 1

TÌM HIỂU NESTJS VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA

Giảng viên hướng dẫn: Th.S Nguyễn Tấn Toàn

Sinh viên thực hiện: Trần Bảo Ân

Trang 2

Nội dung báo cáo

1 Lý thuyết về NestJS

1.1 Tổng quan về NestJS

1.2 Các khái niệm quan trọng trong NestJS

1.3 So sánh NestJS với các framework khác

2 Xây dựng ứng dụng minh họa: Website môi giới bất động sản Katana

2.1 Phát biểu bài toán, hướng giải quyết

2.2 Công nghệ sử dụng

2.3 Phân tích yêu cầu, thiết kế giải pháp

3 Demo

4 Kết luận và hướng phát triển

Trang 3

1 Lý thuyết về NestJS

1.1 Tổng quan về NestJS

1.2 Các khái niệm quan trọng trong NestJS

1.3 So sánh NestJS với các framework khác

Trang 4

1.1 Tổng quan về NestJS

⮚ NodeJS là một Javascript runtime, ra đời năm 2009, được xây dựng trên “V8 Javascript Engine”

⮚ NestJS là một framework phát triển ứng dụng web back-end, được xây dựng trên nền tảng Node.js, giải quyết bài toán của NodeJS là “Kiến trúc”

⮚ Nền tảng cấu thành NestJS:

• Node.js

• TypeScript

• Express.js

• WebSockets

• Microservices

• Dependency Injection (DI)

Trang 5

1.2 Các khái niệm quan trọng trong NestJS

1 Controllers

2 Providers và Services

3 Middleware

4 Data Persistence

5 WebSockets

6 Microservices

7 CLI

Trang 6

1.3 So sánh NestJS với các framework khác

Express.js:

• Express.js là một trong những framework phát triển ứng dụng web back-end phổ biến và đơn giản nhất trong cộng đồng Node.js

• NestJS được xây dựng dựa trên Express.js và cung cấp một cấu trúc module, Dependency Injection, decorators và nhiều tính năng khác để tạo mã nguồn có tổ chức và dễ bảo trì hơn

• NestJS hỗ trợ tích hợp tốt hơn với TypeScript và cung cấp các tính năng mạnh mẽ như GraphQL, WebSockets và Microservices

Koa:

• Koa là một framework nhẹ và mạnh mẽ, tương tự như Express.js, nhưng có mô hình xử lý middleware hiện đại hơn

• NestJS cung cấp cấu trúc module, Dependency Injection và các tính năng nâng cao khác, trong khi Koa tập trung vào việc cung cấp một mô hình middleware đơn giản và linh hoạt

• Điều này làm cho NestJS thích hợp hơn cho các ứng dụng lớn và phức tạp hơn, trong khi Koa phù hợp cho các ứng dụng nhỏ và tùy chỉnh

AdonisJS:

• AdonisJS là một framework Node.js full-stack được lấy cảm hứng từ Laravel (một framework phát triển ứng dụng web PHP)

• AdonisJS cung cấp một mô hình MVC (Model-View-Controller) hoàn chỉnh, trong khi NestJS tập trung vào việc cung cấp một cấu trúc module, Dependency Injection và các tính năng phát triển ứng dụng web back-end mạnh mẽ

• NestJS hỗ trợ tích hợp tốt hơn với TypeScript và có thể được sử dụng để phát triển các ứng dụng Node.js back-end hiệu quả và dễ bảo trì

Trang 7

2 Xây dựng ứng dụng minh họa:

Website môi giới bất động sản Katana

2.1 Phát biểu bài toán, hướng giải quyết

2.2 Công nghệ sử dụng

2.3 Phân tích yêu cầu, thiết kế giải pháp

Trang 8

2.1 Phát biểu bài toán và giải pháp

Phát biểu bài toán

• Phía người mua: Các thành phố lớn của Việt Nam hiện nay có mật độ dân số khá cao Nhu cầu tìm mua bất động sản cũng theo đó mà tăng nhanh Thế nhưng, người có nhu cầu mua gặp nhiều khó khăn trong việc tìm thông tin về bất động sản, bao gồm: giá, địa điểm, diện tích, văn hóa, môi trường xung quanh… Việc tìm kiếm truyền thống mất nhiều thời gian, công sức, tiền của và mang lại hiệu quả thấp

• Phía người bán: Họ là người có tài sản muốn bán nhưng chưa tìm được thị trường

phù hợp Việc thiếu kiến thức chuyên môn và thiếu các mối quan hệ xã hội khiến

người bán thường mắc phải vấn đề về đầu ra cho tài sản Họ thường phát tờ rơi, dán biển quảng cáo Tuy nhiên các phương pháp này chưa thật sự hiệu quả bởi mức độ truyền thông không cao.

• Nhận thấy cần có một ứng dụng đóng vai trò cầu nối để giảm khoảng cách giữa người mua và người bán, em đã thực hiện xây dựng “Website môi giới bất động sản Katana”.

Trang 9

2.1 Phát biểu bài toán và giải pháp

Giải pháp

• Website bao gồm:

• 1 trang web đăng tải thông tin và tương tác với người dùng gọi là Landing Page

• 1 trang để quản trị viên thực hiện các chức năng quản lý gọi là Web Admin

Trang 10

2.2 Công nghệ sử dụng

• Front-end: ReactJS

• Back-end: NestJS

• Cơ sở dữ liệu: PostgresQL

• Docker

• Quản lý mã nguồn: Git-Github

Trang 11

2.3 Phân tích yêu cầu, thiết kế giải pháp

Xem chi tiết một dự án bất động sản X X X

Tìm kiếm bất động sản theo tiêu chí X

Lọc kết quả tìm kiếm theo giá và theo địa điểm X

Xem tin tức và quảng cáo X

Để lại thông tin liên hệ X

Xem thống kê doanh thu X X

Xuất file thống kê dưới dạng xlsx hoặc csv X X

Thay đổi trạng thái tài khoản nhân viên X

Xóa tài khoản nhân viên khỏi hệ thống X

Trang 12

2.3 Phân tích yêu cầu, thiết kế giải pháp

Yêu cầu giao diện (GUI): dễ sử dụng, hiện đại, trình bày bắt mắt thu hút người xem, tương tác cao…

Vận hành:

∙ Chạy được trên nhiều trình duyệt phổ biến như Chrome, Edge, Firefox

∙ Chạy được trên máy tính xách tay, máy tính bàn, thiết bị di động Hiệu suất:

∙ Hệ thống hoạt động liên tục 24/7

∙ Mọi tương tác giữa người dùng và hệ thống không vượt quá 1 giây

∙ Có khả năng chịu tải 30 TPS

∙ Có phân quyền người dùng

∙ Các phòng ban/khoa khác nhau chỉ xem được thông tin của phòng ban đó

∙ Giảng viên chỉ xem được thông tin của mình và thông tin của lớp do mình chịu trách nhiệm

∙ Hủy quyền của tài khoản khi cán bộ/giảng viên dừng công tác Văn hóa, chính trị:

• Hệ thống phải tuân thủ luật về quyền riêng tư của người dùng

Trang 13

Sơ đồ Usecase của Web Admin

Trang 14

Sơ đồ Usecase của

Landing Page

Trang 15

ERD

Trang 16

3 Demo

Luồng demo

Kiến thức đã áp dụng

Trang 17

4 Kết luận và hướng phát triển

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

cáo cho doanh nghiệp

cứu sau này.

Hướng phát triển

❖ Chức năng chat để quản trị viên và người dùng có thể tương tác trực tiếp và nhanh hơn

❖ Kiểm duyệt bài viết tự động: Kết hợp trí tuệ nhân tạo để tự động kiểm duyệt các bài viết trước khi đăng tải Cụ thể ta có thể kiểm duyệt

về nội dung, từ ngữ và văn phong phù hợp với thuần phong mỹ tục

❖ Thêm chức năng thẩm định tài sản thay cho phương pháp thẩm định thủ công

Trang 18

Cảm ơn quý thầy cô đã lắng nghe!

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

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