# -*- coding: utf-8 -*-
"""
Common app configuration.

This module defines the Django app configuration for the common app,
which provides shared functionality across all other apps.

"""

from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _


class CommonConfig(AppConfig):
    """
    Configuration class for the common app.
    
    This app provides shared models, utilities, and functionality
    that can be used across all other applications in the project.
    """
        
    # Use BigAutoField as the default primary key field type
    default_auto_field = "django.db.models.BigAutoField"
    # App name as it appears in INSTALLED_APPS
    name = "apps.common"
    # Human-readable name for the app 
    verbose_name = _("Common")
    
    def ready(self):
        """
        Perform initialization when the app is ready.
        
        This method is called when Django starts up and the app
        registry is fully populated.
        """
        # Import signals to ensure they are registered
        try:
            from . import signals  # noqa
        except ImportError:
            pass
        
        # Import any other initialization code
        try:
            from . import checks  # noqa
        except ImportError:
            pass
