dynamicsportsvn là nền tảng thương mại điện tử được phát triển riêng cho Công ty TNHH Thể Thao Năng Động, sử dụng các công nghệ hiện đại như Next.js, React, TypeScript, Tailwind CSS và @tanstack/react-query.
Hệ thống được tối ưu cho tốc độ, trải nghiệm người dùng và khả năng mở rộng về sau.
- Node.js
>= 20.16.0 - pnpm
>= 9.7.0 - Trình soạn thảo đề xuất: Visual Studio Code
| Công nghệ | Vai trò |
|---|---|
| React | Thư viện xây dựng giao diện |
| Next.js | Framework React hỗ trợ SSR, SSG |
| TypeScript | Kiểu dữ liệu tĩnh giúp code ổn định |
| @tanstack/react-query | Quản lý data fetching |
| Axios | Thư viện gọi API |
| Tailwind CSS | Framework CSS tiện lợi |
cp .env.local.template .env.localCập nhật các biến môi trường cho đúng API backend.
pnpm installpnpm devpnpm build
pnpm start.
├── public/
├── src/
│ ├── components/
│ ├── containers/
│ ├── contexts/
│ ├── framework/
│ ├── pages/
│ ├── settings/
│ ├── styles/
│ └── utils/
├── .env.local
├── tailwind.config.js
├── tsconfig.json
└── next.config.js
- Dùng
next-i18next - Thư mục
public/locales/chứa các tệp ngôn ngữ.
Tuỳ chỉnh trong src/utils/get-direction.ts
Ví dụ hook gọi sản phẩm:
import { Product } from "@framework/types";
import http from "@framework/utils/http";
import { API_ENDPOINTS } from "@framework/utils/api-endpoints";
import { useQuery } from "@tanstack/react-query";
export const fetchProduct = async (_slug: string) => {
const { data } = await http.get(`${API_ENDPOINTS.PRODUCT}`);
return data;
};
export const useProductQuery = (slug: string) => {
return useQuery<Product, Error>({
queryKey: [API_ENDPOINTS.PRODUCT, slug],
queryFn: () => fetchProduct(slug),
});
};| File / thư mục | Vai trò |
|---|---|
tailwind.config.js |
Tuỳ chỉnh Tailwind |
site-settings.ts |
Logo, menu,... |
tsconfig.json |
Cấu hình TypeScript |
public/ |
Ảnh, favicon, dữ liệu tĩnh |
Chạy production qua VPS, Nginx hoặc Docker.
Dự án thuộc sở hữu và phát triển bởi Công ty TNHH Thể Thao Năng Động.
- Email: duylam@dynamicsportsvn.com
- Website: [https://dynamicsportsvn.com]