Taming your Ruby on Rails site
Over the years we’ve helped many clients bring their unruly Rails web apps back under control.
We can work alongside your existing developer, or take over responsibility for a codebase and provide ongoing development and maintenance.
To give you a flavour of the kind of services we offer, first imagine if you will the most nightmarish mess of a Rails project…
- The git history is a mess (or maybe it’s not even under revision control - eek).
- The data model is a mess with redundant and over-complicated and tangled webs of relationships.
- The code is a mess, in terms of formatting, redundant code and over-complicated levels of indirection
- Every time you want to get a new developer to work on the code, they lose a day getting set up
- The automated tests have not been maintained for months, because of multiple failures that nobody has time to fix (or perhaps you never had automated tests. Say no more.)
- Nobody ever ran the automated tests anyway, because it didn’t happen automatically
- Things are baked into code that should be configuration. Or worse, the live deployment has dirty local changes.
- Gems are outdated and it’s not clear what can possibly be upgraded in what order.
We like nothing better than to sink our teeth into a situation like this and start whipping things into shape. At the end of the process, you’ll have:
- A clearly established set of guidelines for revision control and a branching model that everyone can work with
- A cleaner, clearer database model
- Refactored code with sensible naming conventions and human readable comments
- A 2 minute on-boarding process for new developers using containerised development environments and a private registry
- Updated, passing, useful test coverage
- Pipelines that run code analysis and tests when code is pushed
- A sensible configuration set up with environment variables used appropriately in an easy to configure way, and in a way that stays out of the way of new developers
- Quality seed data and demo data for new developers to work with
- Up to date gems, or a road-map for next upgrade steps.