Chương 1: TỔNG QUAN 1. Lý do chọn đề tài Cùng với quá trình toàn cầu hóa và sự phát triển của công nghệ thông tin, mạng internet trên thế giới và Việt Nam ngày càng phát triển mạnh mẽ. Sự tham gia của các cá nhân trên mạng ngày càng tích cực và nhu cầu chia sẻ thông tin, kết nối bạn bè là nhu cầu thiết yếu thúc đẩy sự ra đời, phát triển của các website và ứng dụng mobile. Hiện nay, tình hình phát triển của các website và ứng dụng mobile đang ngày trở nên mạnh mẽ.
Số lượng người truy cập và đăng ký thành viên ở các website và ứng dụng mobile ngày càng tăng. Điển hình như một số website mạng xã hội: facebook.com,…tương ứng là các ứng dụng mobile như Facebook, Cooky, Pinterest,… Tuy nhiên, dù đã có rất nhiều website và ứng dụng mobile trên thị trường như thế nhưng nhu cầu của người dùng vẫn rất cao nên nhóm đã nghiên cứu xây dựng website và ứng dụng mobile chia sẻ hình ảnh nhằm chia sẻ nhu cầu và tạo nhiều lựa chọn cho người dùng. Mục tiêu Thiết kế và xây dựng được website và ứng dụng mobile Chia Sẻ Hình Ảnh với đầy đủ các tính năng như: đăng tải hình ảnh, tìm kiếm và xem các hình ảnh của nhiều người,… Thiết kế giao diện người dùng gần gũi, dễ sử dụng. Với giao diện người quản trị đơn giản trực quan có các chức năng để quản lí người dùng.
Công nghệ sử dụng - Front-end: Angular 9 có sử dụng HTML, CSS, JS, Boostrap 4.0 với ứng dụng mobile có sử dụng ionic. - Back-end: ASP. - Database: SQL Server. 1 Chương 2: CƠ SỞ LÝ THUYẾT 2.
Angular Framework Angular là một JavaScript framework dùng để viết giao diện web (Front-end) do google phát triển. Hiểu đơn giản thì Angular là một khung làm việc của JavaScript MVC phía máy khách (client) nhằm phát triển ứng dụng web động. [1] Angular là một JavaScript framework rất mạnh. Angular cung cấp các tính năng tích hợp cho animation, http service và có các tính năng như auto-complete, navigation, toolbar, menus,… Code được viết bằng TypeScript, biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.
[2] Ưu điểm khi sử dụng Angular: [1] Code HTML mạnh mẽ hơn với những đặc trưng như IF, FOR, LOCAL VARIABLES,… Xây dựng và tái sử dụng nhờ vào những khối module độc lập. Nhanh chóng giải quyết các bài toán logic nhờ back-end service hỗ trợ giao tiếp.NET Core ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows, Linux và Mac. Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng của MVC và Web API thành một web framework duy nhất. [3] Ưu điểm khi sử dụng ASP.NET Core: [3] ASP.NET Core không phải là phiên bản tiếp theo của ASP.
Nó là một cái tên mới được xây dựng từ đầu. Nó có một sự thay đổi lớn về kiến trúc và kết quả là nó gọn hơn, phân chia module tốt hơn.NET Core không còn dựa trên System. Nó dựa trên một tập hợp nhiều yếu tố của Nuget packages. Điều này cho phép bạn tối ưu ứng dụng của mình chỉ cần những NuGet packages cần thiết.NET Core có thể chạy trên cả .NET Core hoặc full.
Xây dựng và chạy được các ứng dụng ASP.NET Core trên nhiều nền Có khả năng host trên IIS hoặc self-host. Microsoft SQL Server 2017 Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm 2 khác. Có thể chạy trên cùng một máy tính hoặc trên một máy tính khác trên mạng (bao gồm cả Internet).
[4] Microsoft SQL Server có nhiều phiên bản khác nhau, ở phiên bản SQL Server 2017 có các tính năng đột phá sau: [4] Tăng cường hiệu suất mà không cần điều chỉnh: Tăng hiệu suất tốc độ truy vấn bằng cách sử dụng Adaptive Query Processing, giao dịch nhanh hơn với bộ nhớ trong OLTP và phân tích nhanh hơn 100x với Columnstore bộ nhớ trong. Bảo vệ dữ liệu với Luôn luôn Mã hóa. Truy vấn bất kỳ dữ liệu nào có hỗ trợ đồ thị. Hỗ trợ bất kỳ nền tảng, bất kỳ đám mây.
Swagger UI APIs (Application Programming Interfaces) đang ngày càng trở nên phổ biến, các dịch vụ trên Internet hầu hết đều sử dụng chuẩn RESTfull APIs để cung cấp cho các đối tác 1 phần tài nguyên của mình sử dụng. Để cho các đối tác biết mình được cung cấp những tài nguyên gì và sử dụng những thông tin nào để có thể lấy được tài nguyên đó, ta cần phải có 1 công cụ hỗ trợ việc tạo document APIs giúp thuận tiện cho việc cung cấp về cách sử dụng tài nguyên thông qua APIs 1 cách hiệu quả và Swagger ra đời nhằm phục vụ cho công việc đó. [5] Swagger là 1 open source dùng để phát triển, thiết kế, xây dựng và làm tài liệu cho các hệ thống RESTfull Web Service. Có một số phần mềm swagger như Swagger Editor, Swagger Codegen, Swagger Inspector, Swagger UI.
Trong đó swagger UI được sử dụng nhiều nhất. Ionic Framework Ionic Framework là bộ công cụ giao diện người dùng mã nguồn mở để xây dựng các ứng dụng dành cho thiết bị di động và máy tính có chất lượng cao, hiệu quả sử dụng công nghệ web như HTML CSS và JavaScript – với tích hợp các khung phổ biến như Angular, React và Vue. [6] Ưu điểm: [6] Đa nền tảng: Xây dựng và triển khai các ứng dụng hoạt động trên nhiều nền tảng như IOS, Android, máy tính và Progressive Web App - ứng dụng web tiến bộ với cùng một cơ sở mã. Thiết kế đẹp: Thiết kế đơn giản, đầy đủ chức năng, có thể hoạt động và hiển thị đẹp mắt trên tất cả các nền tảng.
Các thành phần được thiết kế trước với kiểu chữ, mô hình tương tác và chủ đề cơ sở tuyệt đẹp. 3 Dễ sử dụng: Ionic Framework được thiết kế với mục đích đơn giản nên việc tạo ra các ứng dụng trở nên dễ học đối với bất kì ai có kỹ năng phát triển web. 4 Chương 3: NỘI DUNG 3. Chức năng sản phẩm 3.com và ứng dụng Pinterest Ưu điểm: Giao diện đơn giản, dễ sử dụng.
Có áp dụng AI tìm hiểu thói quen của người dùng để đưa ra các gợi ý tìm kiếm. Ngoài ra chất lượng tải lên hình ảnh tương đối tốt. Nhược điểm: Các biểu tượng cho chức năng không có chú giải, trong trường hợp người dùng không biết về các biểu tượng đó thì phải click vô mới biết đó chức năng gì. Ở bước đăng ký bằng email không có xác thực tài khoản email có phải chính chủ không.com và ứng dụng Facebook Ưu điểm: Giao diện thiết kế đẹp, chi tiết.
Đầy đủ chức năng để đáp ứng mọi nhu cầu của người dùng. Nhược điểm: Hình ảnh/video khi tải lên chất lượng có thể bị giảm đi.vn và ứng dụng Cooky Ưu điểm: Giao diện thân thiện, đầy đủ chức năng để sử dụng. Nhược điểm: Chưa có chế độ bảo mật cho tài khoản. Ở bước đăng ký bằng email không có xác thực tài khoản email có phải chính chủ không.
Kết luận: Qua khảo sát các sản phẩm trên nhóm rút ra được các chức năng cần có: Chức năng của website: Chức năng của khách: Đăng ký. Chức năng của người dùng đã xác thực: Đăng xuất. Xem hình ảnh với nhiều chủ đề đa dạng. Đăng tải hình ảnh.
Tìm kiếm người dùng hoặc hình ảnh theo chủ đề. Quản lý tin nhắn: - Xem danh sách tin nhắn. 5 - Xem chi tiết khung chat của tin nhắn. - Gửi tin nhắn.
Tương tác với hình ảnh: - Xem chi tiết hình ảnh. - Tải xuống hình ảnh. - Thả tim, bình luận hình ảnh. - Thả tim, trả lời bình luận.
Tương tác với trang cá nhân: - Xem chi tiết trang cá nhân với các hình ảnh đã đăng tải. - Xem danh sách các bài viết yêu thích. - Thay đổi ảnh đại diện. - Chỉnh sửa thông tin cá nhân.
- Xem danh sách người theo dõi hoặc đang theo dõi. Tương tác với trang cá nhân của người dùng khác: - Xem chi tiết trang cá nhân của người dùng khác. - Theo dõi hoặc huỷ theo dõi người dùng. - Báo cáo người dùng.
- Xem danh sách người theo dõi hoặc đang theo dõi. Chức năng của người quản trị: Đăng nhập. Quản lý các tài khoản. Quản lý các bài viết (hình ảnh).
Quản lý các bình luận. Chức năng của ứng dụng mobile: Chức năng của khách: Đăng ký. Chức năng của người dùng đã xác thực: Đăng xuất. Xem hình ảnh với nhiều chủ đề đa dạng.
Đăng tải hình ảnh. Tìm kiếm người dùng hoặc hình ảnh theo chủ đề. Quản lý tin nhắn: - Xem danh sách tin nhắn. - Xem chi tiết khung chat của tin nhắn.
- Gửi tin nhắn. Tương tác với hình ảnh: - Xem chi tiết hình ảnh. - Tải xuống hình ảnh. - Thả tim, bình luận hình ảnh.
- Thả tim, trả lời bình luận. Tương tác với trang cá nhân: - Xem chi tiết trang cá nhân với các hình ảnh đã đăng tải. - Thay đổi ảnh đại diện. - Chỉnh sửa thông tin cá nhân.
- Xem danh sách người theo dõi hoặc đang theo dõi. Tương tác với trang cá nhân của người dùng khác: - Xem chi tiết trang cá nhân với các hình ảnh đã đăng tải của người dùng đó. - Theo dõi hoặc huỷ theo dõi người dùng. - Báo cáo người dùng.
- Xem danh sách người theo dõi hoặc đang theo dõi. Công việc đã thực hiện khi báo cáo tiến độ: Tiểu luận chuyên ngành: Chức năng cho website: Chức năng của khách: - Đăng ký. Chức năng của người dùng đã xác thực: - Đăng xuất. - Tìm kiếm hình ảnh.
- Xem hình ảnh với nhiều chủ đề đa dạng. - Xem chi tiết hình ảnh. - Đăng hình ảnh. - Chỉnh sửa thông tin cá nhân.
7 - Thay đổi mật khẩu. Chức năng của người quản trị: - Quản lý tài khoản. - Quản lý bài viết. Mô hình hoá yêu cầu 3.
Thiết kế use case diagram Hình 3. Đặc tả use case Người dùng đã xác thực Hình 3. Usecase tổng quát của Người dùng đã xác thực 9 a. <Người dùng đã xác thực> Tìm kiếm hình ảnh hoặc người dùng Bảng 3.
Đặc tả usecase Tìm kiếm hình ảnh hoặc người dùng USE CASE – CSHA_UC_03 Use Case No. CSHA _UC_03 Use Case Version 1.