|
2 | 2 |
|
3 | 3 | [](https://github.com/joyofrails/joyofrails.com/actions)
|
4 | 4 | [](https://github.com/joyofrails/joyofrails.com/actions)
|
5 |
| -[](https://codecov.io/gh/joyofrails/joyofrails.com) |
6 | 5 |
|
7 | 6 | A place to learn and celebrate the joy of using Ruby on Rails
|
8 | 7 |
|
9 |
| -https://www.joyofrails.com |
| 8 | +https://joyofrails.com |
| 9 | + |
| 10 | +Made with joy by @rossta |
10 | 11 |
|
11 | 12 | ## Overview
|
12 | 13 |
|
13 | 14 | Building a Rails application to help people learn more about building Rails applications.
|
14 | 15 |
|
15 |
| -- One Person Framework: Rails provides all one person needs to build a robust frontend experience with [Hotwire](https://hotwired.dev/). |
16 |
| -- Minimal moving pieces: Prefer SQLite as a database. Single server hosting. |
17 |
| -- Vanilla Rails: Rely on Rails conventions. Avoid needless abstractions. Introduce gems judiciously (or for educational value). |
| 16 | +- Rails 8 with Active Record, [Solid Queue](https://github.com/rails/solid_queue), [Solid Cache](https://github.com/rails/solid_cache), and [Solid Cable](https://github.com/rails/solid_cable) |
| 17 | +- [SQLite](https://sqlite.org/) as a database |
| 18 | +- [Hotwire](https://hotwired.dev/) for interactivity |
| 19 | +- Asset pipeline with [Vite](https://vite.dev/), via [Vite Ruby](https://vite-ruby.netlify.app/), and [Propshaft](https://github.com/rails/propshaft) |
| 20 | +- Markdown, ERb, and [Phlex](https://www.phlex.fun/) for HTML |
18 | 21 |
|
19 | 22 | ## Development
|
20 | 23 |
|
21 | 24 | ### Requirements
|
22 | 25 |
|
23 |
| -- Ruby, see `.ruby-version` |
24 |
| - |
25 |
| - Use a Ruby version manager to install and manage Ruby versions, such as |
26 |
| - |
27 |
| - - [chruby](https://github.com/postmodern/chruby) |
28 |
| - - [asdf](https://asdf-vm.com/) |
29 |
| - - [rvm](https://rvm.io/) |
30 |
| - - [rbenv](https://github.com/rbenv/rbenv) |
31 |
| - |
32 |
| - To use YJIT, Rust must first be installed and be found on `PATH`: |
33 |
| - |
34 |
| - 1. See https://www.rust-lang.org/tools/install for instructions on installing Rust |
35 |
| - 2. Then install the correct version of Ruby using preferred version manager: |
36 |
| - |
37 |
| -- [Node](https://nodejs.org/en/), see `.node-version`, `brew install node` or use NVM |
38 |
| -- A process manager for Procfile-based applications, either |
39 |
| - |
40 |
| - - [foreman](https://github.com/ddollar/foreman) - installs automatically, unless using |
41 |
| - - [overmind](https://github.com/DarthSim/overmind) |
| 26 | +- [Ruby](https://www.ruby-lang.org/en/), see `.ruby-version` |
| 27 | +- [Node](https://nodejs.org/en/), see `.node-version` |
42 | 28 |
|
43 | 29 | ### Setup
|
44 | 30 |
|
45 |
| -Run the installation script to get the application set up. It is intended to be idempotent and can be run multiple times: |
| 31 | +Run setup script to install dependencies and initialize the database. |
46 | 32 |
|
47 | 33 | ```
|
48 | 34 | bin/setup
|
@@ -70,12 +56,24 @@ Run Jest tests
|
70 | 56 | npm run test
|
71 | 57 | ```
|
72 | 58 |
|
| 59 | +Linting |
| 60 | + |
| 61 | +``` |
| 62 | +bin/lint |
| 63 | +``` |
| 64 | + |
73 | 65 | Run the following to run all tests
|
74 | 66 |
|
75 | 67 | ```
|
76 | 68 | bin/verify
|
77 | 69 | ```
|
78 | 70 |
|
| 71 | +## Docs |
| 72 | + |
| 73 | +- [CONTRIBUTING.md](./docs/CONTRIBUTING.md) |
| 74 | +- [SECURITY.md](./docs/SECURITY.md) |
| 75 | +- [CODE_OF_CONDUCT.md](./docs/CODE_OF_CONDUCT.md) |
| 76 | + |
79 | 77 | ## License
|
80 | 78 |
|
81 | 79 | Copyright 2024 Ross Kaffenberger under the [BSD 3 Clause License](https://opensource.org/license/bsd-3-clause).
|
0 commit comments