diff --git a/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.13.55 PM.png b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.13.55 PM.png new file mode 100644 index 000000000..3aa75364f Binary files /dev/null and b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.13.55 PM.png differ diff --git a/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.17.44 PM.png b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.17.44 PM.png new file mode 100644 index 000000000..195582c2c Binary files /dev/null and b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.17.44 PM.png differ diff --git a/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.20.52 PM.png b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.20.52 PM.png new file mode 100644 index 000000000..46cd17854 Binary files /dev/null and b/docs/.gitbook/assets/Screenshot 2024-10-04 at 12.20.52 PM.png differ diff --git a/docs/developers-guide/contributing-to-the-code.md b/docs/developers-guide/contributing-to-the-code.md index 108cd9699..483d5c85c 100644 --- a/docs/developers-guide/contributing-to-the-code.md +++ b/docs/developers-guide/contributing-to-the-code.md @@ -1,3 +1,7 @@ +--- +icon: list-check +--- + # Contributing to the code We generally follow the [gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) workflow model. If you’re not familiar with it, the general steps are diff --git a/docs/developers-guide/general-project-structure.md b/docs/developers-guide/general-project-structure.md index 4558e9a09..da274f0f7 100644 --- a/docs/developers-guide/general-project-structure.md +++ b/docs/developers-guide/general-project-structure.md @@ -1,3 +1,7 @@ +--- +icon: diagram-project +--- + # General project structure The Uptime Manager product uses the MERN stack, which is to say that the project uses: diff --git a/docs/developers-guide/high-level-overview.md b/docs/developers-guide/high-level-overview.md index 070558741..409d9621d 100644 --- a/docs/developers-guide/high-level-overview.md +++ b/docs/developers-guide/high-level-overview.md @@ -1,3 +1,7 @@ +--- +icon: dove +--- + # High level overview @@ -16,8 +20,34 @@ The following diagram describes a typical request to the /auth endpoints. The following diagram describes a typical request to the `/monitors` endpoints. +
+ +### JobQueue + +The heart of this application is a `JobQueue` class that wraps a BullMQ `Queue`. \ +\ +A `Monitor` is considered a job, when one is created it is enqueued in the `JobQueue`.\ +\ +Jobs are handled by a pool of workers in the `JobQueue` and their tasks are executed in the order in which they are enqueued.\ +\ +Workers are scaled up and down based on the jobs/worker ratio as jobs are enqueued and dequeued. + +#### **High level overview of the JobQueue** + +
+ +### SSL + +SSL is handled by LetsEncrypt and Certbot. This works by Nginx and Certbot sharing the same volume where the certificates are held. The following snippet from the docker-compose.yaml file shows how this works.\ +
+ +Please see [this guide](https://phoenixnap.com/kb/letsencrypt-docker) for more information on this setup. + +\ +\ +\ \