Báo cáo thực tập: Xây dựng website bán smartphone bằng Java Spring Boot

Tài liệu đồ án tốt nghiệp xây dựng website bán smartphone bằng Java Spring Boot. Báo cáo chi tiết phân tích, thiết kế hệ thống và cơ sở dữ liệu.

Trường đại học

Đại học Công nghiệp Hà Nội

Chuyên ngành

Khoa học Máy tính

Người đăng

Ẩn danh

Thể loại

Thực tập tốt nghiệp

2023

96
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Website Bán Smartphone bằng Java Spring Boot

Đồ án website bán smartphone bằng Java Spring Boot là một dự án học thuật nhằm ứng dụng các kiến thức về lập trình web hiện đại. Java Spring Boot là framework mạnh mẽ giúp xây dựng ứng dụng web nhanh chóng và hiệu quả. Đề tài này tập trung vào việc phát triển một nền tảng thương mại điện tử hoàn chỉnh cho lĩnh vực bán lẻ điện thoại thông minh. Thông qua đồ án này, sinh viên có cơ hội làm quen với các công nghệ backend hiện đại, quản lý cơ sở dữ liệu, và xây dựng API RESTful. Mục tiêu chính là tạo ra một website bán smartphone có đầy đủ tính năng để phục vụ người dùng cuối cũng như quản lý hệ thống từ phía admin.

1.1. Khái niệm Java Spring Boot trong Phát triển Web

Java Spring Boot là framework được xây dựng trên nền tảng Spring Framework, giúp đơn giản hóa quá trình phát triển ứng dụng Java. Framework này cung cấp các tính năng như tự động cấu hình, embedded server, và dependency injection. Spring Boot cho phép lập trình viên tập trung vào logic ứng dụng thay vì lo lắng về cấu hình phức tạp. Đây là lựa chọn tối ưu cho việc xây dựng website bán smartphone vì khả năng mở rộng, bảo mật, và hiệu suất cao.

1.2. Tính chất Thực tiễn của Đề tài

Đồ án này mang giá trị thực tiễn cao vì trực tiếp ứng dụng vào ngành thương mại điện tử phát triển mạnh mẽ hiện nay. Xây dựng website bán smartphone giúp sinh viên hiểu rõ quy trình phát triển phần mềm từ phân tích, thiết kế đến triển khai. Kinh nghiệm này cực kỳ quan trọng cho sự nghiệp lập trình viên backend trong tương lai.

II. Phân tích Yêu cầu và Thiết kế Hệ thống

Phân tích yêu cầu là bước quan trọng nhất trong việc xây dựng website bán smartphone bằng Java Spring Boot. Hệ thống cần đáp ứng nhu cầu của hai nhóm người dùng chính: khách hàng và quản trị viên. Từ phía khách hàng, website phải cung cấp các chức năng như tìm kiếm sản phẩm, xem chi tiết, thêm vào giỏ hàng, đặt hàng và tra cứu đơn hàng. Từ phía admin, hệ thống cần có giao diện quản lý sản phẩm, danh mục, đơn hàng và người dùng. Thiết kế hệ thống sử dụng biểu đồ Use Case UML để mô tả các tương tác, kết hợp với biểu đồ lớp và biểu đồ trình tự để đảm bảo tính logic và toàn vẹn của dữ liệu.

2.1. Các Chức năng Chính của Khách Hàng

Khách hàng có thể đăng ký, đăng nhập, tìm kiếm sản phẩm smartphone theo danh mục hoặc từ khóa. Họ xem chi tiết sản phẩm, thêm vào giỏ hàng, quản lý giỏ hàng và tiến hành đặt hàng. Hệ thống cho phép tra cứu đơn hàng theo mã đơn hàng hoặc email. Mỗi chức năng được thiết kế user-friendly để tăng trải nghiệm người dùng.

2.2. Các Chức năng Quản lý của Admin

Admin có quyền quản lý sản phẩm, danh mục, đơn hàng và tài khoản người dùng. Quản lý sản phẩm bao gồm thêm, sửa, xóa thông tin smartphone. Quản lý đơn hàng cho phép xác nhận, xử lý và cập nhật trạng thái giao hàng. Hệ thống cung cấp báo cáo doanh thu và thống kê chi tiết.

III. Công nghệ và Công cụ Phát triển

Để xây dựng website bán smartphone bằng Java Spring Boot hoàn chỉnh, dự án sử dụng một stack công nghệ hiện đại và phù hợp. Java là ngôn ngữ lập trình chính với Spring Boot framework cho phần backend. Cơ sở dữ liệu sử dụng MySQL để lưu trữ dữ liệu sản phẩm, người dùng và đơn hàng. Phía frontend có thể sử dụng HTML, CSS, JavaScript hoặc các framework như Thymeleaf. Công cụ phát triển bao gồm Maven hoặc Gradle để quản lý dependency, Git cho version control, và Postman để test API. IDE được khuyên dùng là IntelliJ IDEA hoặc Eclipse. Docker có thể được sử dụng để containerize ứng dụng.

