This is a Rails boilerplate use rails 7.2
This project requires:
- Ruby (see .ruby-version), preferably managed using rbenv or asdf
- Node 20.9.0
- Yarn 1.x (classic)
- PostgreSQL must be installed and accepting connections
On macOS, these Homebrew packages are recommended:
brew install rbenv
brew install node 20.9.0
brew install yarn
brew install postgresql@16
brew install redis
To setup a development environment (MacOS):
Clone the repo:
git clone [email protected]:GoldenOwlAsia/rails-view-template.git
Install Ruby:
This project currently uses Ruby 3.3.0, which is most easily managed through a version manager like asdf, rbenv
Install Nodejs:
This project user Node 20.9.0, which is most easily managed through a version manager like asdf, rvm
Install Ruby gems:
-
install bundle version 2.5.4 (or similar if you are using an older version on your development)
gem install bundler -v 2.5.4
-
bundle
bundle install
Install Yarn.
npm install -g yarn
Install Javascript Packages: Install packages:
yarn
Set the RACK_ENV (optional):
Later steps expect a RACK_ENV
environment variable, so define one (usually 'development'.) This can be done by exporting a value in your shell config (by adding something like export RACK_ENV=development
to your shell configuration file - .bashrc
, etc)
Personalise the app settings:
- Copy
config/database.yml.sample
toconfig/database.yml
and customise the values as needed. - Copy
.env.sample
to.env
and customise the values as needed.
Run server:
- rails server:
rails s
- sidekiq
bundle exec sidekiq
- Vite
vite dev
- Using gem:
rails-mermaid_erd
- Its auto generate when runrails db:migrate
- Can see ERD at
http://localhost:3000/erd
- DaisyUI: https://daisyui.com/components/
- For icons: lucide icon packages: https://lucide.dev/icons/
-
Run test by:
bundle exec rspec
-
Check test coverage at
coverage/index.html
-
ESLint check:
yarn lint
-
ESLint check & auto fix:
yarn lint:fix
-
Use lefthook gem: https://github.com/evilmartians/lefthook
bundle exec lefthook install
-
Use git-cliff: install with brew
brew install git-cliff
or
git cliff --bump
-
create version with git-cliff:
git cliff --tag 1.0.0 --output CHANGELOG.md
-
example:
git tag -a 1.0.0 -m "Release version 1.0.0"
- Can use github CLI to generate in local or create new release in github and copy changes logs from file
CHANGELOG.md
- Can use github CLI to generate in local or create new release in github and copy changes logs from file
-
To generate the directory structure in YAML format, run the following command:
rake docs:generate_yaml
-
If you have not installed the tree command, you can install it by running:
brew install tree
---
|
.
├── CHANGELOG.md
├── DEPLOYMENT.md
├── Dockerfile
├── Gemfile
├── Gemfile.lock
├── Procfile
├── README.md
├── Rakefile
├── app
│ ├── channels
│ ├── controllers
│ ├── frontend
│ ├── helpers
│ ├── models
│ ├── policies
│ ├── queries
│ ├── services
│ ├── structure.txt
│ └── views
├── bin
│ ├── brakeman
│ ├── bundle
│ ├── bundle-audit
│ ├── bundler-audit
│ ├── dev
│ ├── docker-entrypoint
│ ├── rails
│ ├── rake
│ ├── rspec
│ ├── rubocop
│ ├── setup
│ └── vite
├── cliff.toml
├── commitlint.config.js
├── config
│ ├── application.rb
│ ├── boot.rb
│ ├── cable.yml
│ ├── credentials.yml.enc
│ ├── database.yml
│ ├── database.yml.sample
│ ├── environment.rb
│ ├── environments
│ ├── i18n-tasks.yml
│ ├── initializers
│ ├── locales
│ ├── master.key
│ ├── mermaid_erd.yml
│ ├── puma.rb
│ ├── routes.rb
│ ├── sidekiq.yml
│ ├── storage.rb
│ ├── storage.yml
│ └── vite.json
├── config.ru
├── coverage
│ ├── assets
│ └── index.html
├── db
│ ├── migrate
│ ├── schema.rb
│ ├── seeds
│ └── seeds.rb
├── docs
│ └── erd.html
├── eslint.config.js
├── lefthook.yml
├── lib
│ ├── assets
│ ├── tasks
│ └── templates
├── package.json
├── postcss.config.cjs
├── spec
│ ├── cassettes
│ ├── factories
│ ├── fixtures
│ ├── helpers
│ ├── i18n_spec.rb
│ ├── mailers
│ ├── models
│ ├── queries
│ ├── rails_helper.rb
│ ├── spec_helper.rb
│ ├── supports
│ └── views
├── tailwind.config.js
├── vite.config.ts
└── yarn.lock