UML Diagram

PlantUML Code


@startuml 
class "admin.LogEntry <Administration>" as admin.LogEntry #f4d6f1 {
    log entry
    --
    - id (AutoField)
    + action_time (DateTimeField)
    ~ user (ForeignKey)
    ~ content_type (ForeignKey)
    + object_id (TextField)
    + object_repr (CharField)
    + action_flag (PositiveSmallIntegerField)
    + change_message (TextField)
    --
}
admin.LogEntry -- auth.User
admin.LogEntry -- contenttypes.ContentType


class "auth.Permission <Authentication and Authorization>" as auth.Permission #e8f4d6 {
    permission
    --
    - id (AutoField)
    + name (CharField)
    ~ content_type (ForeignKey)
    + codename (CharField)
    --
}
auth.Permission -- contenttypes.ContentType


class "auth.Group <Authentication and Authorization>" as auth.Group #e8f4d6 {
    group
    --
    - id (AutoField)
    + name (CharField)
    # permissions (ManyToManyField)
    --
}
auth.Group *--* auth.Permission


class "auth.User <Authentication and Authorization>" as auth.User #e8f4d6 {
    user
    --
    - id (AutoField)
    + password (CharField)
    + last_login (DateTimeField)
    + is_superuser (BooleanField)
    + username (CharField)
    + first_name (CharField)
    + last_name (CharField)
    + email (EmailField)
    + is_staff (BooleanField)
    + is_active (BooleanField)
    + date_joined (DateTimeField)
    # groups (ManyToManyField)
    # user_permissions (ManyToManyField)
    --
}
auth.User *--* auth.Group
auth.User *--* auth.Permission


class "contenttypes.ContentType <Content Types>" as contenttypes.ContentType #d6f4de {
    content type
    --
    - id (AutoField)
    + app_label (CharField)
    + model (CharField)
    --
}


class "sessions.Session <Sessions>" as sessions.Session #f4e1d6 {
    session
    --
    + session_key (CharField)
    + session_data (TextField)
    + expire_date (DateTimeField)
    --
}


class "sensordata.Category <Sensordata>" as sensordata.Category #ebf4d6 {
    category
    --
    - id (AutoField)
    + name (CharField)
    + detail_type (CharField)
    --
}


class "sensordata.Parameter <Sensordata>" as sensordata.Parameter #ebf4d6 {
    parameter
    --
    - id (AutoField)
    + name (CharField)
    + title (CharField)
    + unit (CharField)
    --
}


class "sensordata.ParameterCategory <Sensordata>" as sensordata.ParameterCategory #ebf4d6 {
    parameter category
    --
    - id (AutoField)
    ~ parameter (ForeignKey)
    ~ category (ForeignKey)
    --
}
sensordata.ParameterCategory -- sensordata.Parameter
sensordata.ParameterCategory -- sensordata.Category


class "sensordata.Region <Sensordata>" as sensordata.Region #ebf4d6 {
    region
    --
    - id (AutoField)
    + geog (GeometryField)
    + properties (JSONField)
    --
}


class "sensordata.Sensor <Sensordata>" as sensordata.Sensor #ebf4d6 {
    sensor
    --
    - id (AutoField)
    + name (CharField)
    + geog (GeometryField)
    + created (DateTimeField)
    + parameters (ArrayField)
    + properties (JSONField)
    + min_start_time (DateTimeField)
    + max_end_time (DateTimeField)
    --
}


class "sensordata.Stream <Sensordata>" as sensordata.Stream #ebf4d6 {
    stream
    --
    - id (AutoField)
    ~ sensor (ForeignKey)
    + name (CharField)
    + geog (GeometryField)
    + created (DateTimeField)
    + parameters (ArrayField)
    + properties (JSONField)
    + start_time (DateTimeField)
    + end_time (DateTimeField)
    --
}
sensordata.Stream -- sensordata.Sensor


class "sensordata.Datapoint <Sensordata>" as sensordata.Datapoint #ebf4d6 {
    datapoint
    --
    - id (AutoField)
    ~ stream (ForeignKey)
    + geog (GeometryField)
    + time (TimescaleDateTimeField)
    + end_time (DateTimeField)
    ~ parameter (ForeignKey)
    + value (FloatField)
    --
}
sensordata.Datapoint -- sensordata.Stream
sensordata.Datapoint -- sensordata.Parameter


@enduml


List of Routes

