diff --git a/next.config.ts b/next.config.ts index e9ffa30..2f6491c 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,7 +1,7 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - /* config options here */ + reactStrictMode: true, }; export default nextConfig; diff --git a/package-lock.json b/package-lock.json index d45c1f9..f262e74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,13 +18,15 @@ }, "devDependencies": { "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", + "@tailwindcss/postcss": "^4.0.14", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "autoprefixer": "^10.4.21", "eslint": "^9", "eslint-config-next": "15.2.2", - "tailwindcss": "^4", + "postcss": "^8.5.3", + "tailwindcss": "^4.0.14", "typescript": "^5" } }, @@ -1523,6 +1525,43 @@ "node": ">= 0.4" } }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1584,6 +1623,38 @@ "node": ">=8" } }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -1916,6 +1987,12 @@ "node": ">= 0.4" } }, + "node_modules/electron-to-chromium": { + "version": "1.5.119", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.119.tgz", + "integrity": "sha512-Ku4NMzUjz3e3Vweh7PhApPrZSS4fyiCIbcIrG9eKrriYVLmbMepETR/v6SU7xPm98QTqMSYiCwfO89QNjXLkbQ==", + "dev": true + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -2101,6 +2178,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2646,6 +2732,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3881,6 +3980,21 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4149,6 +4263,12 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -5027,6 +5147,36 @@ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -6035,6 +6185,20 @@ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true }, + "autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "requires": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + } + }, "available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -6081,6 +6245,18 @@ "fill-range": "^7.1.1" } }, + "browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + } + }, "busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -6312,6 +6488,12 @@ "gopd": "^1.2.0" } }, + "electron-to-chromium": { + "version": "1.5.119", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.119.tgz", + "integrity": "sha512-Ku4NMzUjz3e3Vweh7PhApPrZSS4fyiCIbcIrG9eKrriYVLmbMepETR/v6SU7xPm98QTqMSYiCwfO89QNjXLkbQ==", + "dev": true + }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -6464,6 +6646,12 @@ "is-symbol": "^1.0.4" } }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -6868,6 +7056,12 @@ "is-callable": "^1.2.7" } }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true + }, "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -7628,6 +7822,18 @@ } } }, + "node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7804,6 +8010,12 @@ "source-map-js": "^1.2.1" } }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -8396,6 +8608,16 @@ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true }, + "update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 338c353..f2e3347 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,15 @@ }, "devDependencies": { "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", + "@tailwindcss/postcss": "^4.0.14", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "autoprefixer": "^10.4.21", "eslint": "^9", "eslint-config-next": "15.2.2", - "tailwindcss": "^4", + "postcss": "^8.5.3", + "tailwindcss": "^4.0.14", "typescript": "^5" } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..de8ec71 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + "@tailwindcss/postcss": {}, + autoprefixer: {}, + }, +}; diff --git a/src/app/article/category.tsx b/src/app/article/category.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/app/article/detail.tsx b/src/app/article/detail.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/app/article/page.tsx b/src/app/article/page.tsx new file mode 100644 index 0000000..0619a81 --- /dev/null +++ b/src/app/article/page.tsx @@ -0,0 +1,111 @@ +"use client"; +import { ArticlesData } from "@/data/article"; +import { format } from "date-fns"; + +const Home = () => { + return ( +
Địa điểm
+ Hà Nội +Hình thức làm việc
+ Toàn thời gian cố định +Số lượng tuyển
+ 7 ++
+
+ Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email{" "} + info@hurasoft.com +
+ + showTab("#formjob")} + className="btn apply-job" + > + Ứng tuyển ngay + +Tải lên sơ yếu lý lịch
++ Tải sơ yếu lý lịch của bạn lên đây để tự động điền các thông + tin chính. +
+Địa điểm
+ Hà Nội +Hình thức làm việc
+ Toàn thời gian cố định +Số lượng tuyển
+ 7 ++
+
+ Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email{" "} + info@hurasoft.com +
+ + showTab("#formjob")} + className="btn apply-job" + > + Ứng tuyển ngay + +Tải lên sơ yếu lý lịch
++ Tải sơ yếu lý lịch của bạn lên đây để tự động điền các thông + tin chính. +
++ Hurasoft chuyên tư vấn và triển khai các giải pháp thương mại điện + tử tổng thể cho các doanh nghiệp từ khởi đầu kinh doanh đến quy mô + lớn. Thiết kế UX / UI, phát triển website app mobile, dịch vụ + marketing, các ứng dụng phần mềm & dịch vụ cơ sở hạ tầng chất lượng. + Những giải pháp mà chúng tôi thiết kế nhằm tăng tốc hiệu quả & thúc + đẩy tăng trưởng bền vững cho doanh nghiệp. +
++ Chúng tôi hướng tới mục tiêu hỗ trợ bạn đạt được hiệu quả bán hàng + tối ưu nhất. Với sự tận tâm đồng hành trong từng bước phát triển, + đội ngũ chuyên gia giàu kinh nghiệm và kỹ thuật cao luôn sẵn sàng + đáp ứng nhu cầu của bạn. Uy tín được khẳng định qua việc cung cấp + dịch vụ cho nhiều doanh nghiệp lớn nhỏ trên toàn Việt Nam, chúng tôi + cam kết mang lại giải pháp phù hợp và bền vững để bạn tự tin phát + triển kinh doanh. +
++ Chúng tôi cam kết đồng hành cùng khách hàng, coi mỗi vấn đề của + khách hàng là trách nhiệm của chính mình. Thấu hiểu khách hàng qua + các nghiên cứu chuyên sâu, phân tích và đánh giá chính xác, chúng + tôi mang đến các sản phẩm công nghệ thực sự hữu ích, chất lượng vượt + trội và giá cả hợp lý. Với tư duy đổi mới, tinh thần cam kết và sự + chủ động, chúng tôi không ngừng theo dõi, đề xuất giải pháp sáng tạo + để nâng tầm giá trị thương hiệu và trải nghiệm khách hàng. +
+An toàn thông tin website đề cập đến các biện pháp và quy trình nhằm bảo vệ dữ liệu và thông tin trên website khỏi các mối đe dọa như hacker, phần mềm độc hại, và các cuộc tấn công mạng khác. Điều này bao gồm việc bảo vệ dữ liệu người dùng, đảm bảo các giao dịch trực tuyến được mã hóa an toàn, và duy trì tính toàn vẹn của các tài nguyên trên website.
+Để đảm bảo an toàn thông tin website, bạn có thể áp dụng các biện pháp sau:
+Bằng cách thực hiện các biện pháp bảo mật trên, bạn có thể bảo vệ thông tin website và dữ liệu của khách hàng khỏi các mối đe dọa trực tuyến.
+ `, + "image": { + "thumb": "/media/article/t-cyber-security-concept-digital-art_23-2151637760.jpg", + "large": "/media/article/l-cyber-security-concept-digital-art_23-2151637760.jpg" + }, + "canonical": "https://hurasoft8.hurasoft.com/an-toan-thong-tin-website", + "path": "/an-toan-thong-tin-website" + }, + { + "id": 724, + "category": 39, + "title": "Xu hướng cá nhân hóa trải nghiệm người dùng trong thương mại điện tử", + "summary": "", + "create_time": 1731640923, + "create_by": "HuraSoft", + "last_update": 1732517289, + "last_update_by": "hurasoft - Tiệp", + "content": ` +Cá nhân hóa trải nghiệm người dùng là xu hướng nổi bật trong thương mại điện tử, nhằm đáp ứng nhu cầu cá nhân của từng khách hàng dựa trên hành vi, sở thích, và dữ liệu cá nhân. Trong năm 2024, xu hướng này tiếp tục phát triển với các công nghệ tiên tiến, như trí tuệ nhân tạo (AI) và học máy (machine learning), giúp các doanh nghiệp hiểu sâu hơn về khách hàng và tạo ra trải nghiệm tùy chỉnh cao hơn. Dưới đây là một số hướng cá nhân hóa tiêu biểu:
+AI và machine learning hỗ trợ gợi ý sản phẩm phù hợp với sở thích của từng khách hàng. Các thuật toán phân tích hành vi mua sắm, tìm kiếm và các tương tác trên website để gợi ý sản phẩm một cách chính xác. Ví dụ, Amazon sử dụng hệ thống gợi ý sản phẩm dựa trên lịch sử mua sắm và các sản phẩm mà khách hàng đã xem, giúp tăng tỷ lệ chuyển đổi
+Cá nhân hóa nội dung cho phép website điều chỉnh giao diện, các banner khuyến mãi và thông tin sản phẩm dựa trên vị trí địa lý, ngôn ngữ, và các mối quan tâm của khách hàng. Ví dụ, các trang web TMĐT có thể hiển thị các sản phẩm phổ biến trong khu vực của khách hàng hoặc ưu đãi đặc biệt theo mùa để tăng sự quan tâm
+Email marketing ngày càng được cải tiến để cá nhân hóa với nội dung phù hợp như sản phẩm vừa xem, các gợi ý đặc biệt, và mã giảm giá dựa trên lịch sử mua hàng. Điều này giúp tăng cường tương tác và khiến khách hàng quay lại trang web thường xuyên hơn.
+Chatbot được lập trình dựa trên AI có khả năng trả lời các câu hỏi của khách hàng theo cách tự nhiên và có thể cá nhân hóa từng cuộc trò chuyện dựa trên thông tin cá nhân và lịch sử mua sắm. Điều này không chỉ tăng cường trải nghiệm khách hàng mà còn giảm tải công việc cho bộ phận chăm sóc khách hàng.
+Nhiều website TMĐT áp dụng chương trình khách hàng thân thiết với các ưu đãi dành riêng cho từng cấp độ khách hàng. Dữ liệu về tần suất mua hàng và giá trị giỏ hàng giúp xác định các ưu đãi phù hợp, khuyến khích khách hàng quay lại mua sắm nhiều hơn.
+Các trang thương mại điện tử ngày càng quan tâm tới việc nhắc nhở giỏ hàng bị bỏ quên bằng cách gửi email hoặc thông báo đẩy. Thêm vào đó, khi khách hàng quay lại, trang web có thể hiển thị lại giỏ hàng còn dang dở để giúp họ tiếp tục quá trình mua sắm một cách liền mạch.
+Với xu hướng cá nhân hóa, quyền riêng tư của khách hàng ngày càng được ưu tiên. Các trang TMĐT cần bảo mật dữ liệu và tuân thủ các quy định bảo vệ thông tin cá nhân, đồng thời cung cấp cho khách hàng quyền kiểm soát đối với thông tin cá nhân của họ.
+Cá nhân hóa trong TMĐT đang dần trở thành yếu tố cốt lõi giúp doanh nghiệp xây dựng mối quan hệ chặt chẽ hơn với khách hàng, nâng cao trải nghiệm mua sắm và tạo sự khác biệt trong cạnh tranh.
+ `, + "image": { + "thumb": "/media/article/t-3d-representation-reselling-market_23-2150473097.jpg", + "large": "/media/article/l-3d-representation-reselling-market_23-2150473097.jpg" + }, + "canonical": "/xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tu", + "path": "/xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tue" + }, + { + "id": 723, + "category": 39, + "title": "Thu hút người dùng bằng minigame trên website", + "summary": "", + "create_time": 1731640169, + "create_by": "HuraSoft", + "last_update": 1732517364, + "last_update_by": "hurasoft - Tiệp", + "content": ` +Phương pháp marketing bằng minigame trên website là một cách sáng tạo để thu hút người dùng, tăng tương tác và xây dựng mối quan hệ với khách hàng tiềm năng. Cách tiếp cận này thường tận dụng yếu tố giải trí để khách hàng dễ dàng tương tác với thương hiệu và nhớ đến sản phẩm lâu hơn. Dưới đây là đánh giá chi tiết và ví dụ về phương pháp này:
+Tăng tương tác và thu hút người dùng: Minigame tạo ra sự thích thú và kích thích người dùng quay lại website nhiều hơn. Khi tham gia trò chơi, người dùng có thể bị cuốn hút bởi các yếu tố thách thức và phần thưởng, khiến họ tương tác lâu hơn với thương hiệu.
+Thu thập dữ liệu khách hàng: Trong quá trình chơi, doanh nghiệp có thể yêu cầu người dùng cung cấp thông tin liên hệ như email hoặc số điện thoại để nhận phần thưởng. Điều này giúp doanh nghiệp xây dựng cơ sở dữ liệu cho các chiến dịch tiếp thị tiếp theo.
+Tăng cường nhận diện thương hiệu: Minigame giúp thương hiệu dễ dàng được người dùng nhớ đến hơn, đặc biệt khi trò chơi có liên quan đến sản phẩm hoặc dịch vụ mà thương hiệu cung cấp. Thương hiệu có thể khéo léo đưa hình ảnh sản phẩm vào trò chơi để quảng bá.
+Kích thích hành vi mua hàng: Nhiều minigame có thể thiết kế để tặng các phần thưởng hoặc mã giảm giá cho người chơi sau khi hoàn thành. Điều này thúc đẩy khách hàng mua sắm ngay sau khi chơi.
+Minigame "Vòng quay may mắn" của Tiki: Tiki, nền tảng TMĐT nổi tiếng tại Việt Nam, đã từng triển khai vòng quay may mắn để thu hút khách hàng. Khi tham gia trò chơi, người dùng có cơ hội nhận các mã giảm giá hấp dẫn. Đây là cách để Tiki vừa tăng tương tác, vừa kích thích hành vi mua hàng.
+Shopee Shake: Shopee sử dụng minigame "Shopee Shake" trong các chiến dịch flash sale hoặc sự kiện đặc biệt. Người dùng tham gia chơi để thu thập Shopee Coins, sau đó có thể dùng để đổi mã giảm giá hoặc giảm trực tiếp vào đơn hàng. Minigame này tạo cảm giác thú vị và khuyến khích người dùng quay lại ứng dụng hàng ngày.
+Các trò chơi đoán vui nhận quà: Một số thương hiệu như L'Oreal hoặc Samsung cũng sử dụng trò chơi đoán vui để người dùng tham gia và trả lời các câu hỏi liên quan đến sản phẩm. Người chơi có cơ hội nhận quà nếu trả lời đúng. Điều này không chỉ tăng cường nhận diện sản phẩm mà còn giúp khách hàng tìm hiểu kỹ hơn về sản phẩm của thương hiệu.
+Minigame là công cụ marketing mạnh mẽ nếu được triển khai hiệu quả, giúp doanh nghiệp tăng tương tác, thu thập dữ liệu và thúc đẩy doanh số.
+ `, + "image": { + "thumb": "/media/article/t-lucky-dice-game-background_23-2150971831.jpg", + "large": "/media/article/l-lucky-dice-game-background_23-2150971831.jpg" + }, + "canonical": "/marketing-bang-minigame-tren-website", + "path": "/marketing-bang-minigame-tren-website" + }, + ] +} diff --git a/src/pages/contact.tsx b/src/pages/contact.tsx deleted file mode 100644 index 5839d1f..0000000 --- a/src/pages/contact.tsx +++ /dev/null @@ -1,132 +0,0 @@ -import Layout from "@/app/layout"; -import { useEffect, useState } from "react"; - -const Contact = () => { - const [isClient, setIsClient] = useState(false); - useEffect(() => { - setIsClient(true); // Chỉ set khi component đã mount trên client - }, []); - - if (!isClient) { - return null; // Tránh render trên server - } - - return ( -Địa điểm
- Hà Nội -Hình thức làm việc
- Toàn thời gian cố định -Số lượng tuyển
- 7 --
-
- Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email{" "} - info@hurasoft.com -
- - showTab("#formjob")} - className="btn apply-job" - > - Ứng tuyển ngay - -Tải lên sơ yếu lý lịch
-- Tải sơ yếu lý lịch của bạn lên đây để tự động điền các - thông tin chính. -
-- Hurasoft chuyên tư vấn và triển khai các giải pháp thương mại điện - tử tổng thể cho các doanh nghiệp từ khởi đầu kinh doanh đến quy mô - lớn. Thiết kế UX / UI, phát triển website app mobile, dịch vụ - marketing, các ứng dụng phần mềm & dịch vụ cơ sở hạ tầng chất - lượng. Những giải pháp mà chúng tôi thiết kế nhằm tăng tốc hiệu - quả & thúc đẩy tăng trưởng bền vững cho doanh nghiệp. -
-- Chúng tôi hướng tới mục tiêu hỗ trợ bạn đạt được hiệu quả bán hàng - tối ưu nhất. Với sự tận tâm đồng hành trong từng bước phát triển, - đội ngũ chuyên gia giàu kinh nghiệm và kỹ thuật cao luôn sẵn sàng - đáp ứng nhu cầu của bạn. Uy tín được khẳng định qua việc cung cấp - dịch vụ cho nhiều doanh nghiệp lớn nhỏ trên toàn Việt Nam, chúng - tôi cam kết mang lại giải pháp phù hợp và bền vững để bạn tự tin - phát triển kinh doanh. -
-- Chúng tôi cam kết đồng hành cùng khách hàng, coi mỗi vấn đề của - khách hàng là trách nhiệm của chính mình. Thấu hiểu khách hàng qua - các nghiên cứu chuyên sâu, phân tích và đánh giá chính xác, chúng - tôi mang đến các sản phẩm công nghệ thực sự hữu ích, chất lượng - vượt trội và giá cả hợp lý. Với tư duy đổi mới, tinh thần cam kết - và sự chủ động, chúng tôi không ngừng theo dõi, đề xuất giải pháp - sáng tạo để nâng tầm giá trị thương hiệu và trải nghiệm khách - hàng. -
-