3.1. Stack Backend với Spring Boot

Backend của website bán smartphone được xây dựng trên Spring Boot với các module quan trọng như Spring Data JPA để tương tác với cơ sở dữ liệu, Spring Security cho xác thực và phân quyền người dùng. Spring MVC xử lý routing và logic controller. Hibernate được sử dụng làm ORM mapping để chuyển đổi dữ liệu giữa Java objects và database.

3.2. Quản lý Cơ sở Dữ liệu

Cơ sở dữ liệu MySQL lưu trữ bảng User, Product, Category, Order, OrderDetail. Thiết kế schema được chuẩn hóa để đảm bảo hiệu suất và tính toàn vẹn dữ liệu. MySQL Workbench được sử dụng để quản lý và thiết kế database. Backup định kỳ đảm bảo an toàn dữ liệu của hệ thống website bán smartphone.

IV. Kết quả Đạt được và Hướng Phát triển

Khi hoàn thành đồ án website bán smartphone bằng Java Spring Boot, các sinh viên đã đạt được nhiều kết quả quan trọng. Hệ thống hoạt động ổn định với tất cả các chức năng chính được triển khai thành công. Khách hàng có thể mua hàng online một cách dễ dàng, trong khi admin quản lý toàn bộ hoạt động kinh doanh. Dự án cung cấp API RESTful hoàn chỉnh và giao diện web responsive. Sinh viên nắm vững kiến thức về Java Spring Boot, thiết kế hệ thống, và quản lý dự án. Hướng phát triển tiếp theo có thể bao gồm tích hợp thanh toán online, hệ thống đánh giá sản phẩm, hoặc ứng dụng mobile bán smartphone.

4.1. Kết quả Chính của Đồ án

Đồ án hoàn thành thành công với website bán smartphone đầy đủ tính năng, từ giao diện người dùng đến hệ thống quản lý backend. Tất cả use case được thiết kế, phân tích và cài đặt. Hệ thống Java Spring Boot chạy ổn định, đáp ứng nhanh chóng. Database được thiết kế chuẩn và an toàn. Code được tổ chức rõ ràng theo mô hình MVC, dễ bảo trì và mở rộng.

4.2. Khó khăn Thuận lợi và Kiến nghị

Thuận lợi là tài liệu Spring Boot phong phú, cộng đồng lớn hỗ trợ. Khó khăn gặp phải là bảo mật thanh toán, tối ưu hiệu suất. Kiến nghị thêm tính năng như thanh toán online, AI gợi ý sản phẩm, hoặc ứng dụng mobile. Đồ án website bán smartphone là bước đệm tốt cho sự phát triển professional.

21/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Tìm hiểu về ngôn ngữ JAVA 1. Khái niệm JAVA • Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991. Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak.

• Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem. • Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động. • Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA).

Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Lịch sử hình thành các phiên bản JAVA đã ra đời • Java là nền tảng độc lập vì chúng ta có thể chạy mã Jav trên bất kì máy nào mà không cần cài đặt bất kì phần mềm đặc biệt nào, JVM thực hiện điều đó. • Java là hướng đối tượng vì các lớp và đối tượng của nó. • Java không sử dụng con trỏ nên rất bảo mật.

• Java có thể thực thi nhiều chương trình đồng thời, do đó có theer đạt được đa luồng. • Rất mạnh mẽ vì có tính năng thu gom rác, không sử dụng con trỏ rõ ràng, xử lí ngoại lệ. Thực tập tốt nghiệp 16 • Rất dễ hiểu vì là ngôn ngữ cấp cao • Quản lý bộ nhớ hiệu quả 1. Ưu điểm của ngôn ngữ JAVA • Java là nền tảng độc lập vì chúng ta có thể chạy mã Jav trên bất kì máy nào mà không cần cài đặt bất kì phần mềm đặc biệt nào, JVM thực hiện điều đó.

• Java là hướng đối tượng vì các lớp và đối tượng của nó. • Java không sử dụng con trỏ nên rất bảo mật. • Java có thể thực thi nhiều chương trình đồng thời, do đó có theer đạt được đa luồng. • Rất mạnh mẽ vì có tính năng thu gom rác, không sử dụng con trỏ rõ ràng, xử lí ngoại lệ.

