/seth-holladay.com

Personal website of Seth Holladay

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

Personal website of Seth Holladay

Contents

Why?

  • Blogs are fun
  • Cutting edge deployment tech
  • Useful as boilerplate for servers

Install

git clone git@github.com:sholladay/seth-holladay.com.git &&
cd seth-holladay.com &&
cp .env.example .env &&
npm link

To actually start the server and run the app, you will need credentials in order to connect to web services, such as Stripe. Once you have them, put them in .env.

Note: Do not put any credentials in .env.example! That file is committed to the repository and putting secrets in there is unsafe. It is used to document and validate which credentials belong in .env. The latter is ignored and cannot be committed accidentally.

Usage

  Usage
    $ seth-holladay.com

  Option
    --port        Port number to listen on for HTTPS requests
    --open        Open the homepage in your browser
    --open=<url>  Open a specific page in your browser

  Example
    $ seth-holladay.com
    Seth ready at https://localhost/
    $ seth-holladay.com --port=7000
    Seth ready at https://localhost:7000/

API

app = await server(option)

Returns a new hapi server instance, configured with all of our routes, views, etc.

option

Type: object

port

Type: number

Port number to listen on for HTTP requests when the server is started.

stripePublicKey

Type: string

Public API key for Stripe.

stripeSecretKey

Type: string

Private API key for Stripe.

Testing

You can run the automated tests with npm test.

Continuous delivery

All commits, including pull requests, are tested by Travis CI.

For the master branch only, after CI passes, commits are also deployed to seth-holladay.com within a few minutes of being pushed.

See the latest CI results at: https://app.travis-ci.com/sholladay/seth-holladay.com

Tech stack

We rely on these external products and services to provide infrastructure and functionality for the application.

Production services

Service Description
Cloudflare Domains and DNS
Heroku Server hosting
Stripe Payment transactions

Other systems

Provider Description
Node Language runtime
hapi Server framework
Travis CI Continuous integration

See also the dependencies in package.json.

Contributing

See our contributing guidelines for more details.

  1. Fork it.
  2. Make a feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request.

License

MPL-2.0 © Seth Holladay

Go make something, dang it.