---
# System prepended metadata

title: "\U0001F4BB Final project :"

---


# 💻 Final project :	 

Your project is to build a web app. You must query at least two APIs and use the results to update the DOM.

What you choose to build and how you choose to display the data is entirely up to you!

<br/>

### 🔷 During the planning phase we suggest you spend time on:

- Exploring APIs you are interested in working with.
- Considering your user journey.
- Deciding what you need to build for your Minimum Viable Product (MVP) and splitting up the tasks.

<br/>


### 🎯 Choosing your APIs

See the list of public APIs [here](https://github.com/public-apis/public-apis).

You can choose to use other APIs if you prefer, but make sure to do your research and check that what you want to do with the API is possible before you start to code.

<br/>

### 📑 Things to check before you start :

- Are you able to use the API free ?
- Is a free API key available ?
- Is good documentation available ?
- Is there a high enough rate limit ?

<br/>

### 📝 Requirements

- Design: aim for a responsive, mobile-first design.
- Your app queries at least two APIs using the `fetch` method.
- Your app features some dynamic content.
- A clearly defined user journey, documented in your readme.
- A well-considered architecture for your app - think back to the workshops from the beginning of this week. Try to modularise your code, or break it down into separate files. Document any key decisions about how you structure your code in your readme!
- Code: break your JavaScript down into small functions with a clear input and output; this will make it more readable.

- Take appropriate measures when it comes to [concealing private information](https://gist.github.com/derzorngottes/3b57edc1f996dddcab25) (i.e. your API key!)

<br/>

### ☑️  Keep in mind

- If using a private API key, you won't be able to deploy to GitHub pages (if you're not using an API key, go for it!)
- Don't repeat yourself! Try to reuse and refactor bits of existing code where possible.
- Minimise DOM manipulation to keep your app efficient