Giter Club home page Giter Club logo

front-end-exercise's Introduction

Front-End Coding Test

๐Ÿ‘‹ Welcome to The Telegraph front-end candidate test

๐Ÿ”ง Task

We would like you to build a responsive commenting component as per the included designs. You should meet the ACs.

Some basic front-end tooling (webpack for JavaScript compilation and PostCSS for CSS concatenation) has been provided.

Your code should work in modern browsers such as Chrome, Firefox and Edge. Do not worry about supporting IE11 or below.

You should spend around one and a half hours on this task. If you do not complete the task in time please submit with a list of what you would have done with more time. Feel free to be specific and write // TODOs throughout your code.

๐Ÿ“ฃ Requirements

  • Match the designs as closely as possible, filling in any gaps as you deem fit
  • Application should be fully responsive
  • Pass the ACs
  • Ensure code is unit tested. We've set this up with Jest but feel free to use whatever you like
  • Comments should be called once the DOM is ready via this endpoint. This call should be made client-side and injected with JavaScript.
  • Keep your JavaScript vanilla please ๐Ÿฆ

๐Ÿ”Ž What we are looking for

  • An understanding of web fundamentals
  • A consistent and scalable approach to the test
  • An understanding of accessibility
  • Reasoning about SEO
  • Solid unit testing
  • Ability to translate designs into code

๐Ÿ“‚ Data

https://my-json-server.typicode.com/telegraph/frontend-exercise/comments

๐ŸŽจ Designs

  • There are exported design files in the design directory in the root of the project.

๐Ÿ’พ Set up

Firstly, install all of the packages:

npm install

Then run the watcher:

npm run dev

Visit http://localhost:3000/ in your web browser and you should see a blank webpage with The Telegraph logo and a 'Hello World' message.

The above command will watch and deploy your code. The watchers for CSS and JS files will not take into account changes to new files so make sure you restart the watchers when adding new files. The CSS watcher will only look for changes inside a directory which sits within the src/css directory (e.g. src/css/elements).

๐Ÿ“œ Acceptance criteria

Scenario: Show comments
	Given that I access the homepage
	Then the home page should return comments
	And each comment should show the username
	And each comment should show the comment body
	And each comment should show the like count
Scenario: Order comments by likes
	Given that I click the Likes button in the comments area
	Then then the comments should display in order of most likes
	And the comments should show most liked first

๐Ÿ“ฌ Submitting your code

๐Ÿšซ Please don't fork this repository as the links will be accessible to other candidates.

โœ”๏ธ Please clone it into your own repo and send us a link.

โœ”๏ธ We should be able to build and run your application locally.

โœ”๏ธ Please also feedback on how you found the test - what did you like/not like about it?

โœ”๏ธ Feel free to send us any other additional notes. E.g. what you would have done with more time.

front-end-exercise's People

Contributors

chrisboakes avatar miteshsevani avatar smk131314 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.