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
First clone this repo.
Then install the Node.js version v16.5 which we have specified inside the .node-version file of this repo.
nvm installMake sure that yarn is installed with it as well in your system.
After yarn is installed, install the Node.js and Rails dependencies and also seed the database, by running:
./bin/setupStart the server by executing following command.
bundle exec rails server -p 3000Visit http://localhost:3000 and login with email oliver@example.com and password welcome.
Using docker for development
Follow the instructions mentioned here to use docker for development.
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 -pi -w -e 's/Wheel/Pump/g;' $(git ls-files)
perl -pi -w -e 's/wheel/Pump/g;' $(git ls-files)Features
- 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
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
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.
