Skip to main content

Web Architecture

In the future we want to add a web interface that will allow users to interface easily with the Thermostat API data, administrate servers, manage project data in Gmail and ClickUp, and more. We plan to implement this as a React application that uses an HTTP API of some sort (possibly GraphQL based) to communicate with the Thermostat API. It will use the Google Workspace accounts that form the basis of our company communication as the authentication system, we will use Google OpenID Connect to associate users with Fahrenheit Marketing Google accounts that are authorized to access the application. Users would have different permission levels specified in the Thermostat API database, so admins can securely administer all Thermostat data while other users can only access non-sensitive data. The web interface would allow users to easily see the applications that exist in Thermostat, copy commands to easily install those applications, see the list of backups associated with the applications, manage backup schedules, spin up new servers for applications, see which servers the applications are deployed on, etc. Ideally we would like the system to also connect to other tools we use for project management, for example connecting to ClickUp to allow one to easily see all the tasks associated with the clients, connecting to Google Docs to see informational files associated with the clients, connect to DigitalOcean to be able to see the status of servers associated with the applications, etc, but this is lower priority.

The planning for this system has not gotten past the early brainstorming phase, whoever implements the actual web interface would need to put together more detailed architecture plans for this component of the system.