This commit is contained in:
mathiaspalmqvist committed 2025-09-30 10:20:29 +02:00
commit 50d66414ea
13 files changed
+10287

No files matched your search

+81
View File
@@ -0,0 +1,81 @@
# Mattitja Analytics for Laravel
A Laravel middleware package for sending analytics data to the Mattitja Analytics API. The package automatically registers middleware for web routes and sends data synchronously to the analytics service.
## Installation
```bash
composer require mattitjaab/mattitja-analytics
```
## Configuration
Publish the configuration file (optional):
```bash
php artisan vendor:publish --tag=mattitja-analytics-config
```
Add your site key to your `.env` file:
```env
MATTITJA_ANALYTICS_SITE_KEY=your-site-key
MATTITJA_ANALYTICS_ENABLED=true
```
## Usage
The package automatically registers middleware for the `web` group and starts collecting analytics data immediately after installation and configuration.
### Manual middleware registration
You can also add the middleware manually for specific routes:
```php
// In routes/web.php
Route::middleware(['mattitja-analytics'])->group(function () {
// Your routes here
});
```
## Configuration Options
### Basic Settings
- `MATTITJA_ANALYTICS_SITE_KEY` - Your site key from Mattitja Analytics (required)
- `MATTITJA_ANALYTICS_ENABLED` - Enable/disable tracking (default: true)
- `MATTITJA_ANALYTICS_BOTS` - Track bots (default: false)
### Privacy Settings
- `MATTITJA_ANALYTICS_RESPECT_DNT` - Respect Do Not Track header (default: true)
### Filtering
You can configure paths and IP addresses to ignore in the config file.
## Data Sent
The package sends the following data to `https://analytics.mattitja.cloud/api/send`:
- `k` - Site key
- `u` - Full URL of the visited page
- `r` - Referrer URL (if available)
- `ip` - Visitor's complete IP address
- `ua` - User agent string
## Security
- Data is sent synchronously directly from middleware
- IP addresses are NOT anonymized (needed for geolocation)
- Bot traffic is filtered out by default
- Do Not Track header is respected by default
## Development
Run tests:
```bash
composer test
```
## License
MIT License