• Rất dễ hiểu vì là ngôn ngữ cấp cao • Quản lý bộ nhớ hiệu quả 1. Một số hạn chế của ngôn ngữ JAVA Mặc dù có nhiều điểm mạnh nhưng JAVA cũng sở hữu những điểm yếu cần khắc phục: • Java thể hiện hiệu suất kém, nguyên nhân chính là do bộ thu gom rác, cấu hình bộ nhứ đệm không hợp lệ và bế tắc giữa các quy trình. • Có rất ít trình tạo GUI – Swing, SWT, JSF và JavaFX trong số những trình xây dựng phổ biến hơn. • Để viết mã thực hiện một tập hợp các hoạt động đơn giản, chúng ta có thể phải viết những đoạn mã dài và phức tạp.

So với Pyhton ta nhận thấy Python không cần dấu chấm phẩy, dấu ngoặc đơn hoặc dấu ngoặc nhọn và có mã ngắn hơn rất nhiều. Thực tập tốt nghiệp 17 1. Ứng dụng của ngôn ngữ JAVA • Các ứng dụng yêu cầu tính bảo mật cao: - Các ứng dụng sử dụng trong giao dịch của các ngân hàng yêu cầu tính bảo mật cao. Họ cần bảo mật tối đa thông tin tài khoản của khách hàng.

Trên thế giới đã có các ngân hàng sử dụng Java để viết các hệ thống giao dịch điện tử như Goldman Sachs, Citigroup, Barclays, Standard Chartered … Ngoài viết các ứng dụng giao dịch, họ còn sử dụng Java trong việc khác như hệ thống xác nhận và kiểm toán, các dự án xử lý dữ liệu … • Ứng dụng của ngôn ngữ lập trình Java: - Ngôn ngữ lập trình Java được đánh giá là một ngôn ngữ có độ bảo mật cao. Chính vì vậy, nó thường được sử dụng vào các ứng dụng của ngành dịch vụ tài chính hay ngân hàng. • Các ứng dụng cho hệ điều hành Android: - Java hỗ trợ tối đa cho hệ điều hành Android. Vì thế ngôn ngữ lập trình này được áp dụng rất nhiều vào các ứng dụng dành cho Android.

Số người sử dụng Android chiếm hơn một nửa thị phần vì vậy có thể thấy, nhu cầu sử dụng các ứng dụng là rất lớn. - Nếu trong tay bạn đang cầm một chiếc điện thoại chạy trên hệ điều hành Android thì đừng bất ngờ, bất cứ một ứng dụng nào trên đó cũng đều được hình thành và phát triển trên nền tảng Java. Chính điều này đã tạo ra cơ hội lớn cho các lập trình viên Java: nếu họ học tốt và có kỹ năng thì chắc chắn những lập trình Java sẽ không bao giờ sợ thất nghiệp. • Điện toán đám mây - Cũng giống như Internet vạn vật (IoT), điện toán đám mây là một miếng bánh béo bở mà bất kỳ công ty nào cũng muốn chiếm thị phần.

Java với tính năng di động của nó sẽ là chìa khóa giúp bạn quản lý các giải pháp điện toán đám mây. Ngoài ra, Java là ngôn ngữ lập trình đa mục đích. Nó cho phép bạn Thực tập tốt nghiệp 18 làm việc trên ứng dụng di động, máy tính để bàn và ứng dụng đám mây. Ví dụ, Heroku cung cấp một nền tảng đám mây sử dụng Java.

Ngoài ra, có rất nhiều PaaS giúp bạn đi sâu vào điện toán đám mây. Cả Google Cloud Platform và Microsoft Azure đều có các điều khoản để lưu trữ các ứng dụng Java và quản lý chúng một cách hiệu quả. Tổng quan về đề tài 1. Mục tiêu đề tài Đề tài xây dựng website bán điện thoại thông minh smartphone nhắm đền mục tiêu có thể : • Xây dựng một website có giao diện đẹp, thu hút và đặc biệt phải thân thiện với người truy cập và người điều hành (Admin) • Website cung cấp đầy đủ các chức năng, tiện ích mà một website bán hàng cần phải có như : o Với khách hàng truy cập vào hệ thống : - Hiển thị các sản phẩm bán chạy của cửa hàng - Hiển thị danh sách các sản phẩm theo từng danh mục - Hiển thị được các thông tin chi tiết của một sản phẩm - Hiển thị được danh sách sản phẩm của một danh mục - Tìm kiếm sản phẩm - Thực hiện đặt hàng cho người truy cập - Thực hiện đăng nhập, đăng ký tài khoản cho người truy cập để tiến hàng mua hàng.

