frontend Documentation

Scala library by @guardian focused on production. Includes documentation and AI agent context with 5.9k stars.

5,888 stars Scala Scala 1 file Β· ~22,810 tokens #production
RAW Doc

File: README.md

Frontend

The backend of the Guardian website frontend.

For everybody who engages with our journalism, theguardian.com is an industry-best news website that is fast, accessible and easy to use. Unlike other ways of developing products, ours puts the audience first.

Frontend is a set of Play Framework 2 Scala applications. It is built in two parts, using make for the client side asset build and SBT for the Play Framework backend.

Frontend's responsibility is to build JSON to pass to the modern rendering service, Dotcom Rendering.

Core Development Principles (lines in the sand)

These principles apply to all requests on www.theguardian.com and api.nextgen.guardianapps.co.uk (our Ajax URL)

  • Every request can be cached and has an appropriate Cache-Control header set.
  • Each request may only perform one I/O operation on the backend. (you cannot make two calls to the content API or any other 3rd party)
  • The average response time of any endpoint is less than 500ms.
  • Requests that take longer than two seconds will be terminated.

Documentation

All documentation notes and useful items can be found in the docs folder.

New developers

Welcome! How to set up and run frontend.

To get set up, please follow the installation guide.

Fixes for common problems can be found here.

Please read the development tips document to learn about more about development process.

For our deployment process, see how to deploy.


File: docs/README.md

Table Of Contents

(Do NOT edit manually. Generated automatically)

[Start here](01-start-here/)

[Architecture](02-architecture/)

[Dev howtos](03-dev-howtos/)

[Quality](04-quality/)

[Commercial](05-commercial/)

[Features and components](06-features-and-components/)

[Performance](07-performance/)

[Archives](99-archives/)


META: How to create a new documentation file

Documentation conventions

  • Find the correct subdirectory your new documentation file belongs to.
  • Every documentation file should be markdown (with .md extension).
  • First line of every documentation file should contain its title (used to generated the table of content).
  • Store all the images in an /images subfolder in the same directory the document referencing them will be.
  • Table of content (TOC) is generated automatically with every commit, all changes will be staged accordingly.