Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 1.54 KB

README.md

File metadata and controls

43 lines (36 loc) · 1.54 KB

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