Table of Contents
You have been given some data by the editorial department in the ./src/data
directory.
They need you to build an interactive project where users will select an Indian city and have their local air quality displayed in cigarettes and particulate matter.
How the users select their city is up to you: editorial have used dropdowns, buttons, maps, and keyword entry autocomplete text fields before. It's your choice.
The task must be served as all flat files so that the solution can scale in a serverless environment - e.g. we would put the HTML, CSS, and JS into S3 and serve statically
The task could use node, npm, webpack, babel etc to compile/transpile into the end project files for deployment. Whatever environment you are comfortable with, but no jquery, please. If you prefer, you can build a webpage by hand - it's up to you.
The project is going to go live in areas that do not have good broadband access, so please pay attention to file size and performance.
Some users may have older phones, so please ensure your code works on IE11 and up.
Must have:
- Ability for users to choose a city and see air quality in the form of cigarettes and particulate matter (PM2.5)
- all text fields from the data json file displaying in a logical manner
- All production files output into a
./dist
folder ready for making live.
Nice to have:
- A version in hindi (data also supplied in separate JSON file)
- Test cases for your code.
Ideally, we're looking for a logical approach to the work, some creativity, beautiful code and a nice output, but we are not expecting a finished product by a long chalk.
Don't spend too long on it. Try and cap it at 4 hours.
This really is an opportunity for us to see how you think, how you organise yourself, how you express yourself. Have fun!
If you have any issues with this assessment or require some clarification then please email your contact at the BBC.
Please send your code together with a Readme file explaining how to install/run the project and any other notes as a Zip file or a GitHub repository. Please also confirm that we have received the test (it may get blocked by spam filters).
This section should list any major frameworks that you built your project using. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
- Get to https://github.com/jeff-ofobrukweta/bbc-nobandwidth
- Clone the repo
git clone https://github.com/jeff-ofobrukweta/bbc-nobandwidth
- Install NPM packages
npm install
- Run unit test
npm run test:unit
- Run lint
npm run lint
- get the dist production build
npm run build
- Get to https://github.com/jeff-ofobrukweta/bbc-nobandwidth
- Clone the repo
git clone https://github.com/jeff-ofobrukweta/bbc-nobandwidth
- Install NPM packages
yarn install
- Run unit test
yarn run test:unit
- Run lint
yarn run lint
- get the dist production build
yarn run build
To Get the Flat run command below:
production build
npm run build
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Jefferson . Ofobrukweta . O - @https://www.linkedin.com/in/ofobrukweta-jeff-207506136/ - oghenerukevwejeff@gmail.com
Project Link: https://github.com/jeff-ofobrukweta/bbc-nobandwidth