diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..bea6a2b
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,21 @@
+// module.exports = {
+// root: true,
+// env: { browser: true, es2020: true },
+// extends: [
+// 'eslint:recommended',
+// 'plugin:react/recommended',
+// 'plugin:react/jsx-runtime',
+// 'plugin:react-hooks/recommended',
+// ],
+// ignorePatterns: ['dist', '.eslintrc.cjs'],
+// parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
+// settings: { react: { version: '18.2' } },
+// plugins: ['react-refresh'],
+// rules: {
+// 'react/jsx-no-target-blank': 'off',
+// 'react-refresh/only-export-components': [
+// 'warn',
+// { allowConstantExport: true },
+// ],
+// },
+// }
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..dfe0770
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..92eb704
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,10 @@
+{
+ "printWidth": 100,
+ "tabWidth": 4,
+ "useTabs": false,
+ "semi": true,
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "bracketSpacing": true
+ }
+
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..4a6eee7
--- /dev/null
+++ b/index.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Call of Duty
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..6167a07
--- /dev/null
+++ b/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "antd-vite-react-sypiu",
+ "homepage": "/dashboard/home",
+ "private": true,
+ "version": "1.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@ant-design/icons": "^6.0.0",
+ "@nivo/line": "^0.88.0",
+ "@nivo/pie": "^0.88.0",
+ "antd": "^5.15.2",
+ "axios": "^1.8.4",
+ "browser-image-compression": "^2.0.2",
+ "crypto-js": "^4.2.0",
+ "dayjs": "^1.11.13",
+ "exceljs": "^4.4.0",
+ "file-saver": "^2.0.5",
+ "html2canvas": "^1.4.1",
+ "jspdf": "^3.0.1",
+ "mqtt": "^5.14.0",
+ "qrcode": "^1.5.4",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-icons": "^4.11.0",
+ "react-router-dom": "^6.22.3",
+ "sweetalert2": "^11.17.2"
+ },
+ "devDependencies": {
+ "@types/react": "^18.2.64",
+ "@types/react-dom": "^18.2.21",
+ "@vitejs/plugin-react": "^4.2.1",
+ "eslint": "^8.57.0",
+ "eslint-plugin-react": "^7.34.0",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.5",
+ "vite": "^5.1.6"
+ },
+ "packageManager": "pnpm@10.2.1+sha512.398035c7bd696d0ba0b10a688ed558285329d27ea994804a52bad9167d8e3a72bcb993f9699585d3ca25779ac64949ef422757a6c31102c12ab932e5cbe5cc92"
+}
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..4552433
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,50 @@
+/* eslint-disable no-undef */
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+import { resolve } from "path";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ resolve: {
+ alias: {
+ // '@': resolve(__dirname, './src'),
+ // apis: resolve(__dirname, "./src/apis"),
+ assets: resolve(__dirname, "./src/assets"),
+ // components: resolve(__dirname, "./src/components"),
+ // layouts: resolve(__dirname, "./src/layouts"),
+ // pages: resolve(__dirname, "./src/pages"),
+ // utils: resolve(__dirname, "./src/utils"),
+ // store: resolve(__dirname, "./src/store"),
+ },
+ },
+ plugins: [react()],
+ server: {
+ // port: 3036
+ port: 8592
+ },
+ preview: {
+ port: 8592
+ }
+})
+
+// export default defineConfig({
+// resolve: {
+// alias: {
+// // '@': resolve(__dirname, './src'),
+// apis: resolve(__dirname, "./src/apis"),
+// assets: resolve(__dirname, "./src/assets"),
+// components: resolve(__dirname, "./src/components"),
+// layouts: resolve(__dirname, "./src/layouts"),
+// pages: resolve(__dirname, "./src/pages"),
+// utils: resolve(__dirname, "./src/utils"),
+// store: resolve(__dirname, "./src/store"),
+// },
+// },
+// plugins: [react()],
+// server: {
+// port: 3036
+// },
+// preview: {
+// port: 9525
+// }
+// })
\ No newline at end of file