- Left panel: collapsible tree (Country → City → District → Category → Subcategory) - Quick-add buttons: + City, + District, + Category, + Subcategory - Delete buttons with confirmation on all nodes - Product count badges on each node - Click node to filter right panel - Right panel: Product table with Photo, Name, Category, Subcategory, Price, Stock - Edit (✎) and Delete (✕) buttons per row - Add Product modal with all fields - Product edit form: name, price, stock, description, category, subcategory (JS filtered), photo_url/hidden_photo_url (URL or file upload), hidden_coordinates, hidden_description, private_data - Multer file upload for photos stored in /uploads/ - Routes: add-city, add-district, product CRUD with photo upload - Product JSON API for modal editing - Responsive grid: tree (320px) + table (1fr)
33 lines
744 B
JSON
33 lines
744 B
JSON
{
|
|
"name": "telegram-shop-bot",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"start": "node src/index.js",
|
|
"dev": "nodemon src/index.js"
|
|
},
|
|
"dependencies": {
|
|
"archiver": "^7.0.1",
|
|
"axios": "^1.7.7",
|
|
"better-sqlite3": "^11.10.0",
|
|
"bip39": "^3.1.0",
|
|
"bitcoinjs-lib": "^6.1.6",
|
|
"cookie-parser": "^1.4.6",
|
|
"csv-writer": "^1.6.0",
|
|
"decompress": "^4.2.1",
|
|
"dotenv": "^16.3.1",
|
|
"ecpair": "^2.1.0",
|
|
"ethereumjs-util": "^7.1.5",
|
|
"express": "^4.21.0",
|
|
"hdkey": "^2.1.0",
|
|
"multer": "^2.2.0",
|
|
"node-telegram-bot-api": "^0.64.0",
|
|
"pino": "^8.21.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"tiny-secp256k1": "^2.2.3"
|
|
},
|
|
"devDependencies": {
|
|
"nodemon": "^3.0.2"
|
|
}
|
|
}
|