Ho, ho, ho and welcome! This repository was built both to be a fun and frustrating experience for my brother on Christmas and as an entry into the Serverless Guru Hackathon.
To read all about it and get some fun insider information on how it was built and the iterations it went through, check out the blog post. To see it live, go to www.justinschristmasgift.com.
This repository is a mono-repo containing both the front-end and backend code. When deployed into your account, it will create the following architecture:
Control plane operations go through a REST API and the majority of the data plane/chat operations go through Momento Topics.
To deploy this into your AWS account, you will need the SAM CLI installed and configured on your machine.
Prior to deployment, you will need to gather the following information:
- Momento API Key - Create a super user API key via the Momento Console
- OpenAI API Key - Create an API key for OpenAI
- Webhook Secret - Create a webhook in your Momento account and remember the secret
- Default Cache Name - Create a cache in your Momento account
Once you have obtained all the information above, you can deploy the code into your AWS account via the following commands:
cd api
sam build --parallel
sam deploy --guidedAll the source code for the NextJS front-end is located in the ui folder off the root. The backend code for the API is in the api folder.

