CHƯƠNG 1 : TỔNG QUAN 1. Lý do chọn đề tài Trong cuộc sống hiện nay, có một lượng lớn sinh viên, công nhân lao động, gia đình vào các thành phố lớn để học tập và làm việc.Nên nhu cầu tìm kiếm phòng trọ, nơi ở ngày càng tăng. Tránh việc người đi tìm phải tự thân vận động tìm kiếm cho mình một nơi tốt nhất. Thay vào đó chỉ cần ngồi ở nhà, hay chỉ cần một thiết bị điện tử để tìm kiếm đơn giản mà không cần phải đi ra ngoài.
Ý thức được vấn đề đó, nhóm em quyết định chọn đề tài:”Xây dựng Website hỗ trọ tìm kiếm phòng trọ ” và áp dụng thí điểm vào mô hình quản lí đó vào việc tìm kiếm. Mục tiêu đề tài Tìm hiểu đúng phương pháp làm một đề tài theo đúng quy tắc , đúng chuẩn. Đối tượng hướng đến người dùng. Phạm vi giới hạn: chỉ hỗ trợ tìm kiếm phòng trọ, nhà, văn phòng.
Tìm hiểu được cách triển khai và xây dựng một hệ thông. Website phải dễ dàng kiểm tra , cải tiến, nâng cấp khi có những lỗi phát sinh bất ngờ từ hệ thống. Nội dung thực hiện Họ và Tên Nhiệm Vụ Phan Hoàng Hạc(Nhóm trưởng) Thiết kế phần mềm. Lên ý tưởng TIEU LUAN MOI download : skknchat@gmail.com Tìm hiểu ngôn ngữ, công nghệ , IDE, DB.
Hỗ trợ viết báo cáo. Nguyễn Quốc Dũng Hỗ trợ thiết kế phần mềm. Hỗ trợ thiết kế giao diện. Viết và trình bày báo cáo.
1: Bảng nội dung thực hiện 1. Phương pháp thực hiện Họp và phân tích sử dụng công nghệ nào ? thiết kế giao diện như thế nào ? sử dụng cơ sở dữ liệu gì ?. Sau khi phân tích tiến hành và đã chọn sử dụng công nghệ React js và Node js thực hiện theo yêu cầu phần tích. Kiểm thử và hoàn thành sản phẩm.
Giới thiệu về công nghệ sử dụng 1.1 Ngôn ngữ javascrip Là một ngôn ngữ lập trình web rất phổ biến ngày nay. Javascript được tích h ợp đồng thời nhúng vào HTML để hỗ trợ cho website trở nên sống động hơn. Chúng cũng đóng vai trò tương tự như một phần của website, cho phép Clien t-side Script từ người dùng tương tự máy chủ (Nodejs) để tạo ra những websi te động. Brendan Eich chính là người đã phát triển Javascript tại Netscape với tiền thâ n là Mocha.
Sau đó, Mocha được đổi thành LiveScript và cuối cùng mới đổi t hành JavaScript. TIEU LUAN MOI download : skknchat@gmail.com Năm 1998, JavaScript với phiên bản mới nhất là ECMAScript 2 phát hành v à đến năm 1999 thì ECMAScript 3 được ra mắt. Năm 2016, ứng dụng JavaScript đã đạt kỷ lục lên tới 92% website sử dụng, đ ồng thời cũng được đánh giá là một công cụ cực kỳ quan trọng đối với lập trì nh viên. Visual Studio Code(IDE) Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi Mi crosoft dành cho Windows, Linux và macOS.
Nó hỗ trợ chức năng debug, đ i kèm với Git, có chức năng nổi bật cú pháp, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, c ó Syntax Highlighting. Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn. Nhờ tính năng tùy chỉnh, Visual Studio Cod e cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác.
Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại b ao gồm các tính năng mạnh mẽ. Node js NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằn g c++ và Javascript. Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào nă m 2009. TIEU LUAN MOI download : skknchat@gmail.js ra đời khi các developer đời đầu của JavaScript mở rộng nó từ một thứ bạ n chỉ chạy được trên trình duyệt thành môi trường mà bạn có thể chạy trên máy củ a mình dưới dạng ứng dụng độc lập.
Cả trình duyệt JavaScript và Node.js đều chạy trên JavaScript runtime V8 engine. Công cụ này lấy code JavaScript của bạn và convert nó sang mã máy (bytecode) c ho việc thực thi nhanh hơn. Mã máy là loại code thấp cấp hơn để máy tính có thể c hạy mà không cần biên dịch nó. Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime.
Realtime ở đây chính là xử lý giao tiếp từ client tới máy chủ theo thời gian thực. Giống như khi bạn lướt Face book thì mỗi khi bạn comment hay like một topic nào đó thì ngay lập tức chủ topic và những người đã comment trên đó sẽ nhận được thông báo là bạn đã comment. Express framework ExpressJS là một trong những framework phổ biến dùng để xây dựng API và Website phổ biến nhất của NodeJS. Nó được sử dụng rộng rãi đến mức hầu như mọi dự án Web nào đều bắt đầu bằng việc tích hợp Express.
Có rất nhiều lý do để chọn ExpressJS: Có nhiều tính năng hỗ trợ tất cả những gì bạn cần trong việc xây dựng Web và API. Quản lý các route dễ dàng. Cung cấp một nền tảng phát triển cho các API Hỗ trợ nhiều thư viện và plugin. Bảo mật và an toàn hơn so với việc code thuần.
Hỗ trợ cộng đồng tuyệt vời TIEU LUAN MOI download : skknchat@gmail. Mongodb MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản, là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường tương tự như các đối tượng JSO N. Một bản ghi trong collection MongoDB và đơn vị dữ liệu cơ bản trong MongoDB.
Các tài liệu (document) tương tự như các đối tượng JSON nhưng tồn tại trong cơ s ở dữ liệu ở định dạng có nhiều kiểu dữ liệu hơn được gọi là BSON. Một cặp name-value trong một document. Một document có 0 hoặc nhiều trường (field). Các fileld tương tự như các cột(column) trong cơ sở dữ liệu quan hệ (RDB MS).
Mongoose Khi bạn đã xác định các Schemas và Model của mình, Mongoose sẽ bao gồm nhi ều hàm khác nhau cho phép bạn xác thực, lưu, xóa và truy vấn dữ liệu của bạn bằn g các hàm MongoDB phổ biến. Để làm việc với Mongoose sau khi thực hiện conn ection thì chúng ta sẽ bắt đầu với một Schema. Mỗi Schemas đều được chỉ định t ới một collection trong MongoDB và từ đó xác định hình "bộ khung" cho các docu ment trong collection được chỉ đinh đó. Ở đây mình có một Schemas.
Mỗi key trong object truyền vào class new Schema ví dụ như (title, author, bod y,.) được chỉ định là một thuộc tính của một document, mỗi value trong object ( n hư trong ví dụ là String, Boolean, Number) sẽ đại diện cho kiểu dữ liệu được sử dụ ng ( SchemaType ). Model chịu trách nhiệm với các document như việc thêm, sửa, xóa, các câu truy v ấn. Mục tiêu đề ra TIEU LUAN MOI download : skknchat@gmail.com Phần mềm sau khi được hoàn thành sẽ giúp người sử dụng thực hiện các chức năng của trang web: o Quản lý các bài đăng. o Thao tác thêm, xóa, sửa nhanh, gọn, dễ dàng, chính xác.
o Thực hiện việc tìm kiếm. o Cập nhật thông tin cá nhân. CHƯƠNG 2 : TÁC PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU 2. Quá trình phân tích 2.
Phân tích phạm vi dự án Phạm vi : website gồm các chức năng cơ bản. Phần mền được phát triển và vận hành bởi con người. Phân tích mở rộng yêu cầu nghiệp vụ TIEU LUAN MOI download : skknchat@gmail.com Xác định yêu cầu nghiệp vụ: Thu thập yêu cầu của khách hàng và ch ia nhỏ tác vụ đến mức tối thiểu để mô tả một cách chính xác nhất. Xác định yêu cầu chất lượng: Đáp ứng nhu cầu khách hàng nhanh, c hính xác, … Phân tích cơ sở hạ tầng hiện hành: Nắm bắt cấu hình, hệ điều hành đ ược sử dụng nhiều để nâng cấp phần mềm phù hợp với nhu cầu của khách hàng, tăng mức độ chính xác và hiệu quả.
Phân tích ảnh hưởng kỹ thuật: Theo nhu cầu của thời đại, luôn phải n âng cấp và cải thiện hệ thống. Phân tích yêu cầu bảo mật Xác định môi trường bảo mật phần mềm: Cung cấp đủ thông tin cho người dùng. Xác định mức độ yêu cầu bảo mật: Xác định mức độ rủi ro để bảo m ật phần mềm. Rà soát bảo mật hiện tại: Tuân thủ yêu cầu bảo mật để đưa ra nhiều giải pháp mang lại lợi ích cao.
Phân tích yêu cầu tốc độ Khi khởi động website, tùy vào cấu hình máy mà thời gian sẽ dao độ ng từ 3-10 giây. Sau khi đăng nhập, 100% các thao tác xử lý không quá 10 giây. - Kh i có yêu cầu của người dùng, thao tác phản hồi người dùng là nhanh. Có thể thực hiện đăng nhiều bài khác nhau trong một lúc.
Phân tích yêu cầu vận hành TIEU LUAN MOI download : skknchat@gmail.com Hệ thống được xây dựng trên nền Visual Studio Code(IDE) với ngôn ngữ JavaScrip. Cơ sở dữ liệu của hệ thống sử dụng CSDL Mongodb. Yêu cầu phần cứng: CPU intel core i3 hoặc AMD Ryzen 3 trở lên; R AM >=1GB; Ổ C trống tối thiểu 1GB; Hệ điều hành Windows 7/8/1 0. Phần cứng tối ưu: CPU intel core i5 (chíp H hoặc HQ) hoặc AMD R yzen 5 trở lên; RAM >=4GB; Ổ C trống tối thiểu 1GB; Hệ điều hành Windows 7/8/10.
Phân tích yếu tố con người Mục đích chính của website là mang đến lợi ích cho con người, nên yếu tố con người là phần quạn trọng không thể thiếu. Bắt đầu với việc định nghĩa mục tiêu người dùng, qua đó xác định được các dạng người dùng với những nhu cầu đặc biệt liên quan, từ đó có thể sửa đổi phần mềm thí ch ứng với những nhu cầu đó. Phân tích yêu cầu tích hợp -Khi nhu cầu của người dùng phát sinh lớn thì cơ sở dữ liệu cần đ ược thiết kế lại dựa trên những kỹ thuật thiết kế cơ sở dữ liệu mới để đáp ứng nhu cầu nâng cấp cơ sở dữ liệu trong hệ thống. Việc x ây dựng các tiện ích chuyển đổi riêng biệt ta có thể dễ dàng thực hiện việc truy xuất cơ sở dữ liệu hiện có, hay chuyển đổi dữ liệu cũ sang khuôn dạng mới.
Phân tích thực tiễn nghiệp vụ tồn tại Khi hiểu được những nghiệp vụ thực tế liên quan đến website của doanh nghiệp, ta sẽ tránh được sai sót đồng thời và có thể TIEU LUAN MOI download : skknchat@gmail.com tìm được cách tốt hơn, hiệu quả hơn cho việc hiện thực tiến tr ình nghiệp vụ và ngăn ngừa các lỗi tầm thường.