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.
Install the latest Node.js version. Make sure that npm is installed with it as well.
./bin/setup
Start the server by executing following command.
bundle exec rails server
Visit http://localhost:3000 and login with email oliver@example.com and password welcome.
- Clone this repo by running
git clone https://github.com/bigbinary/wheel.git cd wheel- If using it for the first time, run
docker-compose buildto build the images. - Run
docker-compose run --rm web rails setupto create and seed the database. - Run
docker-compose upto start the application and get things up and running. - From now onwards, we can just run
docker-compose upfrom within the root of thewheeldirectory to bring up the application.
While re-building images, docker tries to find it's layers in the cache, which might bring-in stale layers.
# this forces docker to not use cached image layers
docker-compose build --no-cache-
Run
docker ps -a | grep wheelto get continers related to wheel, verify it and then rundocker rm -f $(docker ps -a | grep wheel | awk '{print $1}')to delete them. -
Run
docker images | grep wheelto get images related to wheel, verify it and then rundocker rmi -f $(docker images | grep wheel | awk '{print $3}')to delete them. -
Run
docker volume ls | grep wheelto get volumes related to wheel, verify it and then rundocker volume rm -f $(docker volume ls | grep wheel | awk '{print $2}')to delete them.
If you want to try out something slightly more daring, yet effective, then run the following single line command to wipe all of the docker data, which includes containers+images+volumes and then did docker-compose up --build and things started working for me in wheel.
Warning: The following command will wipe all of docker data of all local docker projects and containers:
docker rm -f $(docker ps -a -q) && docker rmi -f $(docker images -q) && docker volume rm -f $(docker volume ls -q)
Warning:
Rundocker system prune -a -f --volumesto remove all containers, networks, images (both dangling and unreferenced), and volumes.
Let's say that the project name is Pump. Execute the command below to
replace all occurrences of Wheel with Pump.
perl -pi -w -e 's/Wheel/Pump/g;' $(git ls-files)
perl -pi -w -e 's/wheel/Pump/g;' $(git ls-files)
- Uses Tailwind CSS.
rake setupto set sensible sample data including useroliver@example.comwith passwordwelcome.- Uses devise.
- Heroku ready. Push to Heroku and it will work.
- Uses Honeybadger.
- Uses slim for cleaner syntax over erb and better performance over haml.
- Uses ActiveAdmin.
- Uses Sidekiq.
- Intercepts all outgoing emails in non production environment using gem mail_interceptor.
- Uses SemaphoreCI for continuous testing.
- Uses PostgreSQL.
- Content compression via Rack::Deflater.
- Auto-formats Ruby code with rubocop.
- Auto-formats JavaScript and CSS code with prettier.
- Performs background job processing "inline" for heroku env. It means heroku can deliver emails.
- Letter opener gem for development.
Heroku Review is enabled on this application. It means when a PR is sent then Heroku automatically deploys an application for that branch.
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 Node.js.