- Theo dõi được tình trạng hàng mà khách hàng đã tiến hành thực hiện đặt. o Đối với người quản trị (admin) Thực tập tốt nghiệp 19 - Có thể thực hiện đăng nhập để truy cập vào hệ thống. - Có thể thực hiển quản lý các sản phẩm có trong hệ thống (Thêm, sửa, xóa) - Có thẻ thực hiện quản lý các danh mục có trong hệ thống (thêm, sửa, xóa) - Có thể thực hiện quản lý các đơn hàng được đặt trong hệ thống + Xem các đơn hàng đang chờ xử lý + Xem các đơn hàng đã xử lý + Xem các đơn hàng đang được giao + Xem các đơn hàng đã giao thành công + Thực hiện xác nhận đã đơn hàng đang chờ xử lý + Thực hiện xác nhận các đơn hàng đã xử lý + Thực hiện xem các thông tin chi tiết các đơn hàng đang chờ xử lý, đang giao. Công cụ sử dụng • Spring Boot 5.0: Spring boot là 1 module của Spring Framework, cung cấp tính năng RAD (Rapid Application Development) – Phát triển ứng dụng nhanh.

Spring Boot được dùng để tạo các ứng dụng độc lập dựa trên Spring. o Ưu điểm: - Có các tính năng của Spring Framework. - Tạo ứng dụng độc lập, có thể chạy bằng java-jar ( java web ) - Nhúng trực tiếp các ứng dụng server - Dễ dàng tích hợp các module: Spring MVC - Không yêu cầu XML config… Thực tập tốt nghiệp 20 - Cung cấp nhiều plugin: Maven … - Cung cấp các HTTPs servers: Tomcat … o Nhược điểm: - Thiếu kiểm soát: chủ yếu dự thuộc vào dependences. - Không thích hợp cho các dự án quy mô lớn (theo nhiều nhà phát triển).0: Postman là 1 ứng dụng REST Client, dùng để thực hiện test, gửi các request, API mà không cần sử dụng browser.

• Bootstrap 5: Là một framework miễn phí, mã nguồn mở dựa trên HTML, CSS và Javascript. Bootstrap bao gồm các thành phần cơ bản có sẵn: forms, button … • Rationnal Rose 7.0: Là một lập trình hướng đối tượng. o Rational rose thống nhất ngôn ngữ mô hình hóa (UML) công cụ cho các ứng dụng phần mềm o Tạo ra mô hình ứng dụng phần mềm trực quan theo các nguyên tắc hướng đối tượng ( usecase, actor… ) • Balsamiq Mockup 3: o Là một phần mềm giúp tạo các design mockup, lên ý tưởng cho dự án thực tế. o Thiết kế các màn hình, hướng đi, chi tiết các thành phần có trong giao diện của website • Github: o Là một hệ thống quản lý dự án và phiên bản code, hoạt động như một cộng đồng mạng mã nguồn mở cho lập trình viên.

o Quản lí, thao tác với source code dễ dàng trong team. Thực tập tốt nghiệp 21 Thực tập tốt nghiệp 22 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE BÁN SMARTPHONE 2. Yêu cầu của đề tài Website có đầy đủ các chức năng của một trang web bán hàng .Có đầy đủ chức năng cho cả Khách hàng truy cập và người quản trị (admin) sử dụng.Website chưa toàn bộ 17 usecase được chia ra cho cả Khách hàng truy cập sử dụng và người quản trị (admin) sử dụng 2. Kế hoạch triển khai thực hiện 2.

Mô tả các usecase trong hệ thống 1. Mô tả use case DangNhap (Đăng Nhập) • Mô tả vắn tắt : Use case cho phép người dùng truy cập vào hệ thống. • Luồng sự kiện: o Luồng cơ bản: 1. Use case bắt đầu khi người dùng nhấn vào “ Đăng nhập “ trên menu công cụ, hệ thống sẽ hiện thị màn hình đăng nhập.

Hệ thống yêu cầu người dùng nhập email và mật khẩu và kích vào “ Đăng nhập “. Hệ thống sẽ kiểm tra email và mật khẩu trong bảng User (id, email, fullname, dob, password, role_Id, address, status, isConfirmed, captcha) và hiện thị màn hình chức năng theo đúng phân quyền của tài khoản nhập vào và use case kết thúc. o Luồng rẽ nhánh : 1. Tại bước 2, nếu người dùng nhập sai tài khoản hoặc mật khẩu thì hệ thống sẽ hiện thị thông báo lỗi “Tên đăng nhập hoặc mật khẩu không đúng”.

Người dùng có thể nhập lại và nhấn vào đăng nhập và use case sẽ kết thúc. Thực tập tốt nghiệp 23 2. Tại bất cứ bước nào nếu bị mất kết nối với CSDL thì hệ thống sẽ thông báo “Lỗi kết nối” và use case kết thúc.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