refactor structor folder
This commit is contained in:
958
e-commerce/final/proposal/index.html
Normal file
958
e-commerce/final/proposal/index.html
Normal file
@@ -0,0 +1,958 @@
|
||||
<!doctype html>
|
||||
<html lang="vi">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Nền tảng Marketplace Thương mại điện tử Đa người bán — Đề xuất giải pháp | Ân Quang Tech</title>
|
||||
<style>
|
||||
:root{
|
||||
--bg:#f5f7fb;
|
||||
--surface:#ffffff;
|
||||
--text:#1a1f29;
|
||||
--muted:#5b6472;
|
||||
--border:#dde3ec;
|
||||
--accent:#1f4e9c;
|
||||
--accent-contrast:#ffffff;
|
||||
--ok:#1a7f4b;
|
||||
--warn:#b7791e;
|
||||
--danger:#c53030;
|
||||
--optional:#6b46c1;
|
||||
--shadow:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.06);
|
||||
}
|
||||
@media (prefers-color-scheme: dark){
|
||||
:root:not([data-theme="light"]){
|
||||
--bg:#0f1420;
|
||||
--surface:#171e2c;
|
||||
--text:#e6eaf1;
|
||||
--muted:#9aa5b4;
|
||||
--border:#2a3346;
|
||||
--accent:#6ea8fe;
|
||||
--accent-contrast:#0b1220;
|
||||
--ok:#34d399;
|
||||
--warn:#fbbf24;
|
||||
--danger:#f87171;
|
||||
--optional:#c4b5fd;
|
||||
--shadow:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);
|
||||
}
|
||||
}
|
||||
:root[data-theme="dark"]{
|
||||
--bg:#0f1420;
|
||||
--surface:#171e2c;
|
||||
--text:#e6eaf1;
|
||||
--muted:#9aa5b4;
|
||||
--border:#2a3346;
|
||||
--accent:#6ea8fe;
|
||||
--accent-contrast:#0b1220;
|
||||
--ok:#34d399;
|
||||
--warn:#fbbf24;
|
||||
--danger:#f87171;
|
||||
--optional:#c4b5fd;
|
||||
--shadow:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);
|
||||
}
|
||||
*{box-sizing:border-box;}
|
||||
html{scroll-behavior:smooth;}
|
||||
body{
|
||||
margin:0;
|
||||
font-family:-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;
|
||||
background:var(--bg);
|
||||
color:var(--text);
|
||||
line-height:1.6;
|
||||
font-size:1rem;
|
||||
overflow-x:hidden;
|
||||
}
|
||||
img{max-width:100%;display:block;}
|
||||
a{color:var(--accent);}
|
||||
h1,h2,h3,h4,h5{color:var(--text);font-weight:700;line-height:1.3;}
|
||||
h1{font-size:2.25rem;margin:.2rem 0 1rem;}
|
||||
h2{font-size:1.6rem;margin:0 0 1rem;}
|
||||
h3{font-size:1.2rem;margin:1.75rem 0 .75rem;}
|
||||
h4{font-size:1.05rem;margin:1.4rem 0 .5rem;}
|
||||
h5{font-size:.98rem;margin:0;}
|
||||
p{margin:0 0 1rem;}
|
||||
ul,ol{padding-left:1.3rem;}
|
||||
.skip-link{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--text);padding:.6rem 1rem;z-index:300;border-radius:0 0 8px 0;}
|
||||
.skip-link:focus{left:0;}
|
||||
button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.5rem .9rem;}
|
||||
button:hover{border-color:var(--accent);}
|
||||
button:focus-visible, a:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
|
||||
|
||||
.toc-toggle{display:none;position:sticky;top:0;z-index:60;margin:0;width:100%;border-radius:0;border:none;border-bottom:1px solid var(--border);background:var(--surface);font-weight:700;}
|
||||
|
||||
.layout{display:flex;align-items:flex-start;max-width:1400px;margin:0 auto;}
|
||||
.sidebar{width:280px;flex-shrink:0;position:sticky;top:0;max-height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);}
|
||||
.sidebar-head{display:flex;align-items:center;gap:.5rem;padding:1.25rem 1rem .5rem;font-weight:700;}
|
||||
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0;}
|
||||
nav.toc-nav ol{list-style:none;margin:0;padding:0 1rem 1rem;}
|
||||
nav.toc-nav ol ol{padding:0 0 0 1rem;}
|
||||
nav.toc-nav li{margin:.1rem 0;}
|
||||
nav.toc-nav a{display:block;padding:.35rem .5rem;border-radius:6px;text-decoration:none;color:var(--muted);font-size:.92rem;}
|
||||
nav.toc-nav ol ol a{font-size:.85rem;}
|
||||
nav.toc-nav a:hover, nav.toc-nav a:focus{background:var(--bg);color:var(--text);}
|
||||
nav.toc-nav a.active{background:var(--accent);color:var(--accent-contrast);font-weight:600;}
|
||||
.sidebar-foot{padding:1rem;border-top:1px solid var(--border);}
|
||||
#theme-toggle{width:100%;}
|
||||
|
||||
main{flex:1;min-width:0;padding:0 1.5rem 4rem;}
|
||||
.section{max-width:960px;margin:0 auto;padding-top:3rem;scroll-margin-top:1rem;}
|
||||
.section > h3, .section > h4{scroll-margin-top:1rem;}
|
||||
.cover{max-width:960px;margin:0 auto;padding-top:2.5rem;scroll-margin-top:1rem;}
|
||||
|
||||
.draft-banner{background:var(--surface);border-bottom:2px solid var(--warn);color:var(--warn);padding:.75rem 1.5rem;font-weight:700;text-align:center;}
|
||||
|
||||
.cover-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;font-size:.85rem;margin:0 0 .5rem;}
|
||||
.cover-tagline{font-size:1.15rem;color:var(--muted);max-width:760px;}
|
||||
.cover-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:1.5rem 0 2rem;}
|
||||
.cover-meta li{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.6rem 1rem;box-shadow:var(--shadow);min-width:160px;}
|
||||
.meta-label{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
|
||||
.meta-value{display:block;font-weight:700;margin-top:.15rem;}
|
||||
|
||||
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;}
|
||||
.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;box-shadow:var(--shadow);}
|
||||
.stat-value{font-size:1.4rem;font-weight:800;color:var(--accent);}
|
||||
.stat-label{font-weight:600;margin-top:.35rem;}
|
||||
.stat-note{color:var(--muted);font-size:.86rem;margin-top:.35rem;}
|
||||
|
||||
.table-wrap{overflow:auto;max-height:520px;border:1px solid var(--border);border-radius:10px;margin:1.25rem 0;}
|
||||
table{border-collapse:collapse;width:100%;font-size:.94rem;}
|
||||
th,td{padding:.6rem .8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
|
||||
thead th{position:sticky;top:0;background:var(--surface);z-index:1;font-weight:700;}
|
||||
tbody tr:last-child td{border-bottom:none;}
|
||||
tr.total-row td{font-weight:800;background:var(--bg);}
|
||||
|
||||
mark.todo{background:#fff3cd;border:1px dashed #d4a017;color:#6b4a00;padding:0 .35em;border-radius:4px;font-weight:600;}
|
||||
|
||||
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem;}
|
||||
.filter-bar button[aria-pressed="true"]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);}
|
||||
.feature-group{margin-top:2rem;}
|
||||
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
|
||||
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem;}
|
||||
.card p{margin:0;color:var(--muted);font-size:.92rem;}
|
||||
.badge{display:inline-block;font-size:.7rem;font-weight:800;padding:.15rem .55rem;border-radius:999px;align-self:flex-start;text-transform:uppercase;letter-spacing:.03em;}
|
||||
.badge-mvp{background:rgba(26,127,75,.14);color:var(--ok);border:1px solid var(--ok);}
|
||||
.badge-phase2{background:rgba(183,121,30,.14);color:var(--warn);border:1px solid var(--warn);}
|
||||
.badge-optional{background:rgba(107,70,193,.14);color:var(--optional);border:1px solid var(--optional);}
|
||||
|
||||
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.25rem 0;}
|
||||
.team-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--shadow);}
|
||||
.team-card h5{margin-bottom:.4rem;}
|
||||
.team-card dl{margin:.5rem 0 0;font-size:.9rem;}
|
||||
.team-card dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-top:.5rem;}
|
||||
.team-card dd{margin:.15rem 0 0;}
|
||||
|
||||
.gantt{display:flex;flex-direction:column;gap:.65rem;margin:1.25rem 0;}
|
||||
.gantt-row{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:.75rem;align-items:center;}
|
||||
.gantt-label{font-size:.88rem;font-weight:600;}
|
||||
.gantt-track{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:8px;height:2.3rem;overflow:hidden;}
|
||||
.gantt-bar{position:absolute;top:2px;bottom:2px;background:var(--accent);border-radius:6px;color:var(--accent-contrast);font-size:.72rem;display:flex;align-items:center;padding:0 .5rem;white-space:nowrap;overflow:hidden;}
|
||||
.gantt-bar.is-open{opacity:.7;border:2px dashed var(--accent-contrast);}
|
||||
.gantt-note{color:var(--muted);font-size:.85rem;margin-top:.25rem;}
|
||||
.milestones{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem;}
|
||||
.milestones li{display:flex;flex-wrap:wrap;gap:.6rem;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.92rem;}
|
||||
.milestones .m-phase{font-weight:700;color:var(--accent);min-width:150px;}
|
||||
|
||||
.diagram{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:1.5rem 0;background:var(--surface);}
|
||||
.diagram-title{padding:.6rem 1rem;font-weight:700;border-bottom:1px solid var(--border);background:var(--bg);}
|
||||
.diagram-body{padding:1rem;overflow-x:auto;}
|
||||
pre.mermaid{margin:0;background:transparent;}
|
||||
|
||||
.risk-cao{color:var(--danger);font-weight:800;}
|
||||
.risk-trung-binh{color:var(--warn);font-weight:800;}
|
||||
.risk-thap{color:var(--ok);font-weight:800;}
|
||||
|
||||
ul.checklist{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem;}
|
||||
ul.checklist li{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;}
|
||||
ul.checklist li::before{content:"\2610";color:var(--accent);font-size:1.1rem;line-height:1.4;}
|
||||
|
||||
blockquote{border-left:4px solid var(--accent);margin:1rem 0;padding:.4rem 1rem;color:var(--muted);background:var(--surface);border-radius:0 8px 8px 0;}
|
||||
|
||||
.site-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem;}
|
||||
.site-footer p{margin:.25rem 0;}
|
||||
|
||||
@media (max-width:1023px){
|
||||
.toc-toggle{display:block;}
|
||||
.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);transition:transform .25s ease;z-index:100;width:280px;max-width:82vw;box-shadow:var(--shadow);}
|
||||
.sidebar.open{transform:translateX(0);}
|
||||
.layout{display:block;}
|
||||
main{padding:0 1rem 3rem;}
|
||||
}
|
||||
|
||||
@media print{
|
||||
.sidebar, .toc-toggle, #theme-toggle, .draft-banner, .filter-bar{display:none !important;}
|
||||
.layout{display:block;}
|
||||
main{padding:0;}
|
||||
body{background:#fff;color:#000;}
|
||||
.section{page-break-before:always;}
|
||||
.section:first-of-type{page-break-before:avoid;}
|
||||
.card, table, pre, .diagram, .stat-tile{page-break-inside:avoid;}
|
||||
a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#555;}
|
||||
.table-wrap{max-height:none;overflow:visible;}
|
||||
@page{size:A4;margin:18mm;}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-link" href="#main-content">Bỏ qua để đến nội dung chính</a>
|
||||
<button id="toc-toggle" class="toc-toggle" type="button" aria-expanded="false" aria-controls="sidebar">Mục lục</button>
|
||||
<div class="layout">
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<nav class="toc-nav" aria-label="Mục lục">
|
||||
<div class="sidebar-head"><span class="brand-dot" aria-hidden="true"></span><span>Mục lục</span></div>
|
||||
<ol class="toc">
|
||||
<li><a href="#cover">Trang bìa</a></li>
|
||||
<li><a href="#executive-summary">1. Tóm tắt điều hành</a></li>
|
||||
<li><a href="#understanding">2. Hiểu về bài toán & mục tiêu</a>
|
||||
<ol>
|
||||
<li><a href="#understanding-hien-trang">Hiện trạng & thách thức</a></li>
|
||||
<li><a href="#understanding-muc-tieu">Mục tiêu kinh doanh</a></li>
|
||||
<li><a href="#understanding-kpi">Chỉ số thành công (KPI)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#scope">3. Phạm vi đề xuất</a>
|
||||
<ol>
|
||||
<li><a href="#scope-doi-tuong">Đối tượng người dùng</a></li>
|
||||
<li><a href="#scope-trong-pham-vi">Trong phạm vi</a></li>
|
||||
<li><a href="#scope-ngoai-pham-vi">Ngoài phạm vi</a></li>
|
||||
<li><a href="#scope-features">Tính năng theo nhóm người dùng</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#solution">4. Giải pháp đề xuất</a>
|
||||
<ol>
|
||||
<li><a href="#solution-kien-truc">Kiến trúc tổng quan</a></li>
|
||||
<li><a href="#solution-cong-nghe">Công nghệ sử dụng & lý do</a></li>
|
||||
<li><a href="#solution-tich-hop">Tích hợp hệ thống bên ngoài</a></li>
|
||||
<li><a href="#solution-ux">Trải nghiệm người dùng nổi bật</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#quality">5. Cam kết chất lượng & vận hành</a>
|
||||
<ol>
|
||||
<li><a href="#quality-hieu-nang">Hiệu năng & khả năng mở rộng</a></li>
|
||||
<li><a href="#quality-do-san-sang">Độ sẵn sàng & khôi phục</a></li>
|
||||
<li><a href="#quality-bao-mat">Bảo mật & tuân thủ</a></li>
|
||||
<li><a href="#quality-giam-sat">Giám sát & hỗ trợ</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#approach">6. Phương pháp triển khai & lộ trình</a>
|
||||
<ol>
|
||||
<li><a href="#approach-phuong-phap">Phương pháp</a></li>
|
||||
<li><a href="#approach-kiem-thu">Kiểm thử & bàn giao</a></li>
|
||||
<li><a href="#approach-dao-tao">Đào tạo & chuyển giao</a></li>
|
||||
<li><a href="#approach-bao-hanh">Bảo hành & vận hành sau go-live</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#team">7. Đội ngũ & mô hình phối hợp</a></li>
|
||||
<li><a href="#commercial">8. Chi phí & điều khoản thương mại</a>
|
||||
<ol>
|
||||
<li><a href="#commercial-thanh-toan">Điều khoản thanh toán</a></li>
|
||||
<li><a href="#commercial-khong-bao-gom">Không bao gồm</a></li>
|
||||
<li><a href="#commercial-hieu-luc">Hiệu lực báo giá</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#risks">9. Giả định, ràng buộc & rủi ro</a>
|
||||
<ol>
|
||||
<li><a href="#risks-gia-dinh">Giả định</a></li>
|
||||
<li><a href="#risks-rang-buoc">Ràng buộc</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#acceptance">10. Tiêu chí chấp nhận & bàn giao</a></li>
|
||||
<li><a href="#next-steps">11. Bước tiếp theo & liên hệ</a></li>
|
||||
<li><a href="#appendix">Phụ lục</a>
|
||||
<ol>
|
||||
<li><a href="#appendix-a">A. Danh mục yêu cầu chi tiết</a></li>
|
||||
<li><a href="#appendix-b">B. Thuật ngữ</a></li>
|
||||
<li><a href="#appendix-c">C. Sơ đồ bổ sung</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="sidebar-foot">
|
||||
<button id="theme-toggle" type="button" aria-pressed="false">Chế độ tối</button>
|
||||
</div>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<main id="main-content">
|
||||
<div id="draft-banner" class="draft-banner" role="status" hidden>
|
||||
<span id="draft-banner-text"></span>
|
||||
</div>
|
||||
|
||||
<header class="cover" id="cover">
|
||||
<p class="cover-eyebrow">Đề xuất dự án</p>
|
||||
<h1>Nền tảng Marketplace Thương mại điện tử Đa người bán — Đề xuất giải pháp</h1>
|
||||
<p class="cover-tagline">Kết nối các làng nghề, nghệ nhân thủ công mỹ nghệ truyền thống Việt Nam với người yêu thích giá trị văn hoá, trên một nền tảng thống nhất, sẵn sàng cho quy mô lớn ngay từ ngày đầu.</p>
|
||||
<ul class="cover-meta">
|
||||
<li><span class="meta-label">Khách hàng</span><span class="meta-value">Ân Quang shop</span></li>
|
||||
<li><span class="meta-label">Đơn vị đề xuất</span><span class="meta-value">Ân Quang Tech</span></li>
|
||||
<li><span class="meta-label">Ngày phát hành</span><span class="meta-value">2026-09-06</span></li>
|
||||
<li><span class="meta-label">Phiên bản</span><span class="meta-value">3</span></li>
|
||||
<li><span class="meta-label">Hiệu lực</span><span class="meta-value">30 ngày kể từ ngày phát hành</span></li>
|
||||
</ul>
|
||||
</header>
|
||||
|
||||
<section class="section" id="executive-summary">
|
||||
<h2>1. Tóm tắt điều hành</h2>
|
||||
<p>Ân Quang shop đang hướng tới việc xây dựng một sàn thương mại điện tử đa người bán (marketplace) quy mô lớn, định vị chuyên biệt cho các sản phẩm có tính chất văn hoá cao — hàng thủ công mỹ nghệ, sản phẩm đến từ các làng nghề truyền thống của Việt Nam — nơi hàng trăm nghìn sản phẩm từ nhiều cơ sở sản xuất, nghệ nhân làng nghề khác nhau được tổng hợp trong một trải nghiệm mua sắm thống nhất, phục vụ đồng thời khách hàng cá nhân, người bán (các cơ sở/nghệ nhân làng nghề) và đội ngũ vận hành sàn.</p>
|
||||
<p>Ân Quang Tech đề xuất xây dựng nền tảng theo mô hình kiến trúc dịch vụ hoá theo từng nghiệp vụ (catalog, giỏ hàng/đơn hàng, thanh toán, quản lý người bán, hoa hồng & payout, khuyến mãi & điểm thưởng...), cho phép mở rộng độc lập từng phần khi lưu lượng truy cập tăng đột biến — đặc biệt trong các đợt flash sale — mà không ảnh hưởng đến trải nghiệm chung của toàn hệ thống.</p>
|
||||
<p>Giá trị cốt lõi mà giải pháp mang lại: (1) trải nghiệm mua sắm nhanh, mượt ngay cả ở tải đỉnh; (2) quy trình vận hành minh bạch cho dòng tiền giữa khách hàng – sàn – người bán (thanh toán, hoa hồng, payout); (3) khả năng mở rộng ra thị trường quốc tế nhờ hỗ trợ 5 ngôn ngữ và hiển thị đa tiền tệ, giúp đưa sản phẩm thủ công mỹ nghệ, sản phẩm làng nghề Việt Nam đến gần hơn với khách hàng quốc tế; (4) nền tảng tuân thủ các quy định pháp lý hiện hành về thương mại điện tử và bảo vệ dữ liệu cá nhân tại Việt Nam; (5) đồng hành cùng chủ trương phát triển công nghiệp văn hoá của Đảng và Nhà nước, góp phần gia tăng giá trị kinh tế cho các sản phẩm văn hoá và làng nghề truyền thống Việt Nam.</p>
|
||||
<p>Chúng tôi cam kết đồng hành cùng Ân Quang shop từ giai đoạn thiết kế chi tiết, phát triển theo từng đợt (phased), kiểm thử nhiều lớp trước khi bàn giao, cho đến hỗ trợ vận hành sau go-live. Bước tiếp theo đề xuất: thống nhất phạm vi chi tiết và ngân sách, sau đó tiến hành ký kết và khởi động dự án.</p>
|
||||
|
||||
<div class="stat-grid">
|
||||
<div class="stat-tile"><div class="stat-value">99,9% uptime</div><div class="stat-label">Độ sẵn sàng hệ thống cam kết</div><div class="stat-note">cho các dịch vụ giao dịch cốt lõi (danh mục, giỏ hàng/thanh toán)</div></div>
|
||||
<div class="stat-tile"><div class="stat-value">Dưới 2 giây</div><div class="stat-label">Tốc độ tải trang sản phẩm & tìm kiếm</div><div class="stat-note">ngay cả ở thời điểm tải đỉnh (flash sale)</div></div>
|
||||
<div class="stat-tile"><div class="stat-value">Dưới 3 giây</div><div class="stat-label">Tốc độ hoàn tất thanh toán</div><div class="stat-note">kể cả khi hệ thống đang chịu tải cao</div></div>
|
||||
<div class="stat-tile"><div class="stat-value">5 ngôn ngữ</div><div class="stat-label">Ngôn ngữ hỗ trợ (Việt, Anh, Trung, Hàn, Nhật)</div><div class="stat-note">sẵn sàng mở rộng thị trường</div></div>
|
||||
<div class="stat-tile"><div class="stat-value">Hàng trăm nghìn SKU</div><div class="stat-label">Quy mô thiết kế, tới hàng triệu người dùng đăng ký</div><div class="stat-note">kiến trúc mở rộng ngay từ đầu</div></div>
|
||||
<div class="stat-tile"><div class="stat-value">6 tháng</div><div class="stat-label">Bảo hành sau go-live</div><div class="stat-note">hỗ trợ khắc phục lỗi không phát sinh chi phí thêm</div></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="understanding">
|
||||
<h2>2. Hiểu về bài toán & mục tiêu</h2>
|
||||
|
||||
<h3 id="understanding-hien-trang">Hiện trạng & thách thức</h3>
|
||||
<p>Ân Quang shop định vị sàn hướng tới nhóm sản phẩm đặc thù có tính chất văn hoá cao — hàng thủ công mỹ nghệ, sản phẩm đến từ các làng nghề truyền thống của Việt Nam — thay vì hàng tiêu dùng đại trà. Đây là phân khúc mang giá trị văn hoá, thẩm mỹ và di sản riêng biệt, nhưng thị trường hiện chưa có nhiều kênh thương mại điện tử chuyên biệt đủ tin cậy và đủ quy mô để kết nối các cơ sở sản xuất, nghệ nhân làng nghề với khách hàng trong nước lẫn quốc tế. Ân Quang shop mong muốn xây dựng một sàn giao dịch mới hoàn toàn (không kế thừa hệ thống cũ), nơi nhiều người bán — là các cơ sở sản xuất, nghệ nhân làng nghề — có thể tự đăng ký, xác minh danh tính, tự quản lý gian hàng và nhận thanh toán định kỳ, trong khi khách hàng có thể mua sắm từ nhiều người bán khác nhau trong cùng một đơn hàng. Thách thức lớn nhất là đảm bảo hệ thống vận hành ổn định khi khối lượng giao dịch tăng mạnh (mùa flash sale), đồng thời giữ dòng tiền và quy trình đối soát giữa các bên minh bạch, đúng quy định pháp luật.</p>
|
||||
|
||||
<h3 id="understanding-muc-tieu">Mục tiêu kinh doanh</h3>
|
||||
<ul>
|
||||
<li>Ra mắt một sàn marketplace chuyên biệt cho sản phẩm thủ công mỹ nghệ và sản phẩm làng nghề truyền thống, vận hành ổn định và có khả năng mở rộng ngay từ MVP để phục vụ quy mô lớn (hàng trăm nghìn sản phẩm, hàng trăm nghìn đến hàng triệu người dùng đăng ký).</li>
|
||||
<li>Thu hút và giữ chân người bán — các cơ sở sản xuất, nghệ nhân làng nghề — thông qua quy trình đăng ký/KYC rõ ràng, cơ chế hoa hồng minh bạch và payout đúng hạn, mở ra thêm một kênh tiêu thụ hiện đại cho sản phẩm làng nghề.</li>
|
||||
<li>Tăng tỷ lệ chuyển đổi và giữ chân khách hàng thông qua trải nghiệm mua sắm mượt mà, chương trình điểm thưởng/hạng thành viên, và khả năng tiếp cận khách hàng quốc tế qua đa ngôn ngữ — góp phần đưa sản phẩm văn hoá, thủ công truyền thống Việt Nam ra thị trường rộng hơn.</li>
|
||||
<li>Bắt nhịp chủ trương, chính sách của Đảng và Nhà nước về phát triển công nghiệp văn hoá, góp phần gia tăng giá trị kinh tế cho các sản phẩm văn hoá và làng nghề truyền thống Việt Nam.</li>
|
||||
<li>Đảm bảo tuân thủ đầy đủ các quy định pháp lý về thương mại điện tử và bảo vệ dữ liệu cá nhân tại Việt Nam ngay từ khi go-live.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="understanding-kpi">Chỉ số thành công (KPI)</h3>
|
||||
<ul>
|
||||
<li>Thời gian phản hồi trang danh mục/tìm kiếm dưới 2 giây, hoàn tất checkout dưới 3 giây — kể cả ở tải đỉnh.</li>
|
||||
<li>Uptime hệ thống đạt tối thiểu 99,9% cho các dịch vụ giao dịch cốt lõi.</li>
|
||||
<li>100% kịch bản nghiệm thu (UAT) cho các tính năng bắt buộc của MVP được thông qua trước go-live.</li>
|
||||
<li><mark class="todo">CẦN ĐIỀN: chỉ tiêu kinh doanh cụ thể — VD số lượng seller mục tiêu, GMV mục tiêu trong 6-12 tháng đầu — do phụ thuộc chiến lược kinh doanh của Ân Quang shop, chưa có trong hồ sơ hiện tại</mark></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="section" id="scope">
|
||||
<h2>3. Phạm vi đề xuất</h2>
|
||||
|
||||
<h3 id="scope-doi-tuong">Đối tượng người dùng</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Nhóm</th><th>Vai trò</th><th>Giá trị nhận được</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Khách vãng lai</td><td>Duyệt sản phẩm, mua hàng không cần đăng ký tài khoản</td><td>Mua sắm nhanh chóng, không rào cản</td></tr>
|
||||
<tr><td>Khách hàng đã đăng ký</td><td>Mua sắm, theo dõi đơn hàng, tích điểm thưởng</td><td>Trải nghiệm cá nhân hoá, tiết kiệm qua chương trình thành viên</td></tr>
|
||||
<tr><td>Người bán (Seller)</td><td>Đăng ký gian hàng, quản lý sản phẩm/tồn kho/đơn hàng</td><td>Tự chủ vận hành gian hàng, minh bạch doanh thu & hoa hồng, nhận thanh toán định kỳ</td></tr>
|
||||
<tr><td>Quản trị viên sàn</td><td>Quản lý toàn sàn: người bán, danh mục, hoa hồng, khuyến mãi, tranh chấp</td><td>Toàn quyền kiểm soát chất lượng và vận hành sàn</td></tr>
|
||||
<tr><td>Nhân viên vận hành/kho</td><td>Xử lý đóng gói, phối hợp đơn vị vận chuyển</td><td>Quy trình xử lý đơn hàng rõ ràng, giảm sai sót</td></tr>
|
||||
<tr><td>Nhân viên chăm sóc khách hàng</td><td>Xử lý khiếu nại, đổi trả, tranh chấp</td><td>Công cụ hỗ trợ xử lý nhanh, minh bạch với khách hàng và người bán</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="scope-trong-pham-vi">Trong phạm vi</h3>
|
||||
<ul>
|
||||
<li>Danh mục & tìm kiếm sản phẩm đa người bán, giỏ hàng đa người bán, checkout với tách đơn theo từng người bán.</li>
|
||||
<li>Thanh toán qua VNPay, Momo và thanh toán khi nhận hàng (COD).</li>
|
||||
<li>Quản lý đơn hàng, đổi trả/khiếu nại, đánh giá sản phẩm, danh sách yêu thích.</li>
|
||||
<li>Đăng ký & xác minh danh tính (KYC) cho người bán; quản lý sản phẩm/tồn kho; báo cáo doanh thu, hoa hồng, payout cho người bán.</li>
|
||||
<li>Cấu hình hoa hồng theo ngành hàng, payout định kỳ hàng tuần cho người bán qua chuyển khoản ngân hàng.</li>
|
||||
<li>Khuyến mãi/mã giảm giá; chương trình điểm thưởng & hạng thành viên (Bạc/Vàng/Kim cương).</li>
|
||||
<li>Hỗ trợ 5 ngôn ngữ giao diện (Việt/Anh/Trung/Hàn/Nhật) và hiển thị giá quy đổi tham khảo sang các ngoại tệ khác (giao dịch chính bằng VND).</li>
|
||||
<li>Tích hợp vận chuyển với GHN, GHTK; thông báo email/SMS cho khách hàng.</li>
|
||||
<li>Công cụ quản trị dành cho vận hành/kho và chăm sóc khách hàng.</li>
|
||||
<li>Nền tảng: ứng dụng web responsive (desktop, tablet, mobile-web).</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="scope-ngoai-pham-vi">Ngoài phạm vi (giai đoạn sau)</h3>
|
||||
<ul>
|
||||
<li>Ứng dụng di động (mobile app) dạng native.</li>
|
||||
<li>Chương trình affiliate marketing.</li>
|
||||
<li>Bán hàng theo hình thức đăng ký định kỳ (subscription).</li>
|
||||
<li>Hoá đơn điện tử tự động cho người bán.</li>
|
||||
<li>Phân biệt mức hoa hồng theo hạng người bán (chỉ phân biệt theo ngành hàng ở giai đoạn này).</li>
|
||||
<li>Đăng nhập hợp nhất (SSO) cho khách hàng doanh nghiệp.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="scope-features">Tính năng theo nhóm người dùng</h3>
|
||||
<div class="filter-bar" role="group" aria-label="Lọc tính năng theo giai đoạn">
|
||||
<button type="button" data-filter="all" aria-pressed="true">Tất cả</button>
|
||||
<button type="button" data-filter="MVP" aria-pressed="false">MVP</button>
|
||||
<button type="button" data-filter="Tuỳ chọn" aria-pressed="false">Tuỳ chọn</button>
|
||||
</div>
|
||||
|
||||
<div class="feature-group">
|
||||
<h4>Khách hàng & Khách vãng lai</h4>
|
||||
<div class="card-grid">
|
||||
<div class="card" data-phase="MVP"><h5>Đăng ký & đăng nhập tài khoản</h5><p>Tạo và quản lý tài khoản cá nhân bằng email/mật khẩu</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="Tuỳ chọn"><h5>Đăng nhập bằng mạng xã hội</h5><p>Đăng nhập nhanh bằng Google/Facebook, giảm rào cản gia nhập</p><span class="badge badge-optional">Tuỳ chọn</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản lý hồ sơ & địa chỉ giao hàng</h5><p>Lưu nhiều địa chỉ, rút ngắn thời gian đặt hàng lần sau</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Danh mục & tìm kiếm sản phẩm</h5><p>Duyệt, lọc, tìm kiếm sản phẩm từ nhiều người bán trong một giao diện thống nhất</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Giỏ hàng đa người bán</h5><p>Mua sản phẩm từ nhiều người bán khác nhau trong một lần đặt hàng</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Checkout & tách đơn theo người bán</h5><p>Đặt hàng thuận tiện, hệ thống tự động chia đơn cho từng người bán để xử lý độc lập</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Thanh toán đa phương thức</h5><p>Thanh toán qua VNPay, Momo hoặc COD theo lựa chọn</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản lý đơn hàng cá nhân</h5><p>Theo dõi trạng thái, huỷ đơn khi còn trong điều kiện cho phép</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Đổi trả & khiếu nại</h5><p>Gửi yêu cầu đổi trả/khiếu nại cho đơn đã giao, theo dõi tiến độ xử lý</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Danh sách yêu thích (Wishlist)</h5><p>Lưu sản phẩm quan tâm để mua sau</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Đánh giá & nhận xét sản phẩm</h5><p>Chia sẻ trải nghiệm, hỗ trợ khách hàng khác ra quyết định</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Thông báo đơn hàng qua email/SMS</h5><p>Luôn được cập nhật trạng thái đơn hàng theo thời gian thực</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Khuyến mãi & mã giảm giá</h5><p>Tiết kiệm chi phí mua sắm qua các chương trình ưu đãi</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Điểm thưởng & hạng thành viên</h5><p>Tích luỹ điểm đổi giảm giá, thăng hạng theo mức chi tiêu</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Đa ngôn ngữ giao diện</h5><p>Trải nghiệm bằng 5 ngôn ngữ, mở rộng khả năng tiếp cận khách quốc tế</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="Tuỳ chọn"><h5>Hiển thị giá quy đổi đa tiền tệ</h5><p>Tham khảo giá theo ngoại tệ quen thuộc trước khi mua (giao dịch vẫn bằng VND)</p><span class="badge badge-optional">Tuỳ chọn</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-group">
|
||||
<h4>Người bán (Seller)</h4>
|
||||
<div class="card-grid">
|
||||
<div class="card" data-phase="MVP"><h5>Đăng ký & xác minh danh tính (KYC)</h5><p>Quy trình đăng ký rõ ràng, minh bạch điều kiện được duyệt bán hàng</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản lý sản phẩm & tồn kho</h5><p>Toàn quyền quản lý gian hàng của mình, cập nhật giá/tồn kho theo thời gian thực</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản lý đơn hàng</h5><p>Xử lý đơn hàng thuộc gian hàng của mình một cách độc lập</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Dashboard báo cáo doanh thu, hoa hồng & payout</h5><p>Theo dõi minh bạch doanh thu, hoa hồng bị trừ và lịch sử thanh toán</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Xác thực đa yếu tố (MFA)</h5><p>Bảo vệ tài khoản gian hàng khỏi truy cập trái phép</p><span class="badge badge-mvp">MVP</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-group">
|
||||
<h4>Quản trị viên & Vận hành sàn</h4>
|
||||
<div class="card-grid">
|
||||
<div class="card" data-phase="MVP"><h5>Duyệt/khoá người bán</h5><p>Kiểm soát chất lượng người bán tham gia sàn</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Cấu hình hoa hồng theo ngành hàng</h5><p>Linh hoạt điều chỉnh chính sách hoa hồng theo chiến lược kinh doanh</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Payout định kỳ cho người bán</h5><p>Tự động hoá việc tính toán và lên lịch chi trả hàng tuần</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản trị catalog toàn sàn</h5><p>Kiểm soát chất lượng sản phẩm, xử lý vi phạm kịp thời</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Quản lý khuyến mãi/mã giảm giá</h5><p>Chủ động triển khai chiến dịch thúc đẩy doanh số</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Xử lý tranh chấp & khiếu nại</h5><p>Quy trình xử lý minh bạch giữa khách hàng và người bán</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Xử lý tồn kho & vận chuyển</h5><p>Phối hợp đóng gói, tạo vận đơn và cập nhật trạng thái giao hàng</p><span class="badge badge-mvp">MVP</span></div>
|
||||
<div class="card" data-phase="MVP"><h5>Xác thực đa yếu tố (MFA) bắt buộc cho quản trị viên</h5><p>Bảo vệ tài khoản có quyền cao nhất trên hệ thống</p><span class="badge badge-mvp">MVP</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="solution">
|
||||
<h2>4. Giải pháp đề xuất</h2>
|
||||
|
||||
<h3 id="solution-kien-truc">Kiến trúc tổng quan</h3>
|
||||
<div class="diagram">
|
||||
<div class="diagram-title">Sơ đồ: Kiến trúc tổng quan hệ thống</div>
|
||||
<div class="diagram-body"><pre class="mermaid">flowchart TB
|
||||
Cust["Khách hàng & Khách vãng lai"]
|
||||
Sell["Người bán"]
|
||||
Adm["Quản trị & Vận hành sàn"]
|
||||
WebApp["Ứng dụng Web (Responsive)"]
|
||||
Security["Lớp bảo mật\n(tường lửa, xác thực, phân quyền)"]
|
||||
|
||||
subgraph Platform["Nền tảng dịch vụ lõi"]
|
||||
Catalog["Danh mục & Tìm kiếm"]
|
||||
Order["Giỏ hàng & Đơn hàng"]
|
||||
Payment["Thanh toán"]
|
||||
SellerMgmt["Quản lý Người bán & KYC"]
|
||||
Commission["Hoa hồng & Payout"]
|
||||
Promo["Khuyến mãi & Điểm thưởng"]
|
||||
Notify["Thông báo"]
|
||||
Shipping["Vận chuyển"]
|
||||
end
|
||||
|
||||
DataLayer["Dữ liệu & Bộ nhớ đệm\n(mã hoá, sao lưu định kỳ)"]
|
||||
External["Đối tác bên ngoài\n(Cổng thanh toán, Vận chuyển, Ngân hàng)"]
|
||||
|
||||
Cust --> WebApp
|
||||
Sell --> WebApp
|
||||
Adm --> WebApp
|
||||
WebApp --> Security --> Platform
|
||||
Platform --> DataLayer
|
||||
Platform --> External</pre></div>
|
||||
</div>
|
||||
<p>Hệ thống được tổ chức thành các khối dịch vụ độc lập theo từng nghiệp vụ (danh mục, giỏ hàng/đơn hàng, thanh toán, quản lý người bán, hoa hồng/payout...). Cách tổ chức này cho phép các khối chịu tải cao — như duyệt sản phẩm và đặt hàng trong mùa flash sale — được mở rộng riêng biệt mà không ảnh hưởng đến các phần còn lại của hệ thống, đồng thời giúp từng nhóm chức năng được nâng cấp độc lập theo thời gian mà không gây gián đoạn toàn hệ thống.</p>
|
||||
|
||||
<h3 id="solution-cong-nghe">Công nghệ sử dụng & lý do</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Lớp</th><th>Công nghệ</th><th>Lý do chọn</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Hạ tầng đám mây</td><td>Amazon Web Services (AWS)</td><td>Nền tảng ổn định, có đầy đủ dịch vụ cho hệ thống quy mô lớn, dễ mở rộng theo nhu cầu thực tế</td></tr>
|
||||
<tr><td>Kiến trúc ứng dụng</td><td>Dịch vụ hoá theo nghiệp vụ (modular services)</td><td>Cho phép mở rộng độc lập các khu vực chịu tải cao (danh mục/tìm kiếm, giỏ hàng/đặt hàng) mà không ảnh hưởng toàn hệ thống</td></tr>
|
||||
<tr><td>Bộ nhớ đệm (cache)</td><td>Redis</td><td>Tăng tốc độ phản hồi cho các thao tác tìm kiếm, giỏ hàng, giảm tải cho hệ thống lõi</td></tr>
|
||||
<tr><td>Mạng phân phối nội dung (CDN)</td><td>CloudFront</td><td>Tăng tốc độ tải hình ảnh sản phẩm cho người dùng ở nhiều khu vực địa lý</td></tr>
|
||||
<tr><td>Hàng đợi xử lý bất đồng bộ</td><td>Kafka/Amazon MSK</td><td>Đảm bảo các bước xử lý sau đặt hàng (tính hoa hồng, thông báo, tích điểm) không làm chậm trải nghiệm đặt hàng của khách</td></tr>
|
||||
<tr><td>Tìm kiếm sản phẩm</td><td>OpenSearch</td><td>Tìm kiếm nhanh, chính xác trên khối lượng sản phẩm lớn</td></tr>
|
||||
<tr><td>Cơ sở dữ liệu</td><td>PostgreSQL (được sao lưu định kỳ, có nhân bản dự phòng)</td><td>Ổn định, độ tin cậy cao cho dữ liệu giao dịch và tài chính</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="solution-tich-hop">Tích hợp hệ thống bên ngoài</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Đối tác</th><th>Mục đích</th><th>Lợi ích cho Ân Quang shop</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>VNPay, Momo</td><td>Cổng thanh toán trực tuyến</td><td>Đa dạng phương thức thanh toán, không lưu trữ thông tin thẻ tại hệ thống, giảm rủi ro bảo mật</td></tr>
|
||||
<tr><td>Thanh toán khi nhận hàng (COD)</td><td>Phương thức thanh toán nội bộ</td><td>Phù hợp thói quen mua sắm phổ biến tại Việt Nam</td></tr>
|
||||
<tr><td>GHN, GHTK</td><td>Đơn vị vận chuyển</td><td>Giao hàng toàn quốc, có cơ chế dự phòng giữa hai đối tác khi một bên gián đoạn dịch vụ</td></tr>
|
||||
<tr><td>Nhà cung cấp Email/SMS</td><td>Gửi thông báo đơn hàng</td><td>Khách hàng luôn được cập nhật trạng thái đơn hàng kịp thời</td></tr>
|
||||
<tr><td>Ngân hàng đối tác</td><td>Chuyển khoản payout cho người bán</td><td>Chi trả minh bạch, đúng hạn cho người bán theo chu kỳ hàng tuần</td></tr>
|
||||
<tr><td>Google/Facebook OAuth</td><td>Đăng nhập nhanh bằng mạng xã hội</td><td>Giảm rào cản đăng ký, tăng tỷ lệ chuyển đổi khách hàng mới</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="solution-ux">Trải nghiệm người dùng nổi bật</h3>
|
||||
<ul>
|
||||
<li>Giỏ hàng thông minh cho phép mua sản phẩm từ nhiều người bán trong một lần đặt hàng, hệ thống tự động tách đơn để xử lý riêng biệt và minh bạch.</li>
|
||||
<li>Quy trình checkout tối ưu: hiển thị rõ phí vận chuyển, thời gian giao dự kiến theo từng người bán trước khi thanh toán.</li>
|
||||
<li>Dashboard trực quan cho người bán: theo dõi doanh thu, hoa hồng và payout theo thời gian thực.</li>
|
||||
<li>Chương trình điểm thưởng & hạng thành viên giúp tăng tỷ lệ quay lại mua hàng.</li>
|
||||
<li>Giao diện đa ngôn ngữ (5 ngôn ngữ) và hiển thị giá quy đổi tham khảo, mở rộng khả năng tiếp cận khách hàng quốc tế.</li>
|
||||
<li>Mọi màn hình đều có trạng thái tải/rỗng/lỗi rõ ràng, đảm bảo trải nghiệm nhất quán kể cả khi có sự cố tạm thời.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="section" id="quality">
|
||||
<h2>5. Cam kết chất lượng & vận hành</h2>
|
||||
|
||||
<h3 id="quality-hieu-nang">Hiệu năng & khả năng mở rộng</h3>
|
||||
<p>Hệ thống được thiết kế để đáp ứng thời gian phản hồi trang danh mục/tìm kiếm dưới 2 giây và hoàn tất checkout dưới 3 giây, kể cả trong các đợt cao điểm với hàng nghìn đến hàng chục nghìn người dùng truy cập đồng thời (mùa flash sale). Kiến trúc cho phép mở rộng quy mô theo chiều ngang ngay từ đầu, không cần tái thiết kế lớn khi lượng người dùng tăng trưởng.</p>
|
||||
|
||||
<h3 id="quality-do-san-sang">Độ sẵn sàng & khôi phục</h3>
|
||||
<p>Cam kết uptime tối thiểu 99,9% cho các dịch vụ giao dịch cốt lõi (danh mục, giỏ hàng, thanh toán). Hệ thống có cơ chế sao lưu và khôi phục dữ liệu định kỳ; mục tiêu thời gian khôi phục sau sự cố dao động từ 1 đến 24 giờ và mục tiêu dữ liệu tối đa có thể mất từ 15 phút đến 24 giờ, tuỳ mức độ quan trọng của từng nhóm dịch vụ (dịch vụ giao dịch/tài chính được ưu tiên khôi phục nhanh nhất và mất ít dữ liệu nhất).</p>
|
||||
|
||||
<h3 id="quality-bao-mat">Bảo mật & tuân thủ</h3>
|
||||
<ul>
|
||||
<li>Bảo vệ dữ liệu cá nhân của khách hàng và người bán (bao gồm hồ sơ xác minh danh tính) theo Nghị định 13/2023 về bảo vệ dữ liệu cá nhân.</li>
|
||||
<li>Tuân thủ nghĩa vụ thông báo website thương mại điện tử dạng sàn giao dịch với Bộ Công Thương theo Nghị định 52/2013 và 85/2021.</li>
|
||||
<li>Không lưu trữ thông tin thẻ thanh toán tại hệ thống — toàn bộ giao dịch thẻ được xử lý qua VNPay/Momo, giúp thu hẹp đáng kể phạm vi tuân thủ PCI-DSS.</li>
|
||||
<li>Xác thực đa yếu tố (MFA) bắt buộc đối với quản trị viên sàn, khuyến khích áp dụng cho người bán.</li>
|
||||
<li>Toàn bộ dữ liệu nhạy cảm (thông tin định danh, tài khoản ngân hàng) được mã hoá cả khi lưu trữ và khi truyền tải.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="quality-giam-sat">Giám sát & hỗ trợ</h3>
|
||||
<p>Hệ thống được giám sát liên tục theo các chỉ số vận hành quan trọng (thời gian phản hồi, tỷ lệ lỗi, độ sẵn sàng dịch vụ). Đội ngũ hỗ trợ vận hành trong giờ hành chính, có quy trình cảnh báo và ứng cứu 24/7 cho các sự cố nghiêm trọng ảnh hưởng trực tiếp đến giao dịch/doanh thu.</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="approach">
|
||||
<h2>6. Phương pháp triển khai & lộ trình</h2>
|
||||
|
||||
<h3 id="approach-phuong-phap">Phương pháp</h3>
|
||||
<p>Dự án được triển khai theo phương pháp linh hoạt (Agile), chia thành các giai đoạn/đợt phát triển rõ ràng, có demo và trao đổi định kỳ với Ân Quang shop để đảm bảo sản phẩm luôn bám sát nhu cầu thực tế trước khi hoàn thiện. Tần suất demo/sprint cụ thể: <mark class="todo">CẦN ĐIỀN: tần suất demo và cơ chế báo cáo tiến độ — thống nhất khi khởi động dự án</mark>.</p>
|
||||
|
||||
<div class="gantt">
|
||||
<div class="gantt-row">
|
||||
<div class="gantt-label">Khởi tạo & thiết kế chi tiết</div>
|
||||
<div class="gantt-track"><div class="gantt-bar" style="left:0%;width:6.6%;" title="2026-10-01 → 2026-10-31">2026-10</div></div>
|
||||
</div>
|
||||
<div class="gantt-row">
|
||||
<div class="gantt-label">MVP — Đợt 1: Nền tảng cốt lõi</div>
|
||||
<div class="gantt-track"><div class="gantt-bar" style="left:6.8%;width:26.0%;" title="2026-11-01 → 2027-02-28">2026-11 → 2027-02</div></div>
|
||||
</div>
|
||||
<div class="gantt-row">
|
||||
<div class="gantt-label">MVP — Đợt 2: Vận hành sàn</div>
|
||||
<div class="gantt-track"><div class="gantt-bar" style="left:33.0%;width:19.9%;" title="2027-03-01 → 2027-05-31">2027-03 → 2027-05</div></div>
|
||||
</div>
|
||||
<div class="gantt-row">
|
||||
<div class="gantt-label">Kiểm thử tích hợp, hiệu năng, bảo mật & UAT</div>
|
||||
<div class="gantt-track"><div class="gantt-bar" style="left:53.2%;width:6.4%;" title="2027-06-01 → 2027-06-30">2027-06</div></div>
|
||||
</div>
|
||||
<div class="gantt-row">
|
||||
<div class="gantt-label">Go-live & bảo hành</div>
|
||||
<div class="gantt-track"><div class="gantt-bar is-open" style="left:59.7%;width:40.3%;" title="Bắt đầu 2027-07-01, ngày kết thúc chưa xác định">2027-07 → ?</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="gantt-note">* Thanh "Go-live & bảo hành" hiển thị theo độ dài ước tính (dựa trên bảo hành 6 tháng), vì ngày kết thúc chính thức của giai đoạn này còn là mục cần điền — xem mốc bàn giao bên dưới.</p>
|
||||
|
||||
<ul class="milestones">
|
||||
<li><span class="m-phase">Khởi tạo & thiết kế chi tiết</span><span>Tài liệu thiết kế chi tiết được thông qua</span></li>
|
||||
<li><span class="m-phase">MVP — Đợt 1</span><span>Demo luồng mua hàng cơ bản end-to-end</span></li>
|
||||
<li><span class="m-phase">MVP — Đợt 2</span><span>Demo luồng vận hành sàn end-to-end</span></li>
|
||||
<li><span class="m-phase">Kiểm thử & UAT</span><span>Báo cáo kiểm thử & biên bản UAT</span></li>
|
||||
<li><span class="m-phase">Go-live & bảo hành</span><span>Hệ thống vận hành chính thức — kết thúc: <mark class="todo">CẦN ĐIỀN: ngày kết thúc chính thức, phụ thuộc phạm vi & ngân sách được thống nhất trong hợp đồng</mark></span></li>
|
||||
</ul>
|
||||
|
||||
<blockquote>Lộ trình trên là kịch bản ước tính khoảng 10 tháng (trong khoảng 9-12 tháng theo lộ trình MVP tiêu chuẩn cho quy mô dự án này), sẽ được chốt chính thức sau khi thống nhất phạm vi chi tiết và ngân sách với Ân Quang shop.</blockquote>
|
||||
|
||||
<h3 id="approach-kiem-thu">Kiểm thử & bàn giao</h3>
|
||||
<p>Trước khi bàn giao, hệ thống trải qua nhiều lớp kiểm thử: kiểm thử đơn vị (unit test) cho từng thành phần nghiệp vụ, kiểm thử tích hợp giữa các khối chức năng, kiểm thử hiệu năng mô phỏng tải cao (flash sale), kiểm thử bảo mật, và cuối cùng là kiểm thử nghiệm thu người dùng (UAT) cùng đại diện nghiệp vụ của Ân Quang shop trên môi trường gần giống thực tế (không sử dụng dữ liệu cá nhân/định danh thật).</p>
|
||||
|
||||
<h3 id="approach-dao-tao">Đào tạo & chuyển giao</h3>
|
||||
<p>Đội ngũ vận hành, quản trị viên và người bán chủ chốt của Ân Quang shop sẽ được đào tạo sử dụng hệ thống trước go-live. Hình thức và thời lượng đào tạo cụ thể: <mark class="todo">CẦN ĐIỀN: số buổi/hình thức đào tạo — sẽ thống nhất khi lập kế hoạch triển khai chi tiết</mark>.</p>
|
||||
|
||||
<h3 id="approach-bao-hanh">Bảo hành & vận hành sau go-live</h3>
|
||||
<p>Hệ thống được bảo hành 6 tháng kể từ ngày go-live chính thức, bao gồm khắc phục lỗi phát sinh không thuộc phạm vi thay đổi yêu cầu mới. Trong thời gian bảo hành và vận hành, đội ngũ hỗ trợ làm việc trong giờ hành chính, kèm quy trình cảnh báo và ứng cứu 24/7 cho sự cố nghiêm trọng ảnh hưởng đến giao dịch/doanh thu.</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="team">
|
||||
<h2>7. Đội ngũ & mô hình phối hợp</h2>
|
||||
<div class="team-grid">
|
||||
<div class="team-card"><h5>Quản lý dự án (Project Manager)</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Điều phối tổng thể, quản lý tiến độ, đầu mối liên hệ với Ân Quang shop</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Kiến trúc sư giải pháp</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Thiết kế kiến trúc kỹ thuật, đảm bảo khả năng mở rộng và bảo mật</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Chuyên viên phân tích nghiệp vụ (BA)</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Làm rõ yêu cầu, xác nhận phạm vi cùng Ân Quang shop</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Thiết kế UI/UX</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Thiết kế giao diện, trải nghiệm người dùng</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Kỹ sư phát triển Back-end</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Xây dựng các dịch vụ nghiệp vụ (danh mục, đơn hàng, thanh toán, người bán, hoa hồng...)</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Kỹ sư phát triển Front-end</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Xây dựng ứng dụng web cho khách hàng, người bán và quản trị viên</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Kỹ sư kiểm thử (QA)</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Thiết kế và thực thi kịch bản kiểm thử, phối hợp UAT</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
<div class="team-card"><h5>Kỹ sư vận hành/hạ tầng (DevOps)</h5><dl>
|
||||
<dt>Số lượng</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
<dt>Trách nhiệm</dt><dd>Thiết lập môi trường, giám sát, triển khai và hỗ trợ vận hành</dd>
|
||||
<dt>Mức tham gia</dt><dd><mark class="todo">CẦN ĐIỀN</mark></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<p>Mô hình phối hợp đề xuất: họp đồng bộ tiến độ định kỳ với đại diện Ân Quang shop, demo sản phẩm theo từng đợt phát triển, báo cáo trạng thái thường xuyên trong suốt quá trình triển khai. Chi tiết tần suất họp/báo cáo: <mark class="todo">CẦN ĐIỀN: thống nhất khi khởi động dự án</mark>.</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="commercial">
|
||||
<h2>8. Chi phí & điều khoản thương mại</h2>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Hạng mục</th><th>Mô tả</th><th>Chi phí</th><th>Ghi chú</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Khởi tạo & thiết kế chi tiết</td><td>Xác nhận phạm vi, thiết kế UI/UX, kiến trúc kỹ thuật chi tiết</td><td>Theo thoả thuận trong hợp đồng</td><td>Chi phí được trình bày chi tiết trong báo giá riêng theo phạm vi đã thống nhất</td></tr>
|
||||
<tr><td>Phát triển MVP (Đợt 1 & Đợt 2)</td><td>Xây dựng toàn bộ tính năng trong phạm vi mô tả tại mục 3</td><td>Theo thoả thuận trong hợp đồng</td><td>Áp dụng mô hình tính phí theo giai đoạn (phased)</td></tr>
|
||||
<tr><td>Kiểm thử, bảo mật & UAT</td><td>Kiểm thử toàn diện trước go-live</td><td>Theo thoả thuận trong hợp đồng</td><td></td></tr>
|
||||
<tr><td>Go-live & bảo hành 6 tháng</td><td>Triển khai chính thức và hỗ trợ sau go-live</td><td>Theo thoả thuận trong hợp đồng</td><td>Không phát sinh thêm chi phí cho lỗi thuộc phạm vi bảo hành</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="commercial-thanh-toan">Điều khoản thanh toán</h3>
|
||||
<p>Các mốc thanh toán cụ thể sẽ được quy định trong hợp đồng chính thức. <mark class="todo">CẦN ĐIỀN: mốc thanh toán và tỉ lệ tương ứng theo từng giai đoạn</mark>.</p>
|
||||
|
||||
<h3 id="commercial-khong-bao-gom">Không bao gồm</h3>
|
||||
<ul>
|
||||
<li>Chi phí hạ tầng đám mây (AWS) vận hành thực tế theo mức sử dụng.</li>
|
||||
<li>Phí giao dịch/dịch vụ từ các đối tác bên thứ ba: cổng thanh toán (VNPay/Momo), đơn vị vận chuyển (GHN/GHTK), nhà cung cấp email/SMS, phí chuyển khoản ngân hàng cho payout.</li>
|
||||
<li>Chi phí đăng ký/thủ tục pháp lý với cơ quan quản lý nhà nước (thông báo website thương mại điện tử với Bộ Công Thương).</li>
|
||||
<li>Chi phí biên dịch/quản lý nội dung cho các ngôn ngữ bổ sung ngoài tiếng Việt.</li>
|
||||
<li>Kiểm định bảo mật độc lập bởi bên thứ ba (kiểm thử xâm nhập định kỳ, đánh giá tuân thủ) nếu Ân Quang shop yêu cầu thực hiện.</li>
|
||||
<li>Các hạng mục nằm ngoài phạm vi mô tả tại mục 3 (ứng dụng di động native, affiliate marketing, subscription...).</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="commercial-hieu-luc">Hiệu lực báo giá</h3>
|
||||
<p>Đề xuất này có hiệu lực trong vòng 30 ngày kể từ ngày phát hành (2026-09-06).</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="risks">
|
||||
<h2>9. Giả định, ràng buộc & rủi ro</h2>
|
||||
|
||||
<h3 id="risks-gia-dinh">Giả định</h3>
|
||||
<ul>
|
||||
<li>MVP chỉ triển khai trên nền tảng web responsive; ứng dụng di động native được lên kế hoạch cho giai đoạn sau.</li>
|
||||
<li>Cổng thanh toán sử dụng VNPay và Momo; đơn vị vận chuyển sử dụng GHN và GHTK.</li>
|
||||
<li>Kỳ giữ tiền (hold) trước khi payout cho người bán là 3-7 ngày sau khi giao hàng thành công, nhằm xử lý các trường hợp đổi trả.</li>
|
||||
<li>Chương trình điểm thưởng áp dụng theo cơ chế: tích 1 điểm/10.000đ chi tiêu, 100 điểm quy đổi 10.000đ giảm giá, 3 hạng thành viên (Bạc/Vàng/Kim cương) theo tổng chi tiêu 12 tháng gần nhất.</li>
|
||||
<li>Không có yêu cầu đăng nhập hợp nhất (SSO) cho khách hàng doanh nghiệp ở giai đoạn MVP.</li>
|
||||
<li>Dự án được triển khai hoàn toàn mới, không có hệ thống cũ cần tích hợp hoặc di trú dữ liệu.</li>
|
||||
<li>Lộ trình triển khai ước tính 9-12 tháng dựa trên phạm vi mô tả tại mục 3, chưa tính đến các thay đổi phạm vi phát sinh trong quá trình triển khai.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="risks-rang-buoc">Ràng buộc</h3>
|
||||
<ul>
|
||||
<li>Hệ thống triển khai trên nền tảng đám mây AWS.</li>
|
||||
<li>Bắt buộc tích hợp các đối tác: VNPay, Momo, GHN, GHTK, và chuyển khoản ngân hàng cho payout người bán.</li>
|
||||
<li>Kiến trúc phải đáp ứng quy mô lớn (hàng trăm nghìn sản phẩm, hàng trăm nghìn đến hàng triệu người dùng, tải đỉnh hàng nghìn-hàng chục nghìn người dùng đồng thời) ngay từ thiết kế ban đầu.</li>
|
||||
<li>Hệ thống phải tuân thủ các quy định pháp lý về thương mại điện tử (Nghị định 52/2013, 85/2021) và bảo vệ dữ liệu cá nhân (Nghị định 13/2023) tại Việt Nam.</li>
|
||||
</ul>
|
||||
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Rủi ro</th><th>Mức độ</th><th>Biện pháp giảm thiểu</th><th>Trách nhiệm</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Nhu cầu thực tế về ứng dụng di động native cao hơn dự kiến, ảnh hưởng tỷ lệ chuyển đổi trên nền tảng web</td><td class="risk-trung-binh">Trung bình</td><td>Theo dõi hành vi người dùng sau go-live; lên kế hoạch phát triển ứng dụng di động sớm hơn nếu dữ liệu thị trường cho thấy nhu cầu cao</td><td>Ân Quang shop & Ân Quang Tech</td></tr>
|
||||
<tr><td>Đối tác thanh toán/vận chuyển thực tế khác với đề xuất (VNPay/Momo, GHN/GHTK)</td><td class="risk-thap">Thấp</td><td>Xác nhận sớm đối tác chính thức trước khi bắt đầu phát triển tích hợp; điều chỉnh kế hoạch nếu cần thay đổi đối tác</td><td>Ân Quang shop</td></tr>
|
||||
<tr><td>Chính sách đổi trả thực tế dài hơn giả định (3-7 ngày), ảnh hưởng dòng tiền payout cho người bán</td><td class="risk-trung-binh">Trung bình</td><td>Xác nhận chính sách đổi trả chính thức trước khi hoàn thiện thiết kế cơ chế payout; điều chỉnh kỳ giữ tiền nếu cần</td><td>Ân Quang shop & Ân Quang Tech</td></tr>
|
||||
<tr><td>Yêu cầu cấp phép "Sàn giao dịch thương mại điện tử" đầy đủ (thay vì chỉ thông báo) tuỳ theo mô hình kinh doanh cụ thể</td><td class="risk-trung-binh">Trung bình</td><td>Rà soát pháp lý với đơn vị tư vấn chuyên trách trước khi go-live để xác nhận đúng nghĩa vụ đăng ký</td><td>Ân Quang shop</td></tr>
|
||||
<tr><td>Yêu cầu SLA cao hơn cam kết hiện tại (VD trên 99,9% uptime) làm tăng chi phí hạ tầng</td><td class="risk-thap">Thấp</td><td>Xác nhận sớm yêu cầu SLA thực tế; đánh giá chi phí bổ sung cho hạ tầng đa vùng nếu cần</td><td>Ân Quang shop & Ân Quang Tech</td></tr>
|
||||
<tr><td>Ngân sách/thời gian thực tế bị giới hạn chặt hơn ước tính hiện tại, ảnh hưởng phạm vi MVP</td><td class="risk-trung-binh">Trung bình</td><td>Thống nhất phạm vi và ngân sách chi tiết ngay từ giai đoạn khởi tạo; ưu tiên chia nhỏ phạm vi theo giá trị mang lại cao nhất nếu cần cắt giảm</td><td>Ân Quang shop & Ân Quang Tech</td></tr>
|
||||
<tr><td>Nội dung đa ngôn ngữ (5 ngôn ngữ) chưa có quy trình biên dịch/quản lý cụ thể</td><td class="risk-thap">Thấp</td><td>Thống nhất quy trình cung cấp/biên dịch nội dung với Ân Quang shop trước khi phát triển tính năng đa ngôn ngữ</td><td>Ân Quang shop</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="acceptance">
|
||||
<h2>10. Tiêu chí chấp nhận & bàn giao</h2>
|
||||
<p><strong>Sản phẩm bàn giao:</strong></p>
|
||||
<ul>
|
||||
<li>Hệ thống hoạt động đầy đủ theo phạm vi mô tả tại mục 3, triển khai trên môi trường Production.</li>
|
||||
<li>Mã nguồn hệ thống và tài liệu kỹ thuật liên quan.</li>
|
||||
<li>Báo cáo kết quả kiểm thử (kiểm thử tích hợp, hiệu năng, bảo mật) và biên bản nghiệm thu người dùng (UAT).</li>
|
||||
<li>Tài liệu hướng dẫn vận hành và tài liệu đào tạo cho đội ngũ Ân Quang shop.</li>
|
||||
</ul>
|
||||
<p><strong>Tiêu chí chấp nhận tổng quát:</strong></p>
|
||||
<ul>
|
||||
<li>100% kịch bản nghiệm thu (UAT) cho các tính năng bắt buộc của MVP đạt kết quả "Đạt".</li>
|
||||
<li>Hệ thống đáp ứng các cam kết hiệu năng và độ sẵn sàng nêu tại mục 5 trong môi trường kiểm thử tải.</li>
|
||||
<li>Không tồn tại lỗi nghiêm trọng (Critical/High) chưa được khắc phục tại thời điểm go-live.</li>
|
||||
</ul>
|
||||
<p><strong>Quy trình UAT:</strong> Ân Quang shop cử đại diện nghiệp vụ tham gia kiểm thử nghiệm thu trên môi trường gần giống thực tế (không sử dụng dữ liệu cá nhân/định danh thật), theo các kịch bản nghiệp vụ đầu-cuối đã thống nhất trước (VD: hành trình mua hàng trọn vẹn, hành trình đăng ký và vận hành gian hàng của người bán, hành trình xử lý khiếu nại). Các phát sinh trong quá trình UAT được ghi nhận, phân loại mức độ ưu tiên và xử lý trước khi go-live hoặc lùi sang giai đoạn sau theo quyết định của Ân Quang shop.</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="next-steps">
|
||||
<h2>11. Bước tiếp theo & liên hệ</h2>
|
||||
<ul class="checklist">
|
||||
<li>Rà soát và xác nhận phạm vi, giả định nêu tại đề xuất này cùng Ân Quang shop.</li>
|
||||
<li>Thống nhất ngân sách và mốc thanh toán chi tiết.</li>
|
||||
<li>Ký kết hợp đồng triển khai chính thức.</li>
|
||||
<li>Khởi động dự án (kick-off), thiết lập kênh trao đổi và lịch demo định kỳ.</li>
|
||||
<li>Bắt đầu giai đoạn thiết kế chi tiết theo lộ trình tại mục 6.</li>
|
||||
</ul>
|
||||
<p><strong>Thông tin liên hệ:</strong></p>
|
||||
<ul>
|
||||
<li>Phía Ân Quang shop: Lê Trí Dũng - CFO — <mark class="todo">CẦN ĐIỀN: email/số điện thoại liên hệ</mark></li>
|
||||
<li>Phía Ân Quang Tech: Trần Văn Dũng — <mark class="todo">CẦN ĐIỀN: email/số điện thoại liên hệ</mark></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="section" id="appendix">
|
||||
<h2>Phụ lục</h2>
|
||||
|
||||
<h3 id="appendix-a">A. Danh mục yêu cầu chi tiết</h3>
|
||||
<p><strong>Yêu cầu chức năng</strong></p>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Mã</th><th>Yêu cầu</th><th>Ưu tiên</th><th>Giai đoạn</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>FR-01</td><td>Đăng ký & đăng nhập tài khoản khách hàng</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-02</td><td>Đăng nhập mạng xã hội</td><td>Could</td><td>Tuỳ chọn</td></tr>
|
||||
<tr><td>FR-03</td><td>Quản lý hồ sơ & địa chỉ giao hàng</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-04</td><td>Danh mục & tìm kiếm sản phẩm đa người bán</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-05</td><td>Giỏ hàng đa người bán</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-06</td><td>Checkout & tách đơn theo seller</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-07</td><td>Thanh toán</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-08</td><td>Quản lý đơn hàng (khách hàng)</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-09</td><td>Đổi trả & khiếu nại đơn hàng</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-10</td><td>Danh sách yêu thích (Wishlist)</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-11</td><td>Đánh giá & nhận xét sản phẩm</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-12</td><td>Thông báo đơn hàng</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-13</td><td>Khuyến mãi & mã giảm giá</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-14</td><td>Chương trình loyalty/điểm thưởng</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-15</td><td>Đa ngôn ngữ giao diện</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-16</td><td>Hiển thị đa tiền tệ</td><td>Could</td><td>Tuỳ chọn</td></tr>
|
||||
<tr><td>FR-17</td><td>Đăng ký & KYC người bán</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-18</td><td>Quản lý sản phẩm & tồn kho (seller)</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-19</td><td>Quản lý đơn hàng (seller)</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-20</td><td>Dashboard & báo cáo doanh thu (seller)</td><td>Should</td><td>MVP</td></tr>
|
||||
<tr><td>FR-21</td><td>Cấu hình hoa hồng (commission) theo ngành hàng</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-22</td><td>Payout định kỳ cho seller</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-23</td><td>Quản trị seller</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-24</td><td>Quản trị catalog toàn sàn</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-25</td><td>Xử lý tranh chấp & khiếu nại</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-26</td><td>Xử lý tồn kho & vận chuyển</td><td>Must</td><td>MVP</td></tr>
|
||||
<tr><td>FR-27</td><td>Xác thực đa yếu tố (MFA)</td><td>Should</td><td>MVP</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<p><strong>Yêu cầu phi chức năng</strong></p>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Mã</th><th>Nhóm</th><th>Cam kết</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>NFR-01</td><td>Hiệu năng</td><td>Trang danh mục/tìm kiếm < 2 giây; checkout < 3 giây, kể cả tải đỉnh</td></tr>
|
||||
<tr><td>NFR-02</td><td>Khả năng mở rộng</td><td>Kiến trúc scale-out ngang, hỗ trợ hàng nghìn-hàng chục nghìn người dùng đồng thời</td></tr>
|
||||
<tr><td>NFR-03</td><td>Độ sẵn sàng</td><td>Uptime mục tiêu 99,9% cho dịch vụ giao dịch cốt lõi</td></tr>
|
||||
<tr><td>NFR-04</td><td>Bảo mật</td><td>Bảo vệ PII, MFA bắt buộc cho quản trị viên</td></tr>
|
||||
<tr><td>NFR-05</td><td>Tuân thủ pháp lý</td><td>NĐ 52/2013, 85/2021, NĐ 13/2023, PCI-DSS scope thu hẹp</td></tr>
|
||||
<tr><td>NFR-06</td><td>Đa ngôn ngữ/tiền tệ</td><td>5 ngôn ngữ, hiển thị quy đổi đa tiền tệ tham khảo</td></tr>
|
||||
<tr><td>NFR-07</td><td>Khả năng bảo trì</td><td>Kiến trúc module hoá theo nghiệp vụ</td></tr>
|
||||
<tr><td>NFR-08</td><td>Vận hành</td><td>3 môi trường tách biệt, hỗ trợ giờ hành chính + escalation 24/7</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="appendix-b">B. Thuật ngữ</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<thead><tr><th>Thuật ngữ</th><th>Nghĩa</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Guest</td><td>Khách vãng lai, chưa đăng ký tài khoản</td></tr>
|
||||
<tr><td>Customer</td><td>Khách hàng đã đăng ký tài khoản</td></tr>
|
||||
<tr><td>Seller (Vendor)</td><td>Người bán thứ ba đăng ký kinh doanh trên sàn</td></tr>
|
||||
<tr><td>Platform Admin</td><td>Quản trị viên sàn</td></tr>
|
||||
<tr><td>Ops Staff</td><td>Nhân viên vận hành/kho</td></tr>
|
||||
<tr><td>CSR</td><td>Nhân viên chăm sóc khách hàng</td></tr>
|
||||
<tr><td>Product / SKU</td><td>Sản phẩm và các biến thể cụ thể (VD: theo size, màu)</td></tr>
|
||||
<tr><td>Category</td><td>Ngành hàng/danh mục sản phẩm</td></tr>
|
||||
<tr><td>Cart</td><td>Giỏ hàng, có thể chứa sản phẩm từ nhiều người bán</td></tr>
|
||||
<tr><td>Order</td><td>Đơn hàng của khách hàng, có thể tách thành nhiều đơn con theo người bán</td></tr>
|
||||
<tr><td>Payment</td><td>Giao dịch thanh toán</td></tr>
|
||||
<tr><td>Shipment</td><td>Lô hàng giao cho khách, gắn với đơn vị vận chuyển</td></tr>
|
||||
<tr><td>Return Request</td><td>Yêu cầu đổi trả hàng</td></tr>
|
||||
<tr><td>Dispute</td><td>Tranh chấp giữa khách hàng và người bán</td></tr>
|
||||
<tr><td>Promotion (Coupon)</td><td>Chương trình khuyến mãi/mã giảm giá</td></tr>
|
||||
<tr><td>Review</td><td>Đánh giá/nhận xét sản phẩm</td></tr>
|
||||
<tr><td>Commission Rule</td><td>Quy tắc/bảng cấu hình hoa hồng theo ngành hàng</td></tr>
|
||||
<tr><td>Payout</td><td>Khoản chi trả định kỳ cho người bán sau khi trừ hoa hồng</td></tr>
|
||||
<tr><td>KYC Document</td><td>Hồ sơ định danh/giấy tờ pháp lý người bán nộp để xác minh</td></tr>
|
||||
<tr><td>Loyalty Account</td><td>Tài khoản điểm thưởng của khách hàng</td></tr>
|
||||
<tr><td>Membership Tier</td><td>Hạng thành viên (Bạc/Vàng/Kim cương) theo tổng chi tiêu 12 tháng</td></tr>
|
||||
<tr><td>Wishlist</td><td>Danh sách sản phẩm yêu thích</td></tr>
|
||||
<tr><td>MFA</td><td>Xác thực đa yếu tố (Multi-Factor Authentication)</td></tr>
|
||||
<tr><td>UAT</td><td>Kiểm thử nghiệm thu người dùng (User Acceptance Testing)</td></tr>
|
||||
<tr><td>SLA</td><td>Cam kết mức độ dịch vụ (Service Level Agreement)</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h3 id="appendix-c">C. Sơ đồ bổ sung</h3>
|
||||
<div class="diagram">
|
||||
<div class="diagram-title">Sơ đồ: Hành trình mua hàng & xử lý sau bán</div>
|
||||
<div class="diagram-body"><pre class="mermaid">flowchart TD
|
||||
A["Duyệt / tìm kiếm sản phẩm"] --> B["Thêm vào giỏ hàng (đa người bán)"]
|
||||
B --> C["Checkout: địa chỉ, tách đơn theo người bán, áp mã giảm giá/điểm thưởng"]
|
||||
C --> D["Thanh toán: VNPay / Momo / COD"]
|
||||
D --> E["Xác nhận đơn hàng + thông báo email/SMS"]
|
||||
E --> F["Theo dõi đơn hàng"]
|
||||
F --> G{"Cần đổi trả/khiếu nại?"}
|
||||
G -- "Có" --> H["Gửi yêu cầu, CSKH xử lý"]
|
||||
G -- "Không" --> I["Đánh giá sản phẩm"]</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="site-footer">
|
||||
<p><strong>Liên hệ:</strong> Ân Quang Tech — Trần Văn Dũng — <mark class="todo">CẦN ĐIỀN: email/số điện thoại liên hệ</mark></p>
|
||||
<p><strong>Hiệu lực:</strong> Đề xuất có hiệu lực 30 ngày kể từ ngày phát hành (2026-09-06).</p>
|
||||
<p>Tài liệu dành riêng cho Ân Quang shop. Vui lòng không sao chép, chuyển tiếp hoặc công bố khi chưa có sự đồng ý bằng văn bản của Ân Quang Tech.</p>
|
||||
<p>© 2026 Ân Quang Tech. Bảo lưu mọi quyền.</p>
|
||||
</footer>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function(){
|
||||
"use strict";
|
||||
|
||||
// Theme toggle
|
||||
var root = document.documentElement;
|
||||
var themeBtn = document.getElementById('theme-toggle');
|
||||
function systemPrefersDark(){
|
||||
try{ return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; }catch(e){ return false; }
|
||||
}
|
||||
function setButtonLabel(t){
|
||||
if(!themeBtn) return;
|
||||
var isDark = t === 'dark';
|
||||
themeBtn.setAttribute('aria-pressed', isDark ? 'true' : 'false');
|
||||
themeBtn.textContent = isDark ? 'Chế độ sáng' : 'Chế độ tối';
|
||||
}
|
||||
function applyTheme(t){
|
||||
root.setAttribute('data-theme', t);
|
||||
try{ localStorage.setItem('proposal-theme', t); }catch(e){}
|
||||
setButtonLabel(t);
|
||||
}
|
||||
var saved = null;
|
||||
try{ saved = localStorage.getItem('proposal-theme'); }catch(e){}
|
||||
if(saved === 'dark' || saved === 'light'){
|
||||
applyTheme(saved);
|
||||
} else {
|
||||
setButtonLabel(systemPrefersDark() ? 'dark' : 'light');
|
||||
}
|
||||
if(themeBtn){
|
||||
themeBtn.addEventListener('click', function(){
|
||||
var current = root.getAttribute('data-theme');
|
||||
var isDark = current === 'dark' || (!current && systemPrefersDark());
|
||||
applyTheme(isDark ? 'light' : 'dark');
|
||||
});
|
||||
}
|
||||
|
||||
// Mobile TOC toggle
|
||||
var tocToggle = document.getElementById('toc-toggle');
|
||||
var sidebar = document.getElementById('sidebar');
|
||||
if(tocToggle && sidebar){
|
||||
tocToggle.addEventListener('click', function(){
|
||||
var open = sidebar.classList.toggle('open');
|
||||
tocToggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||
});
|
||||
var links = sidebar.querySelectorAll('a');
|
||||
for(var i=0;i<links.length;i++){
|
||||
links[i].addEventListener('click', function(){
|
||||
sidebar.classList.remove('open');
|
||||
tocToggle.setAttribute('aria-expanded', 'false');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Draft banner (count placeholders)
|
||||
try{
|
||||
var marks = document.querySelectorAll('mark.todo');
|
||||
var n = marks.length;
|
||||
var banner = document.getElementById('draft-banner');
|
||||
var txt = document.getElementById('draft-banner-text');
|
||||
if(banner && txt){
|
||||
if(n > 0){
|
||||
txt.textContent = 'còn ' + n + ' mục cần điền';
|
||||
banner.hidden = false;
|
||||
} else {
|
||||
banner.hidden = true;
|
||||
}
|
||||
}
|
||||
}catch(e){}
|
||||
|
||||
// Feature filter
|
||||
try{
|
||||
var filterButtons = document.querySelectorAll('.filter-bar button');
|
||||
for(var j=0;j<filterButtons.length;j++){
|
||||
filterButtons[j].addEventListener('click', function(){
|
||||
for(var k=0;k<filterButtons.length;k++){ filterButtons[k].setAttribute('aria-pressed','false'); }
|
||||
this.setAttribute('aria-pressed','true');
|
||||
var val = this.getAttribute('data-filter');
|
||||
var cards = document.querySelectorAll('.card[data-phase]');
|
||||
for(var m=0;m<cards.length;m++){
|
||||
var c = cards[m];
|
||||
c.style.display = (val === 'all' || c.getAttribute('data-phase') === val) ? '' : 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
}catch(e){}
|
||||
|
||||
// Scroll-spy for TOC
|
||||
try{
|
||||
var tocLinks = document.querySelectorAll('.toc a');
|
||||
var targets = [];
|
||||
tocLinks.forEach(function(a){
|
||||
var id = a.getAttribute('href').slice(1);
|
||||
var el = document.getElementById(id);
|
||||
if(el) targets.push({id:id, el:el, link:a});
|
||||
});
|
||||
if('IntersectionObserver' in window && targets.length){
|
||||
var observer = new IntersectionObserver(function(entries){
|
||||
entries.forEach(function(entry){
|
||||
var match = targets.find(function(t){ return t.el === entry.target; });
|
||||
if(!match) return;
|
||||
if(entry.isIntersecting){
|
||||
tocLinks.forEach(function(a){ a.classList.remove('active'); });
|
||||
match.link.classList.add('active');
|
||||
}
|
||||
});
|
||||
}, { rootMargin: '-15% 0px -70% 0px', threshold: 0 });
|
||||
targets.forEach(function(t){ observer.observe(t.el); });
|
||||
}
|
||||
}catch(e){}
|
||||
|
||||
// Mermaid (guarded loader)
|
||||
function initMermaid(){
|
||||
try{
|
||||
var isDark = root.getAttribute('data-theme') === 'dark' || (!root.getAttribute('data-theme') && systemPrefersDark());
|
||||
window.mermaid.initialize({ startOnLoad:false, theme: isDark ? 'dark' : 'default', securityLevel: 'strict' });
|
||||
window.mermaid.run({ querySelector: '.mermaid' });
|
||||
}catch(e){}
|
||||
}
|
||||
try{
|
||||
if(!window.mermaid){
|
||||
var s = document.createElement('script');
|
||||
s.src = 'https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.9.1/mermaid.min.js';
|
||||
s.onload = initMermaid;
|
||||
document.head.appendChild(s);
|
||||
} else {
|
||||
initMermaid();
|
||||
}
|
||||
}catch(e){}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user