Source for theguardian.com
HTML JavaScript Scala CSS Shell Java
Latest commit 8549ebe Dec 3, 2016 @philwills philwills committed on GitHub Merge pull request #15205 from guardian/epic-mutual-exclusion
Stop multiple epics appearing when tags overlap
Permalink
Failed to load latest commit information.
.github Cut down PR template bloat Nov 23, 2016
admin-jobs Refactor port logic in healthcheck and tests Suite Oct 19, 2016
admin Removes extraneous dot Dec 1, 2016
applications Merge pull request #15181 from guardian/tbonnin-remove-Play.isDev-sca… Dec 1, 2016
archive remove omniture calls from static pages (#15117) Nov 28, 2016
article Twitter card metatag set to "summary_large_image" for any article (#1… Dec 2, 2016
commercial Merge branch 'master' into kc-gallery-onward Dec 2, 2016
common Merge pull request #15200 from guardian/observer-epic Dec 2, 2016
data Twitter card metatag set to "summary_large_image" for any article (#1… Dec 2, 2016
dev-build Remove Play.isProd in DevParametersHttpRequestHandler Dec 1, 2016
dev The static files also need to be uploaded to two locations Nov 30, 2016
diagnostics Remove cache from non-cacheable endpoint Nov 28, 2016
discussion Added centered-icon to comment icons Dec 2, 2016
docs Merge master Nov 28, 2016
facia-press Include section branding in pressed content Nov 11, 2016
facia Merge pull request #15160 from guardian/removes-isDev-from-templates Dec 1, 2016
git-hooks auto install deps when running make tasks that need them Nov 17, 2016
grunt-configs remove grunt px-to-rem/postcss Nov 23, 2016
identity Removes all instances of isDev from the scala templates Nov 29, 2016
integrated-tests unused styles and templates removed Oct 25, 2016
nginx Add proxy pass and referer for idapi Apr 19, 2016
onward Removes all instances of isDev from the scala templates Nov 29, 2016
preview Fix preview Nov 29, 2016
project Unify the deploy using Riff-Raff's the new riff-raff.yaml configuration Nov 29, 2016
router deploy.json: Set publicReadAcl to false and remove not needed parameters Sep 19, 2016
rss Fix compilation on admin Nov 29, 2016
sanity-tests/test Changed trait to sealed trait Jun 24, 2014
sport Fix facia, discussion, applications, sport and article Nov 29, 2016
standalone Merge pull request #15160 from guardian/removes-isDev-from-templates Dec 1, 2016
static-future Add initial README Oct 7, 2016
static Stop multiple epics appearing when tags overlap Dec 3, 2016
tools clarity Dec 1, 2016
training-preview Refactor port logic in healthcheck and tests Suite Oct 19, 2016
.babelrc update babel, add asaync await support for node Oct 26, 2016
.editorconfig Unify the deploy using Riff-Raff's the new riff-raff.yaml configuration Nov 29, 2016
.eslintrc use eslint directly Oct 26, 2016
.gitignore don’t ignore this now Nov 9, 2016
.nvmrc actaully let's go to 6 Jun 28, 2016
.sass-lint.yml sasslin: dont link icons, and use stylish output 👠 Nov 11, 2016
Dockerfile-dev Force pulling the docker image and make install at startup Aug 18, 2016
Gruntfile.js remove grunt frequency graph Nov 21, 2016
LICENSE Update license year range to 2016 Jan 18, 2016
README.md Fixed docs grammar Oct 31, 2016
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
dev.sh Silence ECR login command Aug 18, 2016
docker-compose.yml Add possibility to run container in watch mode and overwrite port map… Aug 18, 2016
docker-dev-startup.sh Force pulling the docker image and make install at startup Aug 18, 2016
grunt-tc Remove ruby teamcity tasks Mar 22, 2016
makefile use semver to check yarn version Dec 1, 2016
package.json use semver to check yarn version Dec 1, 2016
riff-raff.yaml Unify the deploy using Riff-Raff's the new riff-raff.yaml configuration Nov 29, 2016
sbt Remove more ruby/bundle references Mar 22, 2016
setup.sh Remove misleading setup.sh message Sep 7, 2016
webpack.config.js use path to create build output path Nov 28, 2016
yarn.lock use semver to check yarn version Dec 1, 2016

README.md

Gitter

We're hiring!

Ever thought about joining us?
http://developers.theguardian.com/join-the-team.html

Frontend

The Guardian website frontend.

Frontend is a set of Play Framework 2 Scala applications.

Frontend is built in two parts, using Grunt 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.