The change introduces a new aggregation pipeline in the statistics module that computes monthly export counts grouped by product category. It adds a dedicated `ExportStatistic` model with fields for period, category, and total exports, and wires the aggregation into the existing admin statistics endpoint. The implementation uses MongoDB's `$group` and `$project` stages to transform raw export logs into the required summary format, ensuring the dashboard can display per-category trends over time.
The change introduces a new aggregation pipeline in the statistics module that groups export records by month, computing total exports per user and average file size. This data is stored in a dedicated `monthly_export_stats` collection to support the upcoming analytics dashboard feature.
Implement a new aggregation pipeline in the statistics module that groups export events by month and user ID, computing total exports per user per month. The change introduces a `getMonthlyExportStats` function that queries the exports collection with a `$group` stage on `userId` and `month` fields, returning sorted results by month descending. This enables the dashboard to display per-user export volume trends over time.
Implement a new export statistics module that records and aggregates metrics on user data export operations. The change introduces a dedicated statistics service that tracks export frequency, data volume, and user engagement patterns. This enables administrators to monitor export activity and optimize system performance based on usage trends.
Implement a new statistics module that records export operations per month,
including total revenue, item count, and average order value. The module
aggregates data from the orders and shipments tables, grouping results by
calendar month for reporting purposes.
Implement a new logging utility with configurable verbosity levels and integrate a rant_history data structure to persist user interaction records across sessions. The logging module includes timestamped entries with severity tags, while rant_history stores chronological entries with metadata for future analysis and replay features.