MỞ ĐẦU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI: Hiện nay lượng người sử dụng Internet là rất lớn, hầu hết mọi người đều tiếp cận Internet qua các trang web vì vậy Website hiện nay là một nhu cầu thiết yếu để tìm kiếm thông tin học hỏi kiến thức. Không những vậy Website còn hổ trợ rất nhiều cho các hoạt động kinh tế của các doanh nghiệp lớn nhỏ như quảng bá, trưng bày sản phẩm, đưa sản phẩm đến gần với khách hàng và tạo sự thuận lợi cho việc tìm kiếm và mua hàng đối với người tiêu dùng. Nếu cửa hàng, trụ sở làm việc, văn phòng là bộ mặt của doanh nghiệp ở bên ngoài thì Website lại chính là “ cửa hàng ảo”, là bộ mặt của doanh nghiệp trên Internet.
Những gì khách hàng biết về bạn và tiếp xúc với công ty của bạn, tất cả đều qua Website. Qua Website chắc chắn khách hàng cũng sẽ có những nhận xét riêng về công ty đó. Một Website được thiết kế ấn tượng, thu hút, chất lượng chứng tỏ doanh nghiệp cũng rất chuyên nghiệp. Theo báo cáo mới đây, Việt Nam có hơn 34 triệu người dùng Internet trên tổng số 90 triệu dân.
Con số này cao hơn các nước phát triển hơn như là Trung Quốc, Hồng Kông, Nhật Bản, … Nếu như trước đây công ty, doanh nghiệp của bạn chỉ bán hàng cho khách hàng tới mua trực tiếp tại cửa hàng. Khách hàng ở đây thường là ở trong khu vực gần cửa hàng hoặc trong cùng thành phố. Nếu doanh nghiệp có Website riêng thì bây giờ tập khách hàng của doanh nghiệp đó đã mở rộng ra rất nhiều. Doanh nghiệp có thể phục vụ cho khách hàng cả nước và trên toàn thế giới nếu như bạn đủ khả năng.
Trước khi mua sản phẩm, thông thường khách hàng sẽ lên mạng tìm hiểu thông tin thật đầy đủ và kĩ càng trước, sau đó họ sẽ tới cửa hàng xem xét và ra quyết định mua. Họ sẽ tìm tới bạn nếu như bạn có Website trên mạng. Ngoài ra, để tăng tỉ lệ tiếp cận với khách hàng, bạn nên chú trọng vào Website sẽ thu hút được một lượng khách hàng tiềm năng. Bạn không cần phải đi tìm họ, chính họ sẽ tìm đến bạn và sử dụng dịch vụ của bạn.
Nếu như kinh doanh offline nhân viên chỉ có thể làm việc và phục vụ khách hàng trong 8 tiếng làm việc. Nhưng khi có website bạn có thể phục vụ khách hàng của mình 24/24 và không kể các ngày nghỉ lễ. Với các công cụ, chức năng tự động, khách hàng sẽ được phục vụ và có thể click đặt hàng bất kì lúc nào họ 1 do an muốn. Để có một cửa hàng được mở ra và phục vụ tốt cho khách hàng chắc chắn chúng ta sẽ mất nhiều khoản chi phí đầu tư cả về người và về của (VD: nhân viên bán hàng, nhân viên bảo vệ, bàn ghế, tủ đồ trang trí, v.v ) Nhưng khi bạn đã có một Website bạn chỉ cần đầu tư cho nó thật tốt là đủ.
Và chắc chắn điều này sẽ tiết kiệm hơn rất nhiều cho bạn. Bạn có thể tận dụng Website để chăm sóc khách hàng sau khi bán hàng, khảo sát ý kiến khách hàng về sản phẩm, dịch vụ của mình. Từ công việc chăm sóc đơn giản này bạn có thể cung cấp cho khách hàng những sản phẩm, dịch vụ tốt hơn từ nhu cầu của khách hàng và duy trì quan hệ thân thiết với khách hàng tiềm năng của mình. Website đóng một vai trò rất quan trọng trong thời buổi công nghệ thông tin phát triển rực rỡ như ngày nay.
Nếu bạn chưa có Website, bạn nên đầu tư thiết kế và xây dựng Website riêng thật tốt. Vì một Website tốt chắc chắn sẽ đóng góp rất nhiều cho doanh nghiệp. MỤC ĐÍCH CỦA ĐỀ TÀI: Tìm hiểu tài liệu về Spring Microservices, Angular 5, PostgreSQL. Phân tích, thiết kế và xây dựng website bán hàng với một số chức năng cơ bản như sau: Đăng nhập.
Đăng ký tài khoản. Xem danh sách sản phẩm. Xem chi tiết sản phẩm. Quản lý danh mục sản phẩm.
Quản lý sản phẩm. Quản lý người dùng. Quản lý quyền hạng. Quản lý thông tin cá nhân.
CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU: 3. Đối tượng nghiên cứu: Tất cả mọi người sử dụng internet. Phạm vi nghiên cứu: Tìm hiểu hình thức thanh toán mua hàng. Tìm hiểu các công nghệ được sử dụng trong đề tài: Spring Microservices, Angular 5.
Tìm hiểu về UI/UX và cách để người dùng sử dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất khi sử dụng Tìm hiểu và xây dựng website bán hàng phù hợp với mọi đối tượng người dùng. Phướng pháp nghiên cứu: Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng dụng liên quan đến các công nghệ đang tìm hiểu. Phương pháp chuyên gia: Tham khảo ý kiến của Giáo viên hướng dẫn cùng các anh, chị và bạn bè có kinh nghiệm liên quan đến các vấn đề của khóa luận để tạo tính chính xác và khoa học của đề tài. Phương pháp mô hình hóa: Mô phỏng Website từ bước thiết kế cài đặt cho đến kết quả thành phẩm của Website.
PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN: Đa số các Website bán hàng đều trưng bày sản phẩm theo danh mục sản phẩm, khách hàng dễ dàng tìm kiếm sản phẩm, đều có hình thức thanh toán online và đặt hàng. Tuy nhiên một số ứng dụng vẫn có các nhược điểm mà nhóm em đã tổng hợp được: Một số ứng dụng có giao diện chưa thu hút người dùng Một số ứng dụng có UI đẹp, nhưng UX hơi tệ Một số ứng dụng không có phần mô tả giới thiệu về sản phẩm. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC: Xây dựng Website bán hàng đơn giản dể dàng tìm kiếm, xem thông tin sản phẩm và hình thức thanh toán dễ dàng tiện lợi. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN: Đề tài hướng đến khả năng tiếp thu, nâng cao kỹ năng lập trình, nghiên cứu công nghệ mới và trên hết là đáp ứng nhu cầu của của người mua hàng và tính thương mại của doanh nghiệp trên internet.
4 do an NỘI DUNG CHƯƠNG 1. CÁC CÔNG NGHỆ SỬ DỤNG 1. TỔNG QUAN VỀ SPRING BOOT: 1. Giới thiệu về Spring Framework: 1.
Spring là gì? Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại code… Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên). Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lơn. Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming.
Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web. Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object). Kiến trúc, các module của Spring Framework: Spring được chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng dụng mà ta dùng 1 trong các module đó. 5 do an Dưới đây là kiến trúc tổng thể của Spring Framework: Hình 1.
1 Kiến trúc tổng thể của Spring Framework. 1 Bảng mô tả các chức năng của các module trong Spring Framework Module Chức năng Test Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG. Spring Core Container Bao gồm các module spring core, beans, context và expression language (EL): - Spring core, bean cung cấp tính năng IOC và Dependency Injection. - Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX.
- Expression Language được mở rộng từ Expresion Language trong JSP. Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic… 6 do an AOP, Aspects and Những module này hỗ trợ cài đặt lập trình hướng khía cạnh Instrumentation (Aspect Oriented Programming), hỗ trợ tích hợp với AspectJ. Data Access / Integration Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những module này cung cấp khả năng giao tiếp với database Web Hay còn gọi là Spring MVC Nhóm này gồm Web, Web- Servlet… hỗ trợ việc tạo ứng dụng web.
Lợi ích của Spring Framework: Spring cho phép lập trình viên sử dụng POJOs. Việc sử dụng POJOs giúp bạn không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản hơn rất nhiều. Spring được tổ chức theo kiểu mô đun. Số lượng các gói và các lớp khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì chúng ta cần và không cần quan tâm đến phần còn lại.
Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)… Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủ các tính năng giúp thay thế các web framework khác như Struts. Giới thiệu về Spring Boot: 1. Spring Boot là gì? Spring Boot là một dự án phát triển bởi ngôn ngữ Java trong Spring Framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.
Do đó, Spring Boot giúp chúng ta có thể tiết kiệm thời gian phát triển cũng như chạy ứng dụng. Một số tính năng nổi bật của Spring Boot: Đóng gói ứng dụng Spring dưới dạng một file JAR (stand-alone). Chúng ta có thể dễ dàng start ứng dụng Spring chỉ với câu lệnh quen thuộc java -jar. Tối ưu công đoạn cấu hình cho ứng dụng Spring, không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML.
Cung cấp một loạt các tính năng phi chức năng phổ biến cho các dự án lớn như nhúng trực tiếp web server như Tomcat, Jetty,. vào ứng dụng, bảo mật, health check. HIBERNATE: Hibernate là 1 ORM Framework: thực hiện mapping cơ sở dữ liệu quan hệ sang các object trong ngôn ngữ hướng đối tượng. Hibernate là 1 Framework cho persistence layer: Thực hiện giao tiếp giữa tầng ứng dụng với tầng dữ liệu (kết nối, truy xuất, lưu trữ…).
Kiến trúc Hibernate framework: Hình 1. 2 Kiến trúc của Hibernate Framework. GIỚI THIỆU VỀ CẤU TRÚC MICROSERVICES: 1. Giới thiệu về Microservices: Kiến trúc Microservices gồm nhiều dịch vụ nhỏ.
Mỗi dịch vụ nhỏ thực hiện một số các chức năng chuyên biệt như quản lý đơn hàng, quản lý khách hàng… Mỗi dịch vụ là một ứng dụng nhỏ có kiến trúc đa diện lõi là business logic kết nối ra các adapter khác nhau.