# Preparation

* [NodeJS Web API with KNEX and Express](https://www.youtube.com/watch?v=QNw9q4YXR4E) (15 min)
* <https://fullstackopen.com/en/part3/node_js_and_express#rest> up until the `The Visual Studio Code REST client` section (15 min)
* REST principles in API design <https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/>
* Familiarise yourself with the [Knex Cheatsheet](https://devhints.io/knex) (especially Select, Scheme and Modifying sections)
* <https://jsonplaceholder.typicode.com/> - Free API for testing and prototyping. (5 min)
* Read an overview of REST API design principles, focusing on resources, routes, and HTTP methods. For example: <https://medium.com/extend/what-is-rest-a-simple-explanation-for-beginners-part-1-introduction-b4a072f8740f> (10–15 min)
* Skim a short OpenAPI/Swagger introduction so you recognise the main parts of a spec. For example: <https://swagger.io/docs/specification/basic-structure/> (10–15 min)
* Read about input validation patterns in Express (you do not need to use a specific library, just understand the concepts). For example: <https://express-validator.github.io/docs/> (10–15 min)
* Read about SQL injection and why parameterised queries are important. For example: <https://owasp.org/www-community/attacks/SQL_Injection> (10–15 min)
