Skip to content

chadkluck/serverless-remote-falcon-api-proxy

Repository files navigation

Serverless Remote Falcon API Proxy and Site Telemetry

A web service that serves as a reverse-proxy for custom, self-hosted light show websites to access the Remote Falcon API allowing visitors to see song lists, current status, and make requests. Also includes metric and telemetry data of user interactions with the website. Utilizes API Gateway and an advanced Lambda function written in Node.js that implements various features of the @63klabs/cache-data NPM package. All built and deployed upon the 63Klabs Atlantis Template and Scripts Platform.

Build/Deploy Application Stack
Languages Python, Shell Node.js
Frameworks Atlantis, Jest Atlantis, @63klabs/cache-data, jose
Features SSM Parameters API Gateway, Lambda, CloudWatch Logs, CloudWatch Alarms, CloudWatch Dashboard, X-Ray Tracing, Lambda Insights, Open API Spec, @63klabs/cache-data, Remote Falcon API

Ready-to-Deploy-and-Run with the 63Klabs Atlantis Templates and Scripts Platform for Serverless Deployments on AWS

Features

  • API Gateway implementation (with additional logging if enabled)
  • Lambda Function with gradual deployment and rollback in production environments
  • AWS X-Ray Tracing between API Gateway, Lambda, S3, DynamoDb, and remote endpoints
  • Lambda Insights, CloudWatch logs, and a CloudWatch Dashboard for monitoring performance
  • Cache-Data implementation:
    • Configuration: Connections, SSM Parameter Store Secrets, Cache
    • Logging: DebugAndLog, Timer
    • Caching of data from remote endpoints using S3 and DynamoDb (provision separately or with application)
    • Request handling: Router, Validation, response formatting and logging

About

Remote Falcon is an external service used by the home light show hobbyist and enthusiast community to provide interactive light show displays.

Light displays consist of synchronized LED lights spread across a house, yard, and decorations, often set to music. These personal displays are created by hobbyists for the enjoyment of their communities, typically around the holidays.

If you have chanced upon a house decked out in lights and props synchronized to music either through a speaker or hyper-local radio station, then you have seen the work of a light show hobbyist.

When visitors have control of the sequence by choosing the next song through a mobile website (often displayed by QR code or web address) then they have most likely interacted with a site hosted and powered by Remote Falcon.

Remote Falcon provides a 100% hosted solution for displaying an interactive website for receiving and playing requests.

Remote Falcon also provides an API for hobbyists of the developer mindset to host their own website front-end technology stack, while Remote Falcon maintains support of the backend request, status, and communication infrastructure for the on-site light controller.

To get started, a hobbyist needs a Remote Falcon account, the Remote Falcon plug-in for their on-site Falcon Controller with configured secret keys, an AWS account to host the serverless-remote-falcon-api-proxy stack, a little SAM know-how, and an API secret and identifier from Remote Falcon.

It is recommended that the hobbyist have a few years experience with light shows, controllers, and Remote Falcon before deploying this solution.

This solution DOES NOT deploy the self-hosted version of the Remote Falcon server. It only provides a reverse-proxy between a Self-Hosted Front-End and the Remote Falcon API service.

Architecture

See Architecture

Deployment Guide

See Deployment Guide

Advanced Documentation

See Docs Directory

AI Context

See AGENTS.md for important context and guidelines for AI-generated code in this repository.

The agents file is also helpful (and perhaps essential) for HUMANS developing within the application's structured platform as well.

Changelog

See Change Log

Contributors

About

A reverse proxy to access the Remote Falcon API from a custom, self-hosted light show website. Also includes an API for website usage metrics

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors