Đây là hệ thống Bán đồ công nghệ được xây dựng bằng:
- Frontend: ReactJS
- Backend: Node.js + Express
- Database: MongoDB
- Payment: Braintree Sandbox
Các chức năng chính:
- Đăng ký / Đăng nhập
- Xem danh sách sản phẩm
- Xem chi tiết sản phẩm
- Thêm vào giỏ hàng
- Thanh toán online (Braintree)
- Quản lý sản phẩm (Admin)
Cài đặt trước:
- Node.js (Node 16 hoặc 18)
- MongoDB (local hoặc MongoDB Atlas)
- NPM hoặc Yarn
Kiểm tra:
node -v
npm -vTạo file .env trong thư mục server
DATABASE=mongodb://127.0.0.1:27017/ecommerce
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_keyĐể bật chức năng thanh toán:
- Truy cập:
https://www.braintreepayments.com/
- Tạo tài khoản Sandbox:
https://sandbox.braintreegateway.com/
- Sau khi login:
Account → Settings → API → API Keys
- Copy:
- Merchant ID
- Public Key
- Private Key
- Dán vào
.env
Ví dụ:
BRAINTREE_MERCHANT_ID=abc123
BRAINTREE_PUBLIC_KEY=xyz456
BRAINTREE_PRIVATE_KEY=secret789Cài dependencies cho client
cd client
npm installCài dependencies cho server
cd server
npm installcd server
npm run start:devMở terminal mới:
cd client
npm run starthttp://localhost:3000
Cho phép Render truy cập repo.
Chọn repo của bạn.
Lấy MongoDB URL dạng:
mongodb+srv://username:password@cluster.mongodb.net/ecommerceThay vào .env:
DATABASE=mongodb+srv://username:password@cluster.mongodb.net/ecommerceRender sẽ tự build và chạy server.
Bạn có thể dùng:
- Vercel
- Netlify
project-root/
│
├── client/ # React frontend
│
├── server/ # Node.js backend
│
├── README.md
│
└── .gitignore
Name: Trịnh Văn Bin Student ID: 20215530