Skip to content

Email analytics#3

Open
ziadh wants to merge 2 commits into
eibrahim:mainfrom
ziadh:ziadh/feature/email-analytics
Open

Email analytics#3
ziadh wants to merge 2 commits into
eibrahim:mainfrom
ziadh:ziadh/feature/email-analytics

Conversation

@ziadh

@ziadh ziadh commented Jan 11, 2026

Copy link
Copy Markdown

Adds comprehensive email analytics to the dashboard with performance metrics, time series charts, and status breakdowns.

What's New

  • Analytics Tab: You can view stats like delivery rates, bounce rates, and daily volume trends
  • Date Range Picker: You can see stats from last 7/30/90 days or from any period
  • Interactive Charts: Seamless visualization using Recharts
  • Status Breakdown: Detailed table of email statuses with percentages

Technical Details

  • Rate Limiting: 20 requests/minute per user to prevent database overload
  • Performance: Added composite index (domain_id, created_at, status) for optimized queries
  • Validation: Max 365-day date range to protect against expensive queries
  • Query Optimization: Using date_trunc() instead of DATE() for better index utilization

Database Migration Required

Run this on your database after pulling:

CREATE INDEX IF NOT EXISTS idx_email_logs_analytics
ON email_logs(domain_id, created_at, status);


Files Changed

- API: src/app/api/analytics/route.ts
- Components: AnalyticsTab, DateRangePicker, MetricCard, TimeSeriesChart 
- Database: database.sql (new composite index)
- Dependencies: Added recharts, react-day-picker, date-fns

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant