This assessment measures your capability to implement advanced JavaScript tools and features in a practical manner. You have creative freedom in the topic, material, and purpose of the web application you will be developing, so have fun with it! However, remember to plan the scope of your project to the timeline you have been given.
- Use asynchronous JavaScript tools to build a responsive web application.
- Demonstrate understanding of the JavaScript event loop.
- Generate asynchronous code using Promises and async/await syntax.
- Use fetch and/or Axios to interact with an external web API.
- Organize files using modules and imports.
You will create a small single-page web application. The topic and content of this application is entirely up to you; be creative! You will need access to an external API in order to complete the requirements listed below.
The requirements listed here are absolute minimums. Ensure that your application meets these requirements before attempting to further expand your features. Create your application locally, and initialize a local git repo. Make frequent commits to the repo. When your application is complete, push your repo to GitHub and submit the link to the GitHub page using the submission instructions at the top of this document.
- Use the fetch API or Axios to communicate with an external web API. Use the data provided by this API to populate your application’s content and features.
- Create user interaction with the API through a search feature, paginated gallery, or similar. This feature should use GET requests to retrieve associated data.
- Make use of Promises and async/await syntax as appropriate.
- Organize your JavaScript code into at least three (3) different module files, and import functions and data across files as necessary.
- Ensure the program runs as expected, without any undesired behavior caused by misunderstanding of the JavaScript event loop (such as race conditions, API calls being handled out of order, etc.).
- Create an engaging user experience through the use of HTML and CSS.
- Ensure that the program runs without errors (comment out things that do not work, and explain your blockers - you can still receive partial credit).
- Commit frequently to the git repository.
- Include a README file that contains a description of your application.
- Level of effort displayed in creativity, presentation, and user experience.