Skip to content

tylangesmith-organisation/tylangesmith

Repository files navigation

Build

Ty Lange-Smith

Hey there! Looks like you've stumbled upon the code for my personal website tylangesmith.com. This is intended to be a fun little personal project where I can blog about some of the cool stuff I've worked on.

Project Overview

This project is built using Next.js, if you haven't heard of it before it's definitely worth checking out.

The CI / CD pipeline for the project is implemented with Github Actions. This allows us to build, test and deploy the project. All of this code can be found in the .github directory.

Our website currently hosted using AWS. All of this AWS infrastructure is defined as code using AWS CDK. However, later down the track this may changes as Next.js hosting options such as Vercel are becoming more and more attractive.

Getting Started

If you actually want to build and dpeloy this project here's how.

Prerequisites

  • Node v17

Running the Project Locally

# First install the node dependencies
npm i

# Next run the Next.js server
npm run dev

Check the output of the terminal for the localhost port and navigate to it in you browser. This will usually be localhost:3000.

Deploying the Project

Deploying the project may require a little more setup than just running the project locally. Again to deploy we leverage GitHub actions which deploys to AWS. For this you will need to have an AWS account already setup.

In the deploy.yml you will find the required GitHub secrets and environment variables you will need to set to deploy this project and it's infrastructure into to your AWS environment.

Variable Type Description
ACCOUNT_ID GitHub Secret The AWS Account ID
AWS_ACCESS_KEY_ID GitHub Secret The IAM user Access Key ID
AWS_SECRET_ACCESS_KEY GitHub Secret The IAM user Secret Access Key
AWS_DEFAULT_REGION Environment Variable The default AWS region to use
DOMAIN_NAME Environment Variable Your domain name