GoShop là một ứng dụng web thương mại điện tử được xây dựng với mục tiêu mô phỏng toàn diện hoạt động của một cửa hàng kinh doanh sản phẩm nội thất trong môi trường trực tuyến. Ứng dụng hướng đến việc mang lại trải nghiệm mua sắm thuận tiện, trực quan và dễ sử dụng cho người tiêu dùng, đặc biệt trong bối cảnh thương mại điện tử ngày càng phát triển mạnh mẽ và dần thay đổi thói quen mua sắm truyền thống. Thông qua GoShop, khách hàng có thể dễ dàng tiếp cận nhiều loại sản phẩm nội thất khác nhau, từ đó lựa chọn, đặt mua và thanh toán mà không cần trực tiếp đến cửa hàng, giúp tiết kiệm thời gian và công sức.
GoShop Website là một website thương mại điện tử được xây dựng nhằm đáp ứng nhu cầu nhu cầu mua sắm nội thất trực tuyến. Nên GoShop được xây dựng với các kịch bản kinh doanh cơ bản về: Danh mục sản phẩm, giỏ hàng, quy trình thanh toán, hàng tồn kho, quản lý truy cập, kiểm tra thanh toán, xem đơn hàng , quản lý tài khoản và thống kê chi tiết đơn hàng. Với 2 người dùng chính là người mua và người quản trị.
Vai trò chính của người mua hàng là thực hiện các hành động mua sắm trực tuyến. Người mua có thể là khách hàng chưa đăng ký hoặc đã đăng ký tài khoản. Trong đó các hành động chính mà người mua có thể thực hiện là: Duyệt và Tìm Kiếm sản phẩm, Xem chi tiết sản phẩm, quản lý giỏ hàng, thực hiện thanh toán, quản lí thông tin tài khoản, kiểm tra thanh toán.
Vai trò chính của người quản trị là quản lý và vận hành toàn bộ hệ thống GoShop để đảm bảo hoạt động kình doanh trôi chảy và hiệu quả. Trong đó các thao tác chính mà người quản trị có thể thực hiện là: quản lý sản phẩm, quản lý danh mục sản phẩm, quản lý đơn hàng, quản lý tài khoản, thống kê doanh thu.
Quy trình khám phá sản phẩm
Quy trình mua sản phẩm
Quy trình thanh toán
Quy trình quản lý hệ thống
Sơ đồ Use Case tổng thể
Use Case 1: Quản lý sản phẩm
Use Case 2: Quản lý đơn hàng
Use Case 3: Quản lý giỏ hàng
Use Case 4: Quản lý tài khoản
Use Case 5: Quản lý truy cập
Use Case 6: Thanh toán
Mô hình ý niệm
Data model
- Mức khái niệm
- Mức logic
- Mức vật lý
- C1 - Context
- C2 - Containers
- C3 - Components(high-level)
- C4 - Code
Những bước tối thiểu để khởi chạy project cục bộ (mô tả ngắn, dùng PowerShell trên Windows):
- Pull/clone về rồi vào thư mục project
git clone <your-repo-url>
cd goshopHoặc nếu đã clone trước đó:
git pull origin main- Chỉnh cấu hình
- Mở
docker-compose.ymlvà điều chỉnh các cấu hình service (port, volume, tên container) cho phù hợp với môi trường của bạn. - Chỉnh các file
.env(ởbackend/,frontend/,frontend-admin/nếu có): khai báo thông tin Firebase (UID/service account), Stripe keys, Cloudinary, MySQL password, v.v.
- Khởi động Docker
docker-compose up --build- Đẩy schema Prisma vào database
Sau khi backend container đã khởi động, chạy:
docker-compose exec backend sh -c "npx prisma db push --accept-data-loss"- Import dữ liệu từ
data.sql
File data.sql nằm ở gốc repo (./data.sql). Có hai cách import:
- Tùy chọn A — dùng shell MySQL trong container (thủ công):
docker-compose exec db sh -c "mysql -uroot -p123123"
# trong mysql prompt: -- chạy các lệnh sau
USE goshop;
# rồi copy-n-paste nội dung của file data.sql vào và chạy- Tùy chọn B — import trực tiếp từ host (khuyên dùng khi file data.sql ở host):
docker exec -i $(docker-compose ps -q db) mysql -uroot -p123123 goshop < ./data.sqlLưu ý: nếu container database dùng password khác, thay 123123 bằng mật khẩu tương ứng. Nếu container DB không có file data.sql, dùng Tùy chọn B để gửi file từ host vào DB.
- Kiểm tra
- Sau khi import, truy cập backend và frontend theo cấu hình
docker-compose(thường là http://localhost:3000 cho backend và http://localhost:5173 cho frontend tùy cấu hình).
Nếu gặp lỗi, kiểm tra logs:
docker-compose logs -f backend
docker-compose logs -f dbUser Demo
User.-.Demo.mp4
Admin Demo



















