Chương 1 - TỔNG QUAN ĐỀ TÀI 1. Mô tả bài toán - Hiện nay, sau khi Covid-19 đã đi qua, cuộc sống người dân dần đi vào ổn định và bình thường mới. Với đa số mọi người, khi mà đã phải trải qua thời kì giãn cách xã hội quá lâu, thì du lịch sẽ là lựa chọn hàng đầu. Nhu cầu du lịch của người Việt Nam trong năm 2022 là rất lớn, đặc biệt là du lịch trong nước.
Theo đó, có tới 76% du khách Việt Nam tham gia khảo sát đang lên kế hoạch du lịch giải trí trong nước vào năm 2022, cao hơn nhiều so với tỷ lệ 38% số người lập kế hoạch du lịch nước ngoài. - Thực tế, chúng ta có thể thấy rõ được rằng, đời sống của người dân mỗi ngày đều được nâng cao, cơ sở hạ tầng và giao thông lại được cải thiện và hiện đại hơn, nhưng kéo theo đó chính là sự ô nhiễm môi trường ngày một nặng nề, vì thế, con người thường có xu hướng muốn tìm đến những nơi gần gũi với thiên nhiên để nghỉ dưỡng và thư giãn thoải mái hơn, bỏ lại tất cả những khói bụi, ồn ào nơi thành phố. - Bên cạnh đó, rất nhiều du khách có nhu cầu về chuyển đổi những điểm đến khác nhau trong tour du lịch của mình. Chính vì thế, các hãng du lịch cần chuẩn bị đầy đủ để có thể phục vụ và đáp ứng kịp thời cho khách du lịch.
- Nhận thấy được vấn đề đó, ứng dụng quản lý Resort được ra đời nhằm đáp ứng được nhu cầu đặt phòng ở một cách tiện lợi, minh bạch hơn, giải quyết được bài toán về thông tin của các địa điểm, chất lượng nơi ở mà du khách sẽ đặt chân đến 1. Yêu cầu đặt ra - Một số yêu cầu nhóm đặt ra khi phát triển ứng dụng: + Tính tiện dụng: ứng dụng phải thân thiện với người dùng, dễ dàng tiếp cận với mọi lứa tuổi + Tính đúng đắn: thông tin đưa lên phải được xác thực kĩ về độ chính xác, ứng dụng chạy không lỗi + Tính thích nghi: ứng dụng chạy được trên nhiều nền tảng trình duyệt web khác nhau + Tính tiến hoá: ứng dụng phải dễ dàng phát triển thêm tính năng mà không ảnh hưởng đến các tính năng đã phát triển trước đó + Tính bảo trì: ứng dụng có thể thay đổi một số chức năng hoặc cập nhật thêm thông tin một cách tiện lợi nhất + Tính tương tác: tạo ra được một môi trường tương tác tốt giữa hệ thống và người dùng Chương 2 - PHÂN TÍCH ĐẶC TẢ YÊU CẦU 2.1 Usecase khách hàng đặt phòng Hình 2.1 Usecase khách hàng 2.2 Use Case khách vãng lai Hình 2.2 Usecase khách vãng lai 2.2 Sequence Diagram Hình 2.3 Danh sách Use case STT Tên Use case Mô tả chung 1 Đăng nhập Dùng tài khoản đã đăng ký đăng nhập vào hệ thống 2 Đăng ký Tạo tài khoản mới 3 Đăng xuất Thoát tài khoản khỏi hệ thống 4 Thay đổi mật khẩu Cho phép người dùng thay đổi mật khẩu 5 Xem thông tin nhà hàng Hiển thị chi tiết các thông tin về nhà hàng như tên , giá , hình ảnh … vv 6 Xem thông tin phòng Hiển thị chi tiết các thông tin về phòng như tên loại phòng,giá, hình ảnh … vv 7 Xem các dịch vụ sẵn có Hiển thị chi tiết các dịch vụ sẵn có để phục vụ khách 8 Trang chủ Hiển thị Image , Favorite room , …. vv 9 Đặt Phòng Cho phép khách hàng đặt các phòng hiện có 10 Nhập thông tin đặt phòng Cho phép khách hàng nhập thông tin cá nhân và các thông tin kèm theo để đặt phòng 2.4 Đặc tả Usecase 2.1 Đăng ký Mô tả Khách hàng đăng ký tài khoản mới để sử dụng cho việc đăng nhập vào Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1. Khách hàng yêu cầu mở 2.
Hiển thị màn hình đăng ký màn hình Đăng ký 3. Nhập các thông tin yêu cầu 4. Kiểm tra các thông tin xem đã cho việc tạo tài khoản. Chọn đúng định dạng đặt ra bởi hệ nút Đăng ký thống hay chưa 5.
Kiểm tra email đã được đăng nhập ký trước đó hay chưa 6. Người dùng xác thực thông 8. Thông báo đăng ký tài khoản qua email đã gửi đến email thành công người dùng đăng ký Luồng A1. Sai định dạng các thông tin đã nhập thay thế 5.
Yêu cầu nhập lại đúng định dạng các thông tin sai định dạng A2. Email đã được đăng ký cho một tài khoản khác 6. Hệ thống yêu cầu người dùng đăng ký bằng email khác A3. Người dùng chưa xác thực tài khoản và hết thời gian xác thực Điều kiện Phải có email hợp lệ trước Điều kiện Tạo tài khoản trên hệ thống và thông báo đã đăng ký tài khoản sau thành công 2.2 Đăng nhập Mô tả Khách hàng đăng nhập vào ứng dụng thông qua tài khoản đã tạo trước đó Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1.
Khách hàng yêu cầu mở 2. Hiển thị màn hình đăng nhập màn hình Đăng nhập 3. Nhập các thông tin yêu cầu 4. Kiểm tra thông tin tài khoản và cho việc đăng nhập như tài mật khẩu khoản và password Chọn nút Đăng nhập 5.
Chuyển đến màn hình trang chủ Luồng A1. Sai Tài khoản hoặc mật khẩu thay thế 5. Yêu cầu đăng nhập lại A2. Email đã được đăng ký cho một tài khoản khác 6.
Hệ thống yêu cầu người dùng đăng ký bằng email khác A3. Người dùng chưa xác thực tài khoản và hết thời gian xác thực Điều kiện Phải có email hợp lệ trước Điều kiện Tạo tài khoản trên hệ thống và thông báo đã đăng ký tài khoản sau thành công 2.3 Thay đổi mật khẩu Mô tả Khách hàng đã đăng nhập bằng tài khoản đã tạo Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1. Khách hàng yêu cầu mở 2. Hiển thị màn hình đổi mật khẩu màn hình đổi mật khẩu 3.
Nhập các thông tin yêu cầu 4. Kiểm tra thông tin tài khoản và cho việc đổi mật khẩu như mật khẩu tài khoản và password và nhập password mới 5. Thông báo đổi mật khẩu thành công Luồng A1. Sai Tài khoản hoặc mật khẩu thay thế 5.
Yêu cầu đăng nhập lại Điều kiện Phải có email hợp lệ và đã đăng nhập vào hệ thống trước Điều kiện Đổi mật khẩu trên hệ thống và thông báo đã đổi mật khẩu thành sau công 2.4 Đăng xuất Mô tả Khách hàng đăng xuất tài khoản khỏi ứng dụng Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1. Khách hàng chọn Log out 2. Đăng xuất tài khoản khỏi ứng dụng 3. Hiển thị trang đăng nhập Luồng Không có thay thế Điều kiện Khách hàng đã đăng nhập vào ứng dụng trước Điều kiện Hiển thị trang đăng nhập sau 2.5 Trang chủ Mô tả Khách hàng ở giao diện trang chủ có thể xem các hình ảnh và các dịch vụ có sẵn Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1.
Khách hàng ở trang chủ 2. Hiển thị màn hình trang chủ 3. Hiển thị các thông tin hiện có ở trang chủ như banner, image , room,. Luồng Không có thay thế Điều kiện Khách hàng truy cập vào trang web trước Điều kiện Hiển thị trang chủ sau 2.6 Xem thông tin nhà hàng Mô tả Khách hàng đăng nhập vào hệ thống , click vào “Nhà hàng” trên thanh header Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1.
Khách hàng mở trang Nhà 2. Hiển thị màn hình nhà hàng hàng trên thanh header 3. Kéo xem các thông tin có 4. Hiển thị các thông tin của các sẵn nhà hàng sẵn có như hình ảnh , tên ….
Luồng Không thay thế Điều kiện Khách hàng truy cập vào trang web trước Điều kiện Hiển thị màn hình gồm các nhà hàng sau 2.7 Xem thông tin phòng Mô tả Khách hàng đăng nhập vào hệ thống , click vào “Room” trên thanh header hoặc chọn view more ở mục favorite Room ở màn hình trang chủ Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1. Khách hàng mở trang 2. Hiển thị màn hình Room Room trên thanh header hoặc click view more ở mục favorite Room ở màn hình trang chủ 3. Kéo xem các thông tin có 4.
Hiển thị các thông tin của các sẵn nhà hàng sẵn có như hình ảnh , tên, giá …. Luồng Không thay thế Điều kiện Khách hàng truy cập vào trang web trước Điều kiện Hiển thị màn hình gồm các phòng hiện có sau 2.8 Đặt phòng Mô tả Khách hàng đăng nhập vào hệ thống , click vào “Book Room now” ở màn hình trang chủ Tác nhân Khách hàng Luồng Hành vi của tác nhân Hành vi của hệ thống chính 1. Khách hàng click Book 2. Hiển thị màn hình gồm form Room ở màn hình trang chủ nhập thông tin để đặt phòng 3.
Nhập các thông tin cần 4. Hiển thị textbox để khách hàng thiết nhập Luồng Không thay thế Điều kiện Khách hàng truy cập vào trang web, đã đăng nhập tài khoản trước Điều kiện Thông báo đặt phòng thành công sau Chương 3 : THIẾT KẾ KIẾN TRÚC DỮ LIỆU 3.1 Kiến trúc tổng thể của hệ thống Hình 3.1 Mern stack Development MERN Stack :MERN stack là nguyên bộ combo open source các công nghệ đều liên quan đến Javascript là cũng hot nhất hiện nay: MongoDB, ExpressJS, React/React Native, NodeJS. Người ta dùng MERN stack để xây dựng React Universal App.2 Kiến trúc mô hình Mô hình MVC (Model – View – Controller) là một trong những mô hình kiến trúc ứng dụng phổ biến nhất. Ban đầu mô hình này được áp dụng chủ yếu ở các ứng dụng desktop, nhưng sau này ý tưởng về mô hình MVC được ứng dụng cho các nền tảng khác như Web.1 Mô Hình MVC 3.1 Cấu trúc mô hình MVC Tầng xử lý – Controller Xử lý logic của ứng dụng, là cầu nối giữa tầng View và Model.
Hay nói một cách cụ thể, Controller sẽ nhận yêu cầu được gửi từ View và thực hiện xử lí yêu cầu, truy vấn hoặc thao tác dữ liệu lên tầng Model. Sau khi xử lý xong, kết quả sẽ được trả về lại cho tầng View. Tầng logic dữ liệu – Model Tầng Model là trung gian giữa ứng dụng và hệ quản trị cơ sở dữ liệu để cung cấp và quản lý mô hình và các thao tác lên dữ liệu. Thông thường, tầng Model sẽ kết nối với một hoặc nhiều cơ sở dữ liệu để thực hiện các thao tác lên dữ liệu.
Tầng giao diện – View Thể hiện giao diện người dùng, là thành phần giao tiếp giữa người dùng (user) và ứng dụng (application).