directus-extension-usage-analytics-api
v1.0.0
Published
API endpoint for Directus Usage Analytics - provides collection storage and activity statistics
Downloads
9
Maintainers
Readme
Directus Usage Analytics - API
Backend API endpoint for Directus Usage Analytics extension.
📦 COMPANION PACKAGE: This API must be installed alongside the frontend module:
npm install directus-extension-usage-analytics-module
🎯 What's This Package?
This package contains the backend API endpoint that provides:
- ✅ Collection storage statistics endpoint
- ✅ API activity tracking endpoint
- ✅ Time-series data aggregation
- ✅ IP-based traffic analysis
- ✅ Direct database access for analytics queries
📦 Installation
NPM Installation
npm install directus-extension-usage-analytics-apiComplete Installation (Both Packages)
npm install directus-extension-usage-analytics-module directus-extension-usage-analytics-apiDocker Installation
# In your Dockerfile
RUN npm install directus-extension-usage-analytics-module directus-extension-usage-analytics-apiOr in docker-compose.yml:
services:
directus:
image: directus/directus:latest
volumes:
- ./extensions:/directus/extensionsThen install:
npm install directus-extension-usage-analytics-module directus-extension-usage-analytics-api🚀 API Endpoints
Once installed, the following endpoints are available:
Collection Statistics
GET /usage-analytics/collectionsQuery Parameters:
include_system- Include system collections (boolean)sort- Sort field:row_count,collection,nameorder- Sort order:asc,desclimit- Limit number of results
Response:
{
"data": [...],
"total_collections": 39,
"total_rows": 880,
"cached": false
}Activity Statistics
GET /usage-analytics/activityQuery Parameters:
start_date- Start date (ISO 8601)end_date- End date (ISO 8601)collections- Filter by collections (comma-separated)actions- Filter by actions (comma-separated)limit- Limit results per category
Response:
{
"total_requests": 276,
"unique_users": 1,
"unique_ips": 1,
"by_collection": [...],
"by_action": [...],
"date_range": {...}
}IP Analysis
GET /usage-analytics/activity/ips
GET /usage-analytics/activity/ips/:ip🔧 Requirements
- Directus 10.x or 11.x
- Node.js 18+ recommended
- Frontend module installed separately
⚠️ Important Notes
Security
This extension requires direct database access and is NOT sandboxed. It cannot be installed via Directus Marketplace for security reasons.
Manual Installation Only
- Must be installed via npm/Docker
- Not available in Directus Marketplace
- Requires full Node.js runtime access
📝 License
MIT License - Copyright © 2024 Flagbit GmbH & Co. KG
🤝 Support
- Issues: https://github.com/flagbit/directus-usage-tracker/issues
- Email: [email protected]
- Website: https://www.flagbit.de
🎉 Why Split Packages?
This extension is split into two packages for Directus Marketplace compatibility:
- Module Package: Can be installed via Marketplace (UI only)
- API Package (this one): Requires manual installation (backend logic)
This approach:
- ✅ Allows Marketplace discovery via module package
- ✅ Maintains full functionality with both packages
- ✅ Complies with Marketplace security requirements
📖 Documentation
For full documentation, visit:
- GitHub Repository: https://github.com/flagbit/directus-usage-tracker
- Module Package: https://www.npmjs.com/package/directus-extension-usage-analytics-module
Made with ❤️ by Flagbit
