Giter Site home page Giter Site logo

oneuptime / oneuptime Goto Github PK

View Code? Open in Web Editor NEW
4.1K 27.0 175.0 431.48 MB

OneUptime is the complete open-source observability platform.

Home Page: https://oneuptime.com

License: Apache License 2.0

JavaScript 0.48% HTML 0.26% Shell 0.60% EJS 8.59% Handlebars 0.68% TypeScript 87.65% Smarty 0.42% CSS 1.30% Python 0.01% PowerShell 0.01%
devops monitoring incident-response incident-management status-page observability on-call

oneuptime's Introduction

oneuptime logo

OneUptime: The Complete Open-Source Observability Platform

OneUptime is a comprehensive solution for monitoring and managing your online services. Whether you need to check the availability of your website, dashboard, API, or any other online resource, OneUptime can alert your team when downtime happens and keep your customers informed with a status page. OneUptime also helps you handle incidents, set up on-call rotations, run tests, secure your services, analyze logs, track performance, and debug errors.

OneUptime replaces multiple tools with one integrated platform:

Uptime Monitoring

Monitor the availability and response time of your online services from multiple locations around the world. Get notified via email, SMS, Slack, or other channels when something goes wrong. Replace tools like Pingdom.

Monitoring

Status Pages

Communicate with your customers and stakeholders during downtime or maintenance. Create a custom-branded status page that shows the current status and history of your services. Replace tools like StatusPage.io.

Status Pages

Incident Management

Manage incidents from start to finish with a collaborative workflow. Create incident reports, assign tasks, update stakeholders, and document resolutions. Replace tools like Incident.io.

Incident Management

On Call and Alerts

Schedule on-call shifts for your team and define escalation policies. Ensure that the right person is notified at the right time when an incident occurs. Replace tools like PagerDuty.

On Call and Alerts

Logs Management

Collect, store, and analyze logs from your online services. Search, filter, and visualize log data to gain insights and troubleshoot issues. Replace tools like Loggly.

Logs Management

Workflows

Integrate OneUptime with your existing tools and automate your workflows. Integrate with tools like Slack, Jira, GitHub, and 5000+ more.

Workflows

Application Performance Monitoring

Measure and optimize the performance of your online apps and services. Track key metrics such as traces, response time, throughput, error rate, and user satisfaction. Replace tools like NewRelic and DataDog.

APM

Coming Soon

  • Error Tracking: Detect and diagnose errors in your online services. Get detailed error reports with stack traces, context, and user feedback. Replace tools like Sentry.
  • Reliability Autopilot: Scan your code and fix performance issues and errors automatically. Get recommendations for improving the reliability of your online services.

All under one platform.

Get Started for Free with OneUptime Cloud

OneUptime Cloud is the easiest and fastest way to monitor your website uptime and performance. You can sign up for free to OneUptime Cloud and enjoy the full benefits of OneUptime without any installation or maintenance hassle.

By using OneUptime Cloud, you also support the development of OneUptime open source project, which is a powerful and flexible tool for website monitoring. You can find more information about OneUptime open source project on GitHub. The code of OneUptime is completely open source, which means you can access, modify, and distribute it freely. You can also contribute to the project by reporting issues, suggesting features, or submitting pull requests.

If you need advanced features, such as API Access, Advances Workflows, or Advanced Access Control, you can upgrade to a paid plan anytime. You can compare the different plans and pricing on OneUptime Pricing page.

Installation

Philosophy

Our mission is to reduce downtime and increase the number of successful products in the world. To do that, we built a platform that helps you understand causes of the downtime, incidents and help reduce toil. Our product is open-source, free and available for everyone to use.

Contributing

We <3 contributions big and small. In priority order (although everything is appreciated) with the most helpful first:

Donate

If you like the project, please consider a small donation. Every single dollar will be used to ship new features or maintain existing ones. 100% of the work we do is open-source. Please donate here

oneuptime's People

Contributors

abdellani avatar adeoluwadavid avatar aphilas avatar augustinebest avatar bigelio avatar bunday avatar ckd avatar courage173 avatar crud-engr avatar dave-ok avatar deityhub avatar dependabot[bot] avatar drantaz avatar fahdjamy avatar haileyesusz avatar hibeekaey avatar ibesoft11 avatar ikhide avatar ioedeveloper avatar jerryedebua avatar kashalls avatar munezerobagira avatar munyanezaarmel avatar nawazdhandala avatar nilanshu1994 avatar nnanyielugo avatar qadriyah avatar rajat-np avatar simlarsen avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oneuptime's Issues

Create issues to test Common/Utils

You can break this issue down into multiple issues.

