Projects

A user can have multiple projects.

Project model is defined in src/projects/models.py

Lighthouse and Report are defined in src/performances/models.py

Service, HTTPCodeService and HTTPMockedCodeService are defined in src/availability/models.py

Project

The Project model represents a website or application that a user wants to monitor.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

user

ForeignKey

-

Reference to the User who owns this project

title

CharField

-

Display name for the project

url

URLField

-

The main URL of the project

favicon

ImageField

null

Project’s favicon image

sitemap_task_status

CharField

-

Status of sitemap processing task

sitemap_last_edited

DateTimeField

null

Last time sitemap was updated

is_offline

BooleanField

False

Indicates if the project is currently offline

is_degraded

BooleanField

False

Indicates if the project has degraded performance

is_warning

BooleanField

False

Indicates if the project has warnings

availability

FloatField

-

Overall availability percentage

pathname

CharField

-

URL pathname for the project

incidents_count

IntegerField

0

Number of incidents for this project

performance_score

FloatField

-

Overall performance score

is_favorite

BooleanField

False

Whether this project is marked as favorite

enable_public_page

BooleanField

False

Whether to enable public status page

favicon_task_status

CharField

-

Status of favicon processing task

favicon_last_edited

DateTimeField

null

Last time favicon was updated

Pages

The Pages model represents individual pages within a project that are monitored.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

project

ForeignKey

-

Reference to the parent Project

url

URLField

-

URL of the specific page

title

CharField

-

Page title

description

TextField

-

Page description

created_at

DateTimeField

auto_now_add

When the page was first discovered

sitemap_last_seen

DateTimeField

null

Last time page was seen in sitemap

scraping_last_seen

DateTimeField

null

Last time page was scraped

Lighthouse

The Lighthouse model stores performance metrics for individual pages.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

page

ForeignKey

-

Reference to the monitored Page

performance

FloatField

-

Performance score (0-100)

accessibility

FloatField

-

Accessibility score (0-100)

best_practices

FloatField

-

Best practices score (0-100)

Report

The Report model stores detailed performance reports with screenshots.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

lighthouse

ForeignKey

-

Reference to the Lighthouse metrics

screenshot

ImageField

null

Screenshot of the page

form_factor

IntegerField

-

Device form factor (mobile/desktop)

score_performance

FloatField

-

Detailed performance score

Service

The Service model represents monitoring services for a project.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

project

ForeignKey

-

Reference to the parent Project

title

CharField

-

Service name

is_public

BooleanField

False

Whether service status is public

is_enabled

BooleanField

True

Whether the service is active

HTTPCodeService

The HTTPCodeService model represents HTTP-based monitoring services.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

url

URLField

-

URL to monitor

tls_skip_verify

BooleanField

False

Whether to skip TLS verification

service

OneToOneField

-

Reference to the parent Service

HTTPMockedCodeService

The HTTPMockedCodeService model represents mocked HTTP responses for testing.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

code

IntegerField

-

HTTP status code to return

service

OneToOneField

-

Reference to the parent Service

Incident

The Incident model tracks service outages and issues.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

service

ForeignKey

-

Reference to the affected Service

starts_at

DateTimeField

-

When the incident started

ends_at

DateTimeField

null

When the incident ended

status

IntegerField

-

Incident status code

Notification

The Notification model manages alerts and notifications for projects and services.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

project

ForeignKey

-

Reference to the parent Project

service

ForeignKey

null

Reference to the specific Service

severity

IntegerField

-

Notification severity level

Emails

The Emails model stores email addresses for project notifications.

Field

Type

Default

Description

id

AutoField

Auto-increment

Primary key

project

ForeignKey

-

Reference to the parent Project

email

EmailField

-

Email address for notifications