Use EJS view engine to create the following pages-computer
In this homework, use the midterm project and convert it into a nodejs/expressjs application by using the following configuration:
1. Recipes: create an array of JSON objects, if you did not have one for your midterm project a. Eventually this will be stored into a mongodb database
2. EJS: Use EJS view engine to create the following pages:
a. Home page:
i. General information about your website and technologies you have used b. Recipe page:
i. To display all recipes
ii. Make sure the list is searchable by adding a search box c. Single Recipe to display details view of a single recipe
i. Add place holder for users to post comments
1. Min. is having a text box and a submit button
2. A rating/like counter
3. View counter
ii. Remember each recipe has an array of images (displayed as image gallery) and an array of videos with at least one video
d. A Signup page:
i. Users can sign up to your website. Add a form to collect necessary info for account creation such as names, username, password, emails etc.
ii. You can use the sample code provided in the class for user authentication e. A Log in page:
i. To start the authentication process. This page would take the username,
password and a submit button
ii. You can use the sample code provided in the class for user authentication f. Admin page:
i. A table of existing recipes which the site admin would be able to edit and
modify/update information such as adding new images, or video as well as instructions
ii. A section for adding new recipes to the site. Add a form to collect all information required to complete a recipe such as list of ingredients, cooking/baking instructions, timing, images, videos etc.
3. Routing: Use routing for delivering services and content. a. i.e. create the following routes:
i. /recipes //listing all recipes
1. /recipes/:id detail view of a recipe ii. /users/recipes/services/:id
1. Where the services can be: like, comment.
iii. /admin/recipes
1. /admin/recipes/:id
iv. Public folder for static contents
b. Remember that for some route you need GET method and/or POST depending on the need for retrieving information or updating contents
Submission:
– Setup a new environment using the final project stack.
– Provide comments for every function and views that you create. Learning and using swagger code documentation is a bonus.
– Once you are done, download a compressed copy of your environment and submit the zip file here.
Project does not have any attached files