Number Two is a companion app I made for my Twitch channel. I liked it enough that I thought, "Why not make it available for others?"
This is an personal education project. The goal is to explore aspects of "Vanilla Rails". Trying to do things The Rails Way™. Thus there is a focus on using the Rails built-in tools, such as:
- Minitest
- ERB
- ActionCable
- StimulusJS
- HOTwire (not yet a part of Rails, but...)
Also, because this is an education project, please make suggestions! Feedback is very welcome, but please keep the above goals in mind.
- [] On-screen chat overlay.
- [] On-screen
!askoverlay.- Anyone in chat can use the
!askcommand to put a question onto the presenter's dashboard, where the presenter can "Promote" the question onto screen, "Delete" the question, etc.
- Anyone in chat can use the
- [] On-screen
!todooverlay.- Channel owners and moderators can use the
!todocommand to put a task onto the presenter's dashboard, where the presenter can "Promote" the task onto screen, "Delete" the task, etc.
- Channel owners and moderators can use the
There are two recommended ways to get started developing.
The most native-like solution is using
Remote Containers
/ Dev Containers. This solution will allow you to use rails commands
similar to most guides and tutorials.
After opening the project in Visual Studio Code (with the extension installed) you will be prompted to "Reopen in Container". This will build the containers and start the ansilary services. To bring up the web server, run:
rails sThis should start the server listening on port 3000 of localhost.
docker-compose offers a low configuration option. There are a few commands
before starting the server:
docker-compose run --rm web yarn install --check-filesdocker-compose run --rm web rails db:setup db:test:prepare
Once those are done, you can launch the server with:
docker-compose upThis should start the server listening on port 3000 of localhost.
Know that all rails and yarn commands should be prefixed with
docker-compose run --rm web. As an example, to see the Rails console:
docker-compose run --rm web rails cTesting is provided my Minitest, so to run tests use the Rails built in:
rails test| Tool | Use | Version |
|---|---|---|
| Ruby | Dynamic programming lang | 2.7.2 |
| Rails | Web App Framework for Ruby | 6.1.2 |
| Postgres | Relational Database | 9 |
| NES.css | Retro CSS Framework | |
| Hotwire | HTML Over The wire for DOM manipulation | |
| Docker | Containerized deployment env |