# Functions

CompareSites is set up as function due to an issue in the DeepEqual with zero dates.
GetReportYears returns the years where there is data for reports.
GetYTDReports gets reports for the active sites.
InitializeDB creates the DB file and the schema if the file doesn't exist.
InitializeReportDB is for test packages to initialize a Report DB for integration testing.
InitializeTestDB is for test packages to initialize a DB for integration testing.

# Variables

Seed represents the initial seed to the DB.~.

# Structs

Contact is one of the contacts for a particular site.
Ping contains information about a request to ping a site and details about the result.
Report contains information about performance where AvgResponse is the average response time for successful requests, PingsUp are the number of successful pings when the site was up and PingsDown is the number of pings when the site was down.
Site is the website that will be monitored.

# Type aliases

Contacts is a slice of contacts that aren't necessarily associated with a given site.
Reports is a slice of reports, usually the index will represent the month.
Sites is a slice of sites.