Intended Challenge for SW Dev Application Finalists (2023)
A popular and frustrating 'gotcha' question in job interviews is "Who is your personal hero, and why?"
We would like to spin this awful question on its head: Using the tools provided, you will need to supply a little, low-syntax Python, JavaScript, HTML, CSS, and JSON to generate a fan page to a noun (person, place, or thing) that you draw inspiration from. This could be your hero, but we're not looking to judge you on taste. Please avoid providing a platform for overt bigots, sexual predators, mass-murderers, and NSFW content.
- A Free Personal Github Account
- Install:
- Clone this repository
git clone https://github.com/Ecotrust/hero_challenge_public.git
- Create your conda/python environment
cd hero_challengeconda env create -f environment.ymlconda activate hero- More info
- Install additional requirements:
- Be sure to have activated your
heroenvironment:(hero)should precede your command prompt- If not, do not proceed, but review step 2 carefully
pip install -r requirements.txt
- Be sure to have activated your
- Run Jupyter Notebook
jupyter notebook- This command will open Jupyter Notebook in your default browser automatically.
- Your terminal will now be tied up running the Jupyter server.
- If you need to quit, use the 'quit' button in the running web page.
- If you need to quit and already closed the webpage, use ctrl+d (or Mac equivalent)
- Open the file "My Hero.ipynb" under the 'Files' tab
- Follow the provided instructions filling out the blanks
- Ensure that your solution fulfills the project specs (below)
- Result includes necessary HTML, JS, and CSS to:
- Display a webpage without errors in Chrome, FireFox, Edge, and Safari
- The webpage includes a map element with properly projected geo information
- Both the webpage and the map include custom styling
- The webpage focuses on a consistent topic
- The files for this webpage are generated by modifying the Jupyter notebook
provided, and utilize the included tools:
- The Python MediaWiki API
- OpenLayers
- The code is delivered via committing your work and any resulting generated files to the provided private GitHub repository.
- While we love the spirit of creativity, the project is not to include alternative frameworks (NodeJS, Vue, React, etc...). Not even jQuery or Bootstrap.
- We encourage all participants to limit their work to 4 hours or less - We know more time means more flashy, exciting, even sexy results, but we wish to recognize that not all participants have the privilege to commit that much time in just 1 week, and that they'd otherwise be at a disadvantage.
You will be graded on more than just meeting specs, and we will not share specifics other than:
- We expect to see good coding conventions (these apply to all languages)
- We shared in the info session and FAQ the hint:
Commit early. Commit often.