Skip to content
/ shore Public

Modern Ruby on Rails template to start every new project. Skip the boilerplate and focus on what's unique to your project.

Notifications You must be signed in to change notification settings

yatish27/shore

Repository files navigation

Shore

Build Status License

Introduction

Shore is a Ruby on Rails template with modern stack to start your new project.

Features

  • Ruby: Ruby 3.4.2
  • Rails: Rails 8
  • PostgreSQL: PostgresSQL 17
  • Tailwind CSS: Uses Tailwind CSS v4 for styling.
  • Vite Ruby: Uses Vite Ruby for asset management. It is based on Vite.js. It replaces webpacker, jsbundling-rails, cssbundling-rails, importmaps and sprockets/propshaft.
  • Node/npm: Uses Node and npm.
  • Solid Queue: Uses Solid Queue for background processing.
  • Minitest/FactoryBot: Uses Rails' default testing library, minitest along with Factorybot.
  • Rubocop: Auto-formats Ruby code with rubocop.
  • Prettier: Auto-formats JavaScript and CSS code with prettier.
  • Github Actions: Uses Github Actions for continuous integration and deployment.
  • Deployment: Supports deployment on Heroku and Render

Getting Started

System Requirements

You will need the following to run the application.

Refer here to install these dependencies

Initial setup

  • Shore is a preconfigured base Ruby on Rails application. You can clone this repository and add it to your repo.

    git clone git@github.com:yatish27/shore.git your_new_project_name
    cd your_new_project_name
  • The application's default name is Shore. You can rename it to your desired new name. The name should be in camelcase.

    ./bin/rename_project YourNewProjectName
  • Copy the env.sample to .env

    • The default username and password for database is set to postgres and postgres. You can override them in .env file.
  • Run bin/setup to set up the application. It prepares the database and installs the required ruby gems and javascript packages. The script is idempotent, so you can run it multiple times.

    ./bin/setup

Running the application

Start your application

./bin/dev

This runs overmind or foreman using the Procfile.dev. It starts the rails server, solid queue background job process and vite server.

Visit http://localhost:3000 to see the home page 🚀.

Deployment

  • Heroku
  • Render

Testing

Running all tests

./bin/rails test:all

Running a single test

./bin/rails test test/jobs/hello_world_job_test.rb

License

Shore is released under the MIT License.

Contributing

PRs are welcome

About

Modern Ruby on Rails template to start every new project. Skip the boilerplate and focus on what's unique to your project.

Topics

Resources

Stars

Watchers

Forks