Source for theguardian.com
HTML Scala JavaScript CSS Shell Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Merge pull request #20167 from guardian/more-comdev-ownership Aug 13, 2018
.prbuilds Configure prbuilds for lighthouse Feb 7, 2018
__mocks__ convert breaking news tests Jun 27, 2017
admin uses conf, adds ajax service id in cdn purge (#20099) Jul 31, 2018
applications Merge pull request #20154 from guardian/add-podcast-link Aug 15, 2018
archive remove timed page renderer Apr 9, 2018
article article email endpoints Aug 9, 2018
bin Merge branch 'master' of https://github.com/guardian/frontend into jd… Dec 11, 2017
commercial upgrade amp-mustache Aug 10, 2018
common Merge pull request #20154 from guardian/add-podcast-link Aug 15, 2018
data update amp validator js Aug 10, 2018
dev-build article email endpoints Aug 9, 2018
dev fix flow server issues on teamcity by forcing restart Jul 2, 2018
diagnostics prevent the logback appender from blocking the thread making the log Feb 5, 2018
discussion Remove isSocial from Discussion Profile model May 14, 2018
docs update readme Aug 14, 2018
facia-press fix imports Jul 10, 2018
facia use row__fc padding on all guardian today emails so they display nice… Aug 14, 2018
git-hooks fix toc generation Jun 11, 2018
identity Ignore extraneous whitespace in postcodes (#20175) Aug 14, 2018
nginx Fix spelling Apr 6, 2018
onward Revert "Show error when submitting feedback fails" Jul 31, 2018
preview article email endpoints Aug 9, 2018
project Update newsletters Aug 6, 2018
prout prout should report the correct kibana dashboard, not the old one Jun 25, 2018
rss prevent the logback appender from blocking the thread making the log Feb 5, 2018
sanity-tests/test Changed trait to sealed trait Jun 24, 2014
sport Remove world cup special handling Aug 15, 2018
static Added safeguard for reading of Prebid Xaxis buyer ID Aug 15, 2018
tools Added safeframe.js as a static asset Jun 28, 2018
.babelrc remove karma test config Apr 4, 2018
.editorconfig scala 2.12 upgrade Nov 10, 2017
.eslintignore remove javascript-legacy Nov 24, 2017
.eslintrc.js Fix outstanding problems Oct 23, 2017
.flowconfig Add config for Flow Strict and start using it in Commercial modules Aug 4, 2018
.gitignore Targeting by series works in unit test Mar 12, 2018
.nvmrc node 8.5 Sep 13, 2017
.prout.json Remove trailing comma in .prout.json Jun 13, 2017
.sass-lint.yml fix lint Mar 2, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 4, 2018
LICENSE Update license year range to 2016 Jan 18, 2016
README.md Update link to application architecture Jul 27, 2018
build.sbt Remove identity-request Jun 6, 2018
cla-corporate.txt Add Contributor License Agreements to the project Apr 19, 2013
cla-individual.txt Add Contributor License Agreements to the project Apr 19, 2013
disallowed-strings.js Add linter for disallowed strings (#17980) Oct 17, 2017
makefile set NODE_ENV to production Apr 3, 2018
package.json New version of prebid with sonobi render parameter passing Aug 15, 2018
riff-raff.yaml Revert "Introduce tag service (replacing rss)" Jan 22, 2018
sbt Merge branch 'master' of https://github.com/guardian/frontend into jd… Dec 12, 2017
scalastyle-config.xml Change scalastyle missing return type for public method check to erro… Sep 20, 2017
setup.sh consolidate nvm installation Apr 5, 2018
values.md First draft of values and behaviours Aug 2, 2018
variables Convert magic numbers into variables Jun 12, 2017
webpack.config.atoms.js Improve atoms bootstrap modules compilation Oct 20, 2017
webpack.config.dev.js fix webpack js reload Apr 26, 2018
webpack.config.js dont provide react to every module Jun 27, 2018
webpack.config.prod.js fix webpack js reload Apr 26, 2018
yarn.lock New version of prebid with sonobi render parameter passing Aug 15, 2018

README.md

Known Vulnerabilities

We're hiring!

Ever thought about joining us? https://workforus.theguardian.com/careers/digital-development/

Frontend

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.

Documentation

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

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)

On the server

  • 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.

New developers

Welcome! The best place to start is here

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.

Deploying

Follow the steps described in the How to deploy document.