We have lots of Common/Utils. Ideally, there should be 1 issue for each of those types in Common/Utils. Create 1 issue for each of those utils and close this issue.

Labels for those issues: good first code

Draft CONTRIBUTING.md template

A CONTRIBUTING.md file provides potential project contributors with a short guide to how they can contribute to project.

CSS for Login Page

Our login page does not have CSS at this time and we need to write one for it. Please make sure CSS is refactored property. We also use frameworks like Twitter Bootstrap to make our lives easier.

Write docker-build github workflow for haraka.

We need to check if docker containers are successfully built on every PR. For this, we need to write docker build GitHub action workflow.

You can currently build the haraka docker container by running.

npm run build-ci haraka

in the root folder.

Please write a GitHub Workflow file for it.

Tests for /Home

We have a /Home project which is basically the home page of the application. When you npm install and npm start the project, it runs on port 1444.

It has several pages, however, there are no tests for these pages. We need to create jest puppeteer tests for all the pages, we need to make sure the page loads properly, and there's content on the page.

Please create a test file for each page. You can create a draft PR and ask for early review.

Add logo to Account Pages

  • Add logo to all account pages.
  • Change favicon.
  • Change page title for each account page. It should be "OneUptime | Login" for login page for example.

Disallow the declaration of empty interfaces

Disallow the declaration of empty interfaces.

An empty interface is equivalent to its supertype. If the interface does not implement a supertype, then the interface is equivalent to an empty object ({}). In both cases it can be omitted.

INCORRECT

// an empty interface
interface Foo {}

// an interface with only one supertype (Bar === Foo)
interface Bar extends Foo {}

// an interface with an empty list of supertypes
interface Baz {}

CORRECT

// an interface with any number of members
interface Foo {
  name: string;
}

// same as above
interface Bar {
  age: number;
}

// an interface with more than one supertype
// in this case the interface can be used as a replacement of a union type.
interface Baz extends Foo, Bar {}

Extend IP to DatabaseProperty

Please look at this file for inspiration:

Common/Types/Email.ts

As email extends DatabaseProperty. IP (Common/Types/IP/IP.ts) should also extend DatabaseProperty. Override and Implement toDatabase and fromDatabase functions.

Write tests for it.

Compile Probe

Run npm run compile and make sure the project compiles.

Lighthouse Scan for Home.

We have a /Home project which is basically the home page of the application. When you npm intall and npm start the project, it runs on port 1444.

It has several pages, however, there's no lighthouse scan for these pages. Lighthouse is a project by Google and it scans the page for performance, styling, etc etc. We need to scan all the pages in the home project on Lighthouse in the GitHub Runner.

So,

  • Create a GitHub Actions Job that runs the home project in a docker container.
  • After the home project is running, you can initiate lighthouse scans on the pages.
  • If the score of any page is <80%, we fail the job otherwise we pass the job.
  • We have one job for all the pages in the home project.

Setup testing infrastructure for Common

  • We have an directory "Common" where most of the common code across services lives.
  • There are no tests written for it.
  • To begin with, we need to set up testing infrastructure on common, which basically means we need to set up https://jestjs.io/ for this project.
  • Create a directory called "Tests" inside of "Common"
  • Set up jest https://jestjs.io/ testing framework for this project.
  • To begin with write tests for Common/Utils/UUID.ts
  • Make sure tests run when you run npm run test inside of Common
  • Set up GitHub Actions job for it and make sure they run on all branches except hotfix-*, release and staging-release. You can copy the workflow file from here: .github/skipped-workflows/test-saas.yaml
  • This PR should have that test job passing.

Fix no-duplicate-imports eslint errors

Rule no-duplicate-imports is currently commented in .eslintrs.json

Please uncomment that rule and fix all the eslint errors.

You can run eslint, by executing npm run fix in the root directory.

Please work from ts-migrate branch repo and send a pr to ts-migrate branch.

Create issues to test Common/Types

You can break this issue down into multiple issues.

We have lots of Common/Types. Ideally, there should be 1 issue for each of those types Common/Types. Create 1 issue for each of those types and close this issue.

Labels for those issue: good first code

Stronger TS Lint

Our current eslintrc file .eslintrc.json is missing some typescript lint rules. You can find TS eslint rules here: https://typescript-eslint.io/rules/

We need to implement more lint eslint rules from https://typescript-eslint.io/rules/

Please look into all the rules here: https://typescript-eslint.io/rules/ and compare it with rules in the file .eslintrc.json. For rules that does not exists in .eslintrc.json, we should create a new issue to implement that rule.

This is no-code PR which means, new issues will be created and this issue will be closed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.