Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Chrisbattarbee committed Mar 27, 2024
1 parent 4d4770a commit e138228
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
21 changes: 21 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Contributing

We'd love to have you contribute to Statusphere!

We take contributions seriously and want to make sure that you have a great experience contributing to this project.
As such we're starting with a 2 day response time for all issues and PRs. If you don't get a response within 2 days, feel free to email me directly at chris -at- metoro (dot) io.

Please read the following guidelines to get started.

## Getting Started

Before you write a PR, please an open an issue to discuss the changes you'd like to make. This will help us understand what you're trying to achieve and make sure that we're on the same page and that your work will be accepted.

This doesn't need to be an essay, just a short description of what you're trying to achieve and why then we'll quickly flesh out the details together.

## Pull Request Process

1. Fork the repository
2. Create a new branch with a descriptive name
3. Make your changes
4. Open the PR and link the issue that you opened in the previous step
20 changes: 19 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ An open-source api-first status page aggregator.

If you're looking for the official hosted version, head [here](https://metoro.io/statusphere).

Read more about the project at the launch blog post [here](https://metoro.io/blog/statusphere).
Read more about the project at the [launch blog post](https://metoro.io/blog/statusphere).

## Usage

Warning: This will spin up a local instance of the statusphere stack which will automatically scrape the status pages of
the services listed in the `status_pages.go` file.

```bash
# From the root of the repository
docker-compose up

# The api server will be available at http://localhost:8080
Expand All @@ -46,3 +47,20 @@ They're orchestrated in the following way:
<div align="center">
<img src="./docs/static/statusphere-architecture-white.png" height="300" alt="Statusphere logo">
</div>


## Scraping mechanism

Each scraper periodically polls the database to get a list of status pages to scrape.
After the time interval has passed, the scraper will scrape the status page and update the database with the new status.

### Parsing status pages

When a scraper scrapes a status page, it attempts to parse the page using `providers` in a cascading manner.
Each provider is responsible for parsing a specific type of status page. For example, the status.io provider is responsible for parsing status pages that are built using the status.io platform.
If a provider is unable to parse the status page it will return an error, and the next provider in the list will be attempted.


## Contributing

We're actively welcoming contributions to Statusphere! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information on how to get started.

0 comments on commit e138228

Please sign in to comment.