URL PatternView FunctionName
/admin/django.contrib.admin.sites.indexadmin:index
/admin/<app_label>/django.contrib.admin.sites.app_indexadmin:app_list
/admin/django.contrib.admin.sites.catch_all_view
/admin/auth/group/django.contrib.admin.options.changelist_viewadmin:auth_group_changelist
/admin/auth/group/path:object_id/django.views.generic.base.RedirectView
/admin/auth/group/path:object_id/change/django.contrib.admin.options.change_viewadmin:auth_group_change
/admin/auth/group/path:object_id/delete/django.contrib.admin.options.delete_viewadmin:auth_group_delete
/admin/auth/group/path:object_id/history/django.contrib.admin.options.history_viewadmin:auth_group_history
/admin/auth/group/add/django.contrib.admin.options.add_viewadmin:auth_group_add
/admin/auth/user/django.contrib.admin.options.changelist_viewadmin:auth_user_changelist
/admin/auth/user//password/django.contrib.auth.admin.user_change_passwordadmin:auth_user_password_change
/admin/auth/user/path:object_id/django.views.generic.base.RedirectView
/admin/auth/user/path:object_id/change/django.contrib.admin.options.change_viewadmin:auth_user_change
/admin/auth/user/path:object_id/delete/django.contrib.admin.options.delete_viewadmin:auth_user_delete
/admin/auth/user/path:object_id/history/django.contrib.admin.options.history_viewadmin:auth_user_history
/admin/auth/user/add/django.contrib.auth.admin.add_viewadmin:auth_user_add
/admin/autocomplete/django.contrib.admin.sites.autocomplete_viewadmin:autocomplete
/admin/jsi18n/django.contrib.admin.sites.i18n_javascriptadmin:jsi18n
/admin/login/django.contrib.admin.sites.loginadmin:login
/admin/logout/django.contrib.admin.sites.logoutadmin:logout
/admin/password_change/django.contrib.admin.sites.password_changeadmin:password_change
/admin/password_change/done/django.contrib.admin.sites.password_change_doneadmin:password_change_done
/admin/r/int:content_type_id/path:object_id/django.contrib.contenttypes.views.shortcutadmin:view_on_site
/api/rest_framework.routers.APIRootViewapi-root
/api/./rest_framework.routers.APIRootViewapi-root
/api/cache/day/sensordata.views.DatapointsViewSetget_daily_average_datapoints_by_parameter
/api/cache/hour/sensordata.views.DatapointsViewSetget_hourly_average_datapoints_by_parameter
/api/cache/month/sensordata.views.DatapointsViewSetget_monthly_average_datapoints_by_parameter
/api/cache/year/sensordata.views.DatapointsViewSetget_yearly_average_datapoints_by_parameter
/api/categories/sensordata.views.CategoriesViewSetcategories-list
/api/categories//sensordata.views.CategoriesViewSetcategories-detail
/api/categories/./sensordata.views.CategoriesViewSetcategories-detail
/api/categories./sensordata.views.CategoriesViewSetcategories-list
/api/datapoints/sensordata.views.DatapointsViewSetsensordata-list
/api/datapoints//sensordata.views.DatapointsViewSetsensordata-detail
/api/datapoints/./sensordata.views.DatapointsViewSetsensordata-detail
/api/datapoints/get_daily_average_datapoints_by_parameter/sensordata.views.DatapointsViewSetsensordata-get-daily-average-datapoints-by-parameter
/api/datapoints/get_daily_average_datapoints_by_parameter./sensordata.views.DatapointsViewSetsensordata-get-daily-average-datapoints-by-parameter
/api/datapoints/get_hourly_average_datapoints_by_parameter/sensordata.views.DatapointsViewSetsensordata-get-hourly-average-datapoints-by-parameter
/api/datapoints/get_hourly_average_datapoints_by_parameter./sensordata.views.DatapointsViewSetsensordata-get-hourly-average-datapoints-by-parameter
/api/datapoints/get_monthly_average_datapoints_by_parameter/sensordata.views.DatapointsViewSetsensordata-get-monthly-average-datapoints-by-parameter
/api/datapoints/get_monthly_average_datapoints_by_parameter./sensordata.views.DatapointsViewSetsensordata-get-monthly-average-datapoints-by-parameter
/api/datapoints/get_yearly_average_datapoints_by_parameter/sensordata.views.DatapointsViewSetsensordata-get-yearly-average-datapoints-by-parameter
/api/datapoints/get_yearly_average_datapoints_by_parameter./sensordata.views.DatapointsViewSetsensordata-get-yearly-average-datapoints-by-parameter
/api/datapoints./sensordata.views.DatapointsViewSetsensordata-list
/api/parameters/sensordata.views.ParametersViewSetparameters-list
/api/parameters//sensordata.views.ParametersViewSetparameters-detail
/api/parameters/./sensordata.views.ParametersViewSetparameters-detail
/api/parameters/delete/sensordata.views.ParametersViewSetparameters-delete
/api/parameters/delete./sensordata.views.ParametersViewSetparameters-delete
/api/parameters/delete_by_name/sensordata.views.ParametersViewSetdelete_by_name
/api/parameters./sensordata.views.ParametersViewSetparameters-list
/api/sensors/sensordata.views.SensorsViewSetsensors-list
/api/sensors//sensordata.views.SensorsViewSetsensors-detail
/api/sensors/./sensordata.views.SensorsViewSetsensors-detail
/api/sensors./sensordata.views.SensorsViewSetsensors-list
/api/streams/sensordata.views.StreamsViewSetstreams-list
/api/streams//sensordata.views.StreamsViewSetstreams-detail
/api/streams/./sensordata.views.StreamsViewSetstreams-detail
/api/streams./sensordata.views.StreamsViewSetstreams-list
/swagger/drf_yasg.views.SchemaViewschema-swagger-ui
/swagger/drf_yasg.views.SchemaViewschema-json