Technical Features
- Solo developer
-
Ruby on Rails 8
- config via environment variables
- Component framework: ViewComponent
-
React
- State: Tanstack Store
- useEffect (for API calls)
- Typescript, including compiler config
- PostgreSQL
- REST API
- JSON payloads
- Backend producer (Rails, JBuilder)
- Frontend consumer (Axios, React)
- Payment processor integration: Stripe (Checkout)
- UI styling
- Bulma (CSS framework)
- Material Design Icons
- Web fonts
-
Authentication: Rodauth
- Account creation
- Email verification
- Password reset
- Frontend bundler: Vite (vite_rails / vite_ruby); asset pipeline: Propshaft
- Credential/secret management (via Rails)
- Async jobs: Active Job; admin UI (mission_control)
- Email: sending via SMTP using remote service provider (Action Mailer)
- Testing
- rspec, FactoryBot, DatabaseCleaner (backend)
- Jest, React Testing Library (frontend)
- Linting: ESLint
- Source control: git
- DevOps
-
CI/CD to production (git post-receive hook)
- git fetch and fast-forward
- Update packages (bundle install (Ruby); npm install)
- Migrate DB (Rails)
- Run test suites (backend and frontend)
- Lint code
- Compile assets (JS, CSS, images, etc.)
- Restart daemons (Rails)
- nginx: proxy to Rails
- SSL cert / https (Let's Encrypt, certbot)
- Domain management, DNS records
- Monitoring
- DataDog (DogStatsD): metrics and event tracking
- Honeybadger: error tracking, uptime monitoring, status page
-
React feature demo