This dashboard is a Symfony 5 version installation that interfaces with a number of different API's/feeds to pull in data from various different external systems, to bring the data into one place for easy viewing. The dashboard is login restricted and uses Auth0 to connect with my google account which I use to login to the dashboard. The background of the dashboard is pulling in an image from the website Unsplash, this image changes daily, due to the particular feed from unsplash that I am using.
The majority of the integrations that I have put in place utilise Symfony's caching, so that I reduce the amount of requests made to end point, as the page refreshes every 60 seconds, so that caching aside the latest data is shown without having to refresh the page.
The API's feeds that I utilise in the dashboard are;
The main principal of Uptime robot is a service that performs ping checks on websites to establish if the website is online or not, if the website goes down then notifications can be set up, so that the downtime incident can be investigated.
My server provider has an API that allows me to create/alter servers and other resources as well as grabbing information relating to the servers in my account, which is exactly what I am doing here, I also output what the status is around the main server backup that the server provider does on a regular basis.
AWS S3 buckets - external backups
As part of a disaster recovery measure and so that I don't have all of the eggs in one basket, I have some cron jobs that run scripts every day to backup copies of the websites including databases that I have hosted on my server, so that if something was to happen with my server provider, then very little data should be lost and the sites can be up and running as quickly as possible.
I have some smart (WI-FI) controlled lighting and the provider (LIFX) provides an API that allows me to interact with the lights, I use the API in this dashboard to list the lights and there current status (i.e. if they are connected to the internet or not and if the light is switched on or not) and allow them to be switched on and off.
For my calendars, I use google calendar, this provides an API that I am using to list my upcoming events.
Finally for API's, on my main site, I have small an API endpoint that allows me to grab the latest blog post that I have added to my main sites blog, this end point is access restricted and requires a user account on the website to access the data in the endpoint.
I also have one RSS feed that is pulled in, which is a BBC weather feed for Carlisle.