Skip to content

bullet-train-co/bullet_train

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,455 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bullet Train Application Template

If you're new to Bullet Train, start with the Bullet Train Developer Documentation and the Getting Started guide. You should also join the community Discord server!

Prerequisites

On macOS

If you haven't already, install Homebrew. We'll use it later to automatically install other dependencies, including:

  • rbenv and ruby-build for Ruby version management
  • nvm and Yarn for Node version and package management
  • PostgreSQL as a relational database
  • Redis for Action Cable WebSockets and background job queues

Building a New Application with Bullet Train

If you're building a new application with Bullet Train, you don't want to "Fork" the template repository on GitHub. Instead, you should:

  1. Clone the template repository:

    git clone https://github.com/bullet-train-co/bullet_train.git your_new_project_name
    
  2. Enter the project directory:

    cd your_new_project_name
    
  3. If you're on macOS, you can use Homebrew to install all dependencies:

    brew bundle
    

    Unfortunately when you install dependencies this way, Homebrew suppresses the additional set up instructions, so we've included those below.

    Additional nvm configuration

    If Homebrew is installing nvm for the first time, there are some additional steps you need to take:

    mkdir ~/.nvm
    touch ~/.zshrc
    open ~/.zshrc
    

    When the editor opens, paste the following into ~/.zshrc and save:

    export NVM_DIR="$HOME/.nvm"
    [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
    [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
    

    Additional rbenv configuration

    If Homebrew is installing rbenv for the first time, there are some additional steps you need to take:

    rbenv init
    rbenv install `cat .ruby-version`
    

    ⚠️ You'll need to open a new shell before continuing. The easiest way to do this on macOS is hitting + T to open a new tab in the same working directory.

    Additional PostgreSQL configuration

    If Homebrew is installing PostgreSQL for the first time, there are some additional steps you need to take:

    brew services start postgresql@14
    

    Additional Redis configuration

    If Homebrew is installing Redis for the first time, there are some additional steps you need to take:

    brew services start redis
    
  4. Make sure Node.js is properly configured:

    source ~/.zshrc
    nvm install
    corepack enable
    

    ⚠️ You'll need to open a new shell before continuing. The easiest way to do this on macOS is hitting + T to open a new tab in the same working directory.

  5. Run the configuration and setup scripts:

    bundle install
    bin/configure
    bin/setup
    
  6. Boot your application:

    bin/dev
    
  7. Visit http://localhost:3000.



Open-source development sponsored by:



Provisioning a Production Environment

You can use this public repository to provision a new application and then push your private application code there later.

Render

Deploy to Render

Clicking this button will take you to the first step of a process that, when completed, will provision production-grade infrastructure for your Bullet Train application which will cost about $30/month.

Heroku

Deploy to Heroku

Clicking this button will take you to the first step of a process that, when completed, will provision production-grade infrastructure and services for your Bullet Train application which will cost about $140/month.

Once that process has completed, be sure to complete the other steps from the Deploying to Heroku documentation.

Contribute to Bullet Train

If you're looking contribute to Bullet Train, you should "Fork" this template repository on GitHub, like so:

  1. Visit https://github.com/bullet-train-co/bullet_train.

  2. Click "Fork" in the top-right corner.

  3. Select the account where you want to fork the repository.

  4. Click the "Code" button on the new repository and copy the SSH path.

  5. Clone your forked repository using the SSH path you copied, like so:

    git clone git@github.com:your-account/bullet_train.git
    cd bullet_train
    
  6. Run the setup script:

    bin/setup
    
  7. Start the application:

    bin/dev
    

    [!NOTE] Optional: If you have ngrok installed, uncomment ngrok: ngrok http 3000 from Procfile.dev and run bin/set-ngrok-url to set BASE_URL to a publically accessible domain. Run bin/set-ngrok-url after restarting ngrok to update BASE_URL to the current public url.

  8. Visit http://localhost:3000.


This README.md file will be replaced with README.example.md after running bin/configure.

About

The Open Source Ruby on Rails SaaS Template

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors