A real-world instance of this web app can be found at markmhendrickson.com.
Setting up the environment
The code requires the following environment variables to run or deploy the server. The following environment variables can be declared by adding a file named
.env (in INI format) to the base directory, assuming they're not declared elsewhere in the system already. Such a file will be ignored by Git.
Optional to run ap
PERSONAL_WEB_API_HOST: Host address for data server conforming to JSON API specification (defaults to
PERSONAL_WEB_SEGMENT_WRITE_KEY: Segment write key
Required to deploy app
HOIST_DEST_USER: User name with which to SSH into remote deployment server
HOIST_DEST_HOST: Host address for remote deployment server
HOIST_DEST_DIR: Remote system path to app directory on deployment server
PERSONAL_WEB_PRODUCTION_API_HOST: Host address for data server needed by remote deployment
Optional to deploy app
PERSONAL_WEB_PRODUCTION_SEGMENT_WRITE_KEY: Segment write key for remote deployment
If you intend to deploy the server to another system using scripts within the "Developing and deploying" section below, you can also create a
.env-deploy file in the base directory, one that will be ignored by Git and used upon deployment to create an
.env file remotely, thereby setting environment variables on the deployment server.
Expecting data from the server
The app will expect the data server to fulfill requests for the following types of data:
attribute: Basic attributes about the individual, namely those with IDs
checkin: Check-ins to list on homepage under "Check-ins"
company: Companies to list on homepage under "Companies"
image: Images to show in relation to posts
link: Links to list on homepage under "Links"
photo: Photos to show in relation to posts
post: Posts to list on homepage under "Posts" and display individually on post pages
redirect: Redirects to posts that previously had different IDs and therefore different URLs
skill: Skills to list on homepage under "Skills"
Running the app
npm run install-allto install NPM and Bower dependencies
npm run buildto build the app
npm startto fire app up and automatically reloads it when code changes are made
Deploying the server
Deployment scripts are available through Hoist.