This is the main server and frontend for the transientBug.ninja bookmarking service.
General principles:
- Try to keep it simple, mkay?
- 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
- you'll need to make a password for redis
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
- Ruby on Rails 7
- Ruby 3.1.0
- GoodJob for ActiveJob
- Postgresql 14+
- Redis 6+ for cache and session stores
- TailwindCSS
- Stimulus & Turbo via rollup
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