Architecture

Software architecture principles for Friday engineers.

General concepts

Engineers at Friday need to have a basic understanding of these concepts: separation of concerns, single responsibility principle, don't repeat yourself (DRY), loose coupling, principle of least knowledge and high cohesion.

Patterns

Ruby engineers use the MVC architectural pattern to organise applications using Rails. Frontend engineers organise entities into loosely-coupled components.

Services

The design and development of our APIs rely heavily on the REST and SOA standards.

Scalability

We generally develop applications in a manner which allows them to easily scale horizontally.