At the beginning of the week I open sourced one of my newest side projects, Cachet. The original post was read more by more than 1700 different people and it's had a fair bit of interest from people around the Internet.
For those of you who don't know what Cachet is, here is a brief summary:
Cachet is a single-site, alternative to https://statuspage.io written in PHP with the Laravel project, supporting both SQLite and MySQL databases.
I started working on Cachet for Anorak as it costs a fair bit to run one of the existing solutions on the market, especially when you've not opened up your product yet.
The current state of affairs
Here's where it is currently at:
- Components and Incidents need to be manually entered into the database.
- The design, although better, is still lacking.
- There is no management panel, API, third-party integration and a whole bunch of other bits.
Even though we have the funky Deploy to Heroku button on the GitHub page, it's still not enough. There are people who are unfamiliar with PHP, Laravel, MySQL, but who want to run Cachet. There should be no friction for a default Heroku deployment.
There is a lot of work left and I've covered my thoughts in the Goals section of the
README.md file. Here's a quick rundown of the things that I'd like to get into Cachet (mostly in order).
- Design makeover - we're in need of a full redesign. It's very much like Status Page and I know it can be done better. Not only does the front page itself need redesigning, but there is also a need for:
- Installation page
- Management panel
- Support for overwriting the default themes with theme variables set via the management panel.
- API - there has been some interest from others in implementing this already, but it'd be good to have an idea on the best way to do it. Without using too many buzz words it needs:
- RESTful interface. An API which doesn't make sense isn't a good one. Third parties will be integrating via the API.
- Authentication. We can't have just anybody reporting incidents and downtime.
- Web hooks - I've already started working on this, but full integration can only come once we have a management panel etc. Web hooks will allow Cachet to contact another service when something happens, perfect for integrating with it.
- Incident templates - This is a feature that can be built into the management panel.
Yesterday I posted on DesignerNews explaining that I'm looking for a designer to join the project. Whoever decides that they want a hand in Cachet will be given full repository access enabling them to make changes whenever they feel comfortable.
If you want to join the project but don't feel comfortable with Laravel/PHP etc, you are still more than welcome - we can discuss how it will work.
Cachet is in a unique place here. As a fully open source alternative to Status Page, StatusHub, Stashboard etc, we can achieve a lot, however I can't do this alone, not with other commitments, projects and working full time.
If you're interested in helping out, whether it be design or code, send me a tweet @jbrooksuk or you can get me via email. firstname.lastname@example.org.
I'm really looking forward to what's coming next!
Discuss this post on Hacker News.