Skip to content

Reports Blueprint

The reports_bp Blueprint in this Flask application provides a centralized endpoint for generating comprehensive dashboard reports. This is crucial for administrative purposes, providing a holistic view of various metrics critical for operational, financial, and engagement analysis.

Blueprint Overview:

  • Blueprint Name: reports
  • Purpose: To aggregate and deliver a wide range of statistical data pertaining to user activities, financial metrics, and other operational insights in a single API call.
  • Endpoint: /all
  • Method: GET

Key Functionalities:

  • Authentication and Authorization: Ensures that only authenticated and authorized users (specifically admins) can access the dashboard data.
  • Data Aggregation: Gathers data from various functions and models to compile a comprehensive report that includes:
    • User Metrics: Total users, breakdown by subscription type (free, paid, on trial).
    • Financial Metrics: Monthly recurring revenue (MRR), churn rates (gross and net).
    • Operational Metrics: Total tenders available, referral counts, average engagement scores.

Detailed Endpoint Description:

/reports/all

  • Access Control: Requires the user to be authenticated and verified as an admin.
  • Functionality:
    1. User and Authorization Check: Validates that the request is made by an authenticated user with admin privileges.
    2. Data Retrieval:
      • Total number of users from the platform.
      • Financial data including MRR and the number of paid users.
      • Count of active free trials and free users.
      • Churn rates to understand revenue retention and loss.
      • Tender count for operational insights into platform usage.
      • Engagement scores to gauge user interaction effectiveness.
      • Referral counts to understand the spread and influence among users.
    3. Response Construction: Compiles all retrieved data into a JSON response.

Response Structure:

  • Success: Returns a JSON object containing all the metrics listed above.
  • Failure: Returns an error message with a status code of 401 Unauthorized if the user is not authenticated or authorized.

Usage:

This endpoint is essential for administrators who need to monitor and make informed decisions based on comprehensive data about the platform’s operation and performance. It integrates various analytics into a single response, making it easier to overview the health and trends within the platform.

Implementation Notes:

  • The implementation relies heavily on various helper functions and models to retrieve data. Each function is expected to handle specific segments of data retrieval and calculation.
  • Proper error handling and security checks are crucial to ensure that the data is not only accurate but also securely accessed.

This setup aids in maintaining a clean and organized backend structure, where data retrieval and processing are modularized and securely managed.