Skip to content
Don't reinvent the wheel for every new Rails project. Use sane Defaults.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
app Upgrade prettier (#216) Mar 14, 2019
bin Upgrade webpacker to the latest stable version (#215) Mar 13, 2019
config
db WIP : Rails upgrade 5 2 round 2 (#193) Jul 13, 2018
doc
lib
public
test
.browserslistrc
.gitignore
.postcssrc.yml Add webpacker from master May 5, 2018
.rubocop.yml
.ruby-version
Dockerfile Upgrade to 2.6 Jan 4, 2019
Gemfile
Gemfile.lock
Procfile
Procfile.dev Chore: Add a Procfile.dev for local development Dec 23, 2018
README.md
Rakefile Undo commit" Jun 5, 2018
app.json
babel.config.js
config.ru Update rubocop file based on Rails repo. Run rubocop -a Jan 15, 2018
docker-compose.yml
entrypoint.sh
knapsack_minitest_report.json
package.json
postcss.config.js
setup_while_container_init.sh
yarn.lock

README.md

Circle CI

Made by the team at BigBinary, this is a base project to quickly spin up a Rails application built with opinions of BigBinary style of working.

Local Development Setup

Install the latest Node.js version. Make sure that npm is installed with it as well.

bundle install
bundle exec rake setup
bin/yarn
bundle exec rails server

Visit http://localhost:3000 and login with email sam@example.com and password welcome.

Running with Docker

Pre-Requesites

Make sure you have docker and docker-compose installed.

Starting rails

docker-compose up

After the container is successfully created you should be able to access your app on http://localhost:9000

Deploy wheel on Kubernetes

Deploy wheel on kubernetes using this templates.

You will need access to the working kubernetes cluster.

Install kubectl locally and setup kubeconfig.

If you dont have k8s cluster setup, simply install minikube.

Run following commands to deploy wheel on k8s.

Create postgres db and service.

kubectl create -f db-deployment.yml -f db-service.yml

Create configmap for database.yml.

kubectl create -f database-configmap.yml

Create web/puma deployment and service.

kubectl create -f web-deployment.yml -f web-service.yml

Create background/delayed_job deployment and service.

kubectl create -f background-deployment.yml -f background-service.yml

Get application endpoint.

$ kubectl get svc web -o wide | awk '{print $4}'
a55714dd1a22d11e88d4b0a87a399dcf-2144329260.us-east-1.elb.amazonaws.com

Replace Wheel with your project name

Let's say that the project name is Pump. Execute the command below to replace all occurrences of Wheel with Pump.

perl -e "s/Wheel/Pump/g;" -pi $(find . -type f)

Features

  • Uses Bootstrap .
  • rake setup to set sensible sample data including user sam@example.com with password welcome.
  • Uses devise .
  • Heroku ready. Push to heroku and it will work .
  • Uses Honeybadger.
  • Built in superadmin feature.
  • Uses modal box to showcase an example of editing information using modal box.
  • Enables strict mode for all JavaScript code.
  • Uses puma as web server.
  • Uses haml for cleaner syntax over erb.
  • No coffeescript. We prefer JavaScript.
  • Uses turbolinks.
  • Uses ActiveAdmin.
  • When exception is sent to Rollbar then uuid is also sent for debugging .
  • Uses DelayedJob.
  • Intercepts all outgoing emails in non production environment using gem mail_interceptor.
  • Uses CircleCI for continuous testing.
  • Has a bunch of tests to make it easier to get started with new tests.
  • Uses PostgreSQL.
  • Built in support for carrierwave to easily upload items to s3.
  • Built in support for "variants" so the pages can be customized for tablet or phone easily.
  • Uses simple_form.
  • Built in support for Mailgun.
  • Easy to generate "test coverage".
  • Content compression via Rack::Deflater.
  • Auto-formats Ruby code with rubocop.
  • Auto-formats JavaScript and CSS code with prettier.

Heroku Review

Heroku Review is enabled on this application. It means when a PR is sent then heroku automatically deploys an application for that branch.

About BigBinary

BigBinary

wheel is maintained by BigBinary. BigBinary is a software consultancy company. We build web and mobile applications using Ruby on Rails, React.js, React Native and Elm.

You can’t perform that action at this time.