Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngallegos/personal-site
Application templates for a personal website driven off of Contentful
https://github.com/ngallegos/personal-site
aws contentful csharp react terraform
Last synced: about 2 months ago
JSON representation
Application templates for a personal website driven off of Contentful
- Host: GitHub
- URL: https://github.com/ngallegos/personal-site
- Owner: ngallegos
- License: mit
- Created: 2024-04-10T16:26:25.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-06-27T23:16:46.000Z (7 months ago)
- Last Synced: 2024-10-15T02:41:29.128Z (3 months ago)
- Topics: aws, contentful, csharp, react, terraform
- Language: CSS
- Homepage: https://nicholasgallegos.com
- Size: 3.62 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Personal Site
Various implementations of a personal site set up with Contentful and Tailwind
[.NET 8](./dotnet/README.md) - An ASP.NET implementation hosted using AWS ECS/Fargate
[React](./react/README.md) - A static react implementation for budget friendly hosting through AWS S3 and Cloudfront
## Getting Started
You will need a [Contentful](https://www.contentful.com/) 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:```json
{
"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:
```json
{
"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](https://github.com/Thomashighbaugh/resume)
by Thomas Highbaugh - thank you for sharing your work!