npm run dev
Below is a small technical challenge which will be submitted to the BBC account development team.
We really value your time so please don't spend more than 3 hours on this task.
We prefer quality over quantity.
Submit your challenge with one or more well implemented features rather than rushing with partial implementations of them all.
Your application will also be used during the face to face interview when we'll ask you to add another feature. We don't like to surprise you with code you've not seen before.
The application is a recipe website. Your task is to implement one or more features from the list below. The features
folder contains the behavioural specifications of the
application to be built. Start by reading through these feature files, they should give you a sense of how the application will work.
Use the provided recipes.json
file as the source of your data.
All of the user requirements are in the features
folder. Here's a suggested list of the order in which you could look at them:
- Recipes list
- Display a single recipe page
- Filter recipes
- Star a recipe
- Pagination
Remember, you don't have to implement them all!
The role you're applying for is a full-stack JavaScript developer so we'd like to see the following:
- a
Node.js
server using any framework to serve your data - a simple user interface using either vanilla JavaScript or the framework of your choice
- a small README detailing anything we need to know.
We know this is not a production application. Assume in-memory solutions rather than relying on external data stores.
These features shouldn't be the focus of your implementation:
- authentication - assume there is 1 user and they can access their account
- database persistence - use the provided JSON data source for your recipes source and store everything else in memory
- styling - it doesn't have to look pretty
- complex tooling - if you want to use your standard tool set up then that's great, but don't spend hours setting up gulp/grunt/webpack configurations and scripts
- deployment - just make it run locally with minimal setup.
Thanks for taking the time to show your development experience by taking our technical challenge. We'd appreciate it if you could submit it as follows:
- Check your source code into a public GitHub, GitLab or BitBucket repository and email the repository location to the contact email provided; OR
- Create an archive (zip, tar) and send the archive via email.
Please make sure that your application is easy to run!