Rak (React App Kit) is an opinionated skeleton to quickly set up a project with React, Redux, Webpack & friends.
Rak includes and configures the following components to help you build a rock-solid, scalable app with best practices and zero configuration.
Rak requires Node 6. In addition, to use the automatic AWS deployment features, you'll need both an AWS account and a Travis CI account.
Start a new Project with Rak by creating an empty directory and installing
rak into it.
(Note: This section's snippets use
yarn as a package manager. NPM works too. See below.)
mkdir my-new-project cd my-new-project yarn add rak
Next, run the new
rak command-line executable. It doesn't take any arguments, and will set up a project using the name of the folder you created as the project name.
Some details about your newly created folder structure and dependencies will be printed while Rak is setting up. After it's done, you can uninstall rak if you want:
yarn remove rak
and commit your project to git:
git init && git add --all && git commit -m "Initial commit"
and start developing! Your next steps might include:
AWS_SECRET_ACCESS_TOKENto Travis CI, either using their web interface or their Ruby gem and the
Note that while these instructions are given using Yarn, npm is also supported:
mkdir my-new-project && cd my-new-project npm install rak $(npm bin)/rak npm uninstall rak
Rak includes a CloudFormation template that can create & configure all the AWS resources it needs. You'll want to create the CloudFormation stack before you push to your master branch for the first time. To do that:
./config.js, including the name of your project and the domain it'll live at.
yarn run awsUtils -- launch.
CloudFormation will create the following resources:
This will take about 30 minutes. While it's going, leaving the
yarn run awsUtils -- launch process running will tail CloudFormation events to your console. You can also log into the AWS Management Console to track the progress of your stack.
Once it's reached the
ns-xxx.awsdns-xxx.tld) for your new Route53 hosted zone, and point your domain to these nameservers in your registrar's DNS console. These changes may take a while to take effect.
masterbranch. Travis will test, lint, bundle and deploy your code to S3, and you should see it at your domain shortly.