# Project Overview This project is a application that powers user interface of [my website](https://www.yunjaeoh.com). ## Stack overview - Server side rendered React app which uses [NextJS](https://nextjs.org/) - Written in [TypeScript](https://github.com/microsoft/TypeScript) - Written in [TypeScript](https://github.com/microsoft/TypeScript) - Uses [styled-component](https://github.com/styled-components) for styling - [material-ui](https://github.com/mui-org/material-ui) is used in combination with regular components - [Husky](https://www.npmjs.com/package/husky) is used to ensure [eslint](https://github.com/eslint/eslint) and [commitlint](https://www.npmjs.com/package/@commitlint/cli) is run before each commit - Uses [conventional commit](https://www.npmjs.com/package/@commitlint/config-conventional) for commit lint rule - Uses [jest](https://jestjs.io/en/) and [enzyme](https://enzymejs.github.io/enzyme/) for test ## Run Project Locally 1. `git clone {this repo}` 2. `npm install or yarn` 3. `npm run dev (or npm run start if you want to create production optimized build` 4. `visit localhost:3000` ## Environment Variables | Key | Value | Note | | -----------------------|:---------------------------------------| :-------------------------------------| | NEXT_PUBLIC_EXE_CTX | String indicates execution enviornment | Required | | NEXT_PUBLIC_MINIKUBE_IP| IP address of minikube cluster | Required when running app in minikube |