GithubHelp home page GithubHelp logo

memphisx / netcheck-api Goto Github PK

View Code? Open in Web Editor NEW
26.0 26.0 1.0 668 KB

Netcheck API - Website performance and availability monitoring app

License: GNU General Public License v3.0

Dockerfile 0.23% Java 99.77%

netcheck-api's People

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

Forkers

cckmit

netcheck-api's Issues

Refactor endpoints

  • All domain endpoints should properly point to a resource.
  • If that resource doesn't exist in db it probably needs to have a separate endpoint that won't conflict with an existing resource.
  • All responses should contain links for their selves and any subresources the contains

Update GET /domains endpoint

  • Have an optional parameter to filter domains.
  • Optional parameter for ASC/DESC order by domain name and created Date

Duplicate States on GET /domains/{domain}/states

The /states endpoint should only return entries that the status of a domain has changed. Instead due to the query checking for both http and https and certificate changes by default if we had a state change for https we will see that as a change to http too

HATEOAS Support

  • Add HATEOAS support to the endpoints
  • Also use DTOs for data sent between repositories and controllers

Initial support for notifications

  • Spring batch writer to send notifications through a service
  • Batch writer notification interface
  • Init support for one of the services: Pushover, Pushbullet, Slack, Discord etc.
  • Config of the notification service will be through properties.yml file at least until v2

Refactor domains endpoint

GET /{domains}/ should also return the last status for each protocol of each domain along with the domain name

CI Pipelines

  • Running tests
  • Building jar file
  • Build and push docker image

Javadocs

Include them in the building/deployment on circleci

Metric Scheduler

  • Create additional tables in DB to hold aggregate data for hourly, daily, and monthly average/lowest/highest response times and uptime percentages per domain.
  • Create schedulers to calculate and fill the above tables per hour/day/month at the end of each hour, day, month respectively

Background Scheduler

  • Check every x (minutes/hours) for availability/status of domain in db
  • Store in db if status has changed

Support for domain status change notifications

  • Change configuration logic of notification handling to be per user and saved in DB.
  • Add additional endpoints to create/update configuration.

Add any additional notification services that were not implemented in #63

  • Pushover
  • Slack
  • Discord
  • Pushbullet

Update Metric endpoint.

  • Should include hour/day/week/month filter.
  • The response should include the worst response time, best response time, and average response time of checks.

Error when checking in.gr

javax.net.ssl.SSLHandshakeException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed

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.