Skip to content

transientBug/transientbug-rails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

transientBug Rails Project

This is the main server and frontend for the transientBug.ninja bookmarking service.

Build

Setup

General principles:

  • Try to keep it simple, mkay?

Stack:

  • Fly.io for deployments, see the Devops repo for additional infastructure resources and tooling.
  • Setup a redis server using cd redis && fly deploy
    • you'll need to make a password for redis fly secrets set REDIS_PASSWORD=mypassword
  • fly secrets set REDIS_URL=redis://default:[email protected]:6379/0
  • fly secrets set RAILS_MASTER_KEY=(cat config/master.key)
  • fly deploy --build-secret RAILS_MASTER_KEY=(cat config/master.key)
  • flyctl proxy 15432:5432 -a transientbug-rails-db

Backend:

  • Ruby on Rails 7
    • Ruby 3.1.0
    • GoodJob for ActiveJob
  • Postgresql 14+
  • Redis 6+ for cache and session stores

Frontend

  • TailwindCSS
  • Stimulus & Turbo via rollup

Testing

Chrome headless is being setup for the capybara tests, you should install it with something like

brew install chromedriver

Or look into using a helper.

Basics:

  • RSpec is used for tests (eventually, they're a work in progress) deal with it
  • Capybara specs run with chrome-headless
  • GitHub Actions CI runs specs, yard documentation and rubocop