Giter VIP home page Giter VIP logo

core's People

Contributors

amaelftah avatar ash-jc-allen avatar crynobone avatar jasonlbeggs avatar jbrooksuk avatar joelbutcher 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

core's Issues

Unable to launch Cachet

Hi there!
I don't really understand why, but after making all the commands in the README to run Cachet in dev mode, I indeed get INFO Server running on [http://127.0.0.1:8000]. in the console, but when going on the URL, I have the following page showing up:
image

Would you know how I could fix this problem?
Thanks!

Implement Create Metric Points API

The API needs implementing for creating metric points. This isn't super straightforward as we need to first check whether the last created point was within the metrics threshold and increment a counter instead. You can see the past implementation at https://github.com/cachethq/cachet/blob/f40da226670a92934170c1adcfff3d1c40a6096b/app/Bus/Handlers/Commands/Metric/CreateMetricPointCommandHandler.php#L80-L98

However, metrics should be considered an "expensive" operation and so, I think we should make use of the cache instead of querying the database each time.

Translations

We need to provide any static strings as a translation file.

I'm quite keen on the idea of this package only containing the English US translations, then having other packages which can be installed to provide additional languages. Are there any objections to this?

Settings

Cachet 2.x has the ability to set various settings. These are stored in the database, but then also cached into a configuration file for performance.

I think as a first pass at implementing this, we can skip writing the configs to a file.

Also, I wonder whether we'd benefit from migrating our existing settings to something like spatie/laravel-settings, since most of Cachet's internals will need to read the settings at various points of the lifecycle.

We're also going to add additional settings such as:

  • Colours for dark mode
  • Images

Metric Charts

We need to implement the metric charts into the status page.

Meta

Cachet 2.x can store custom meta data to be passed to incidents. We can extend this in 3.x to support custom meta on most, if not all models.

  • Create Meta model.
  • Add Meta relationship to models.
  • Update actions and API to support passing meta.
  • Add meta to the Http resources.

Setup Wizard

In Cachet 2.x, we had a setup wizard that may also be automated via the CLI.

  • Routes
  • Middleware to prevent access to /setup once Cachet is already configured
  • Writing .env / settings.
  • UI
  • Tests

Implement Dashboard Design

Jump24 have kindly designed the new dashboard us. We'll need to code this design using Tailwind.

Unlike the status page we'll use Vue and Inertia.js for the dashboard. In my opinion, this is better suited for the task.

Allow components to be attached to component groups

When creating or updating a component group (CreateComponentGroup or UpdateComponentGroup) it should be possible to supply an array of components that will attached to the group components.component_group_id = $componentGroup->id.

It's already possible to create a new component within a group, but you can't mass-assign components into a group in one request.

RSS

We should provide an RSS feed of incidents and their updates.

Tags

We need to bring back support for tags.

  • In 2.x only components support being tagged, but we could extend this to other areas including; incidents, metrics and schedules.
  • The API needs to support filtering the endpoint by a tag.

Notifications

We need to bring back the various notifications sent by Cachet.

  • Components
    • ComponentStatusChanged
  • Incidents
    • NewIncident
  • Incident Updates
    • IncidentUpdated (this could be moved into the Incidents namespace above.
  • Schedule
    • NewSchedule
  • Subscriber
    • VerifySubscription
  • System
    • Test

Implement Status Page Design

Jump24 have kindly designed the new status page for us. We'll need to code this design using Tailwind.

I think that the status page itself should be written using Blade & Livewire with sprinkles of Alpine.js for some additional reactivity. My thinking here is that the status page needs to render as quickly as possible and should be easily crawlable by search engines.

API Custom Rate Limiting

As discussed here, Cachet should probably implement it's own API rate limiting middleware that can be configured via the cachet.php config file.

Render Incident Templates

Incident templates should support Twig (for backwards compatibility) and Blade as a new renderer.

The renderer should be selected automatically via IncidentTemplateEngineEnum.

Event Broadcasting

We could optionally broadcast events through websockets and have the status page / dashboard update in real time for anyone looking at it.

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.