personal-site

Application templates for a personal website driven off of Contentful

MIT License

Stars
0
Committers
1

Personal Site

Various implementations of a personal site set up with Contentful and Tailwind

.NET 8 - An ASP.NET implementation hosted using AWS ECS/Fargate

React - A static react implementation for budget friendly hosting through AWS S3 and Cloudfront

Getting Started

You will need a Contentful account (free or paid) and have configured api/management keys.

The utility project will first need to be run to create the required content types in Contentful.

To run the web project or the utility project you will need to create an appsettings.local.json file in the root of the project with the following structure:

{
  "ContentfulOptions": {
    "DeliveryApiKey": "YOUR_DELIVERY_API_KEY",
    "PreviewApiKey": "YOUR_PREVIEW_API_KEY",
    "Environment": "environment-you-want-to-use",
    "ManagementApiKey": "YOUR_MANAGEMENT_API_KEY",
    "SpaceId": "YOUR_SPACE_ID"
  }
}

Secrets Manager

The app is configured to use AWS Secrets Manager to retrieve these values in production. If you want to test your setup locally, you will need to configure a secret in AWS Secrets Manager and configure either your environment variables or an aws cli profile named personal-site with your credentials. Because of the way the secret is retrieved, the json config in AWS should be in the format:

{
    "ContentfulOptions:DeliveryApiKey": "YOUR_DELIVERY_API_KEY",
    "ContentfulOptions:PreviewApiKey": "YOUR_PREVIEW_API_KEY",
    "ContentfulOptions:Environment": "environment-you-want-to-use",
    "ContentfulOptions:ManagementApiKey": "YOUR_MANAGEMENT_API_KEY",
    "ContentfulOptions:SpaceId": "YOUR_SPACE_ID"
}

Shout Outs

The resume is heavily influenced by this excellent template by Thomas Highbaugh - thank you for sharing your work!