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
This commit is contained in:
F4ilji
2026-09-18 22:18:04 +05:00
parent 8af94388ab
commit d6c0f48d48
60 changed files with 2948 additions and 121 deletions
Generated
+64 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "6df5b3167c82bcd51f51f438281adf2b",
"content-hash": "b8cca6122813359fd3f1884506e001fa",
"packages": [
{
"name": "alxdorosenco/porto-for-laravel",
@@ -11435,6 +11435,69 @@
],
"time": "2025-04-25T06:02:37+00:00"
},
{
"name": "whichbrowser/parser",
"version": "v2.1.8",
"source": {
"type": "git",
"url": "https://github.com/WhichBrowser/Parser-PHP.git",
"reference": "581d614d686bfbec3529ad60562a5213ac5d8d72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/581d614d686bfbec3529ad60562a5213ac5d8d72",
"reference": "581d614d686bfbec3529ad60562a5213ac5d8d72",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/cache": "^1.0 || ^2.0 || ^3.0"
},
"require-dev": {
"cache/array-adapter": "^1.1",
"icomefromthenet/reverse-regex": "0.0.6.3",
"php-coveralls/php-coveralls": "^2.0",
"phpunit/php-code-coverage": "^5.0 || ^7.0",
"phpunit/phpunit": "^6.0 || ^8.0",
"squizlabs/php_codesniffer": "^3.5",
"symfony/yaml": "~3.4 || ~4.0"
},
"suggest": {
"cache/array-adapter": "Allows testing of the caching functionality"
},
"type": "library",
"autoload": {
"psr-4": {
"WhichBrowser\\": [
"src/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Niels Leenheer",
"email": "niels@leenheer.nl",
"role": "Developer"
}
],
"description": "Useragent sniffing library for PHP",
"homepage": "http://whichbrowser.net",
"keywords": [
"browser",
"sniffing",
"ua",
"useragent"
],
"support": {
"issues": "https://github.com/WhichBrowser/Parser-PHP/issues",
"source": "https://github.com/WhichBrowser/Parser-PHP/tree/v2.1.8"
},
"time": "2024-04-17T12:47:41+00:00"
},
{
"name": "xvladqt/faker-lorem-flickr",
"version": "v1.0.0",