Files
ntspi-app/package.json
T
F4ilji d6c0f48d48 feat(analytics): add site analytics with grouped navigation sections
- Add Analytics container: models, tasks, jobs, controllers, routes, services
- Add analytics config with section groups (structure, institute, content, services)
- Add database tables: analytics_sessions, analytics_hits, analytics_daily_stats
- Add frontend: Analytics page, section detail, chart, overview, navigation components
- Add consent banner and JS tracking service (sendBeacon + Inertia listener)
- Add permission sync for view_analytics, view_any_analytic
- Fix trailing slash URL matching in GetNavigationSectionsTask
- Fix event propagation on expand arrows in navigation sections
- Fix RecordVisitJob to not depend on dropped analytics_geo_cache table
- Replace plain text views/visitors with badge-style icons
- Group navigation sections by category with separate blocks
- Add config-driven non-CMS sections (faculties, divisions, DPO, journals)
- Remove Events, TV, Sveden from analytics sections
2026-09-18 22:18:04 +05:00

74 lines
2.6 KiB
JSON
Executable File

{
"private": true,
"type": "module",
"scripts": {
"dev": "vite --host",
"build": "vite build && vite build --ssr"
},
"devDependencies": {
"@inertiajs/vue3": "^2.0.8",
"@tailwindcss/forms": "^0.5.3",
"@types/lodash": "^4.17.13",
"@vitejs/plugin-vue": "^5.2.3",
"autoprefixer": "^10.4.12",
"axios": "^1.9.0",
"bvi": "^1.0.2",
"i": "^0.3.7",
"laravel-vite-plugin": "^1.2.0",
"lodash": "^4.17.21",
"npm": "^10.9.0",
"postcss": "^8.4.18",
"rollup": "^3.29.4",
"tailwindcss": "^3.2.1",
"terser": "^5.39.0",
"vite-plugin-svg-icons": "^2.0.1",
"vue": "^3.2.41"
},
"@comment dependencies": [
" \"@calumk/editorjs-columns\": \"^0.3.1\",\n \"@editorjs/attaches\": \"^1.3.0\",\n \"@editorjs/editorjs\": \"^2.28.1\",\n \"@editorjs/header\": \"^2.7.0\",\n \"@editorjs/link\": \"^2.6.2\",\n \"@editorjs/list\": \"^1.8.0\",\n \"@editorjs/paragraph\": \"^2.10.0\",\n \"@editorjs/table\": \"^2.2.2\",\n \"@editorjs/text-variant-tune\": \"^1.0.1\",",
" \"dropzone\": \"^6.0.0-beta.2\",\n \"editorjs-button\": \"^1.0.4\",\n \"editorjs-layout\": \"^1.2.5\",",
" \"@editorjs/image\": \"^2.8.1\",\n \"@editorjs/quote\": \"^2.5.0\","
],
"dependencies": {
"@gladesinger/vue3-yandex-smartcaptcha": "^1.0.0",
"@heroicons/vue": "^2.2.0",
"@inertiajs/inertia": "^0.11.1",
"@inertiajs/inertia-vue3": "^0.6.0",
"@preline/carousel": "^2.6.0",
"@preline/combobox": "^2.1.0",
"@preline/copy-markup": "^2.0.1",
"@preline/overlay": "^1.4.0",
"@preline/scrollspy": "^2.0.0",
"@preline/select": "^2.5.0",
"@vue/server-renderer": "^3.5.12",
"@vuepic/vue-datepicker": "^11.0.2",
"chart.js": "^4.5.1",
"daisyui": "^4.12.14",
"flowbite": "^2.5.2",
"fslightbox": "^3.4.1",
"fslightbox-vue": "^2.2.1",
"js-cookie": "^3.0.5",
"jszip": "^3.10.1",
"preline": "^1.9.0",
"slugify": "^1.6.6",
"vite": "^6.3.5",
"vue-chartjs": "^5.3.4",
"vuex": "^4.1.0"
},
"optionalDependencies": {
"@esbuild/linux-arm64": "^0.25.1",
"@rollup/rollup-darwin-arm64": "^4.35.0",
"@rollup/rollup-linux-arm64-gnu": "^4.60.1"
},
"name": "ntspi-reborn",
"description": "<p align=\"center\"><a href=\"https://laravel.com\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg\" width=\"400\" alt=\"Laravel Logo\"></a></p>",
"version": "1.0.0",
"main": "postcss.config.js",
"directories": {
"test": "tests"
},
"keywords": [],
"author": "",
"license": "ISC"
}