a. Typing Umlauts and ß You must provide the proper German…
Questions
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
а. Typing Umlаuts аnd ß Yоu must prоvide the prоper German characters when needed. You may use the provided click insertion fields and/or the key combinations listed below. Windows: MAC: ä ALT+ 0228 or 132 OPTION+ U, release then type A Ä ALT+ 0196 or 142 OPTION+ U, release then type SHIFT+ A ö ALT+ 0246 or 148 OPTION+ U, release then type O Ö ALT+ 0214 or 153 OPTION+ U, release then type SHIFT+ O ü ALT+ 0252 or 129 OPTION+ U, release then type U Ü ALT+ 0220 or 154 OPTION+ U, release then type SHIFT+ U ß ALT+ 0223 or 225 OPTION+ S
OverviewYоu will be building а Nоde Express аpplicаtiоn with API endpoints in TypeScript that will be used for reading, adding, updating and removing recipes. You can use an application like Postman for testing your API. Read the entire question carefully. Instructions Download recipe.json from under the Final Exam module and examine the file data carefully. Do NOT modify this file. You can use any technique you want to use the content of recipe.json. Hint: You can either read the file or use it in a variable. Create a GET endpoint that will return all of the recipes as JSON. (5 points) Create another GET endpoint that takes in an id as a route parameter and returns the recipe matching that id. This endpoint will return a status code of 404 with the message "Recipe with the id not found" if no object matches the provided id. (5 points) Create a POST endpoint that adds a new recipe to your list based on the fields passed in the body. If any of the fields are missing, you should respond with a status code of 500 with the message "Missing data". If a recipe with the same id already exists in the list, return a status code of 500 with the message "Recipe id already exists". If a recipe is successfully added, return a status code of 200 with the message "Recipe added successfully". (7.5 points) Create a PUT endpoint that modifies an existing recipe on the list based on the id. If any of the fields are missing in the body, you should respond with a status code of 500 with the message "Missing data". If a recipe is successfully updated, return a status code of 200 with the message "Recipe updated successfully". If a recipe with the id doesn't exist then return a status code of 404 with the message "Recipe not found". (7.5 points) Create a DELETE endpoint that removes a recipe from the list based on the id passed in. If a recipe with the id doesn't exist in the list, return a status code of 404 with the message "Recipe not found". If a recipe is successfully deleted, return a status code of 200 with the message "Recipe deleted successfully." (5 points) After the Express application is restarted, if the GET endpoint from #4 is called, it will display the 3 recipes from recipe.json in the same order as listed in the recipe.json file. Bonus Question (5 points): Create a new PUT endpoint that has two route parameters named "sourceIndex" and "destIndex", the body for this request can be null. You will move the recipe in the list at the sourceIndex to the destIndex; for example. if the list looked like [{apple pie}, {banana bread}, {pumpkin pie}] originally, calling this endpoint with sourceIndex : 0 and destIndex 2 will rearrange the list to [{banana bread}, {pumpkin pie}, {apple pie}]. Submission Place all of the files needed to run this application in a single zip file. Note: Do NOT include the "node_modules" folder in your zip file, I will deduct 5 points if your zip file contains the "node_modules" folder. The zip file must be named in the format lastname_firstname_final_api.zip. For example using my name it would be shrestha_gaurav_final_api.zip