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 |
EmailField |
- |
Email address for notifications |