perfect-paca icon indicating copy to clipboard operation
perfect-paca copied to clipboard

Vue.js template/boilerplate for universal web apps with a dedicated backend. Deploys via serverless.com framework

perfect-paca

DEPRECATED

see suf-stack-aws-koa-nuxt npm


Vue.js template/boilerplate for universal web apps with a dedicated backend. Running via serverless framework on AWS Lambda

This project uses nuxt.js, a vue.js framework for building web applications which render pages on initial page load server-side as HTML, for speed and SEO-optimization, then later load other pages client-side like a single-page app. This is then served up through Express as a ServerLess function, so that it can be deployed in an automatically scaled and low-maintenance manner.

As a dedicated backend environment is often required for rendering security-sensitive code, a /api path is setup to handle Express routes for server-side code. Credentials should then be configured within the AWS Console as environment variables protected by AWS KMS.

Within the universal nuxt.js application, external calls can be made via the axios universal http client.

Installation

Install global command line functions

npm install -g vue-cli
npm install -g serverless

Create a project using the template

vue init phlogisticfugu/perfect-paca <project-name>
cd <project-name>
yarn --ignore-engines install

Do local development

npm run dev

Do local development using node 6.10 to simulate cloud-hosted environment

nvm use 6.10.3
AWS_EXECUTION_ENV=nodejs6.10 npm run dev

Deploy to a cloud-hosted development environment

npm run deploy-dev

# after the initial run, one can subsequently use:
npm run deploy-dev-fast

When everything looks good, deploy to production

npm run deploy-prod

Then setup a domain with a CNAME record pointing to the URL which returns from the above command.