For All Assignments and Lab Tasks Each student is given a target web site which they would be building during the course. A list is available at this Google SpreatSheet
Each Assignment should be placed in seperate folder. e.g. assignment one should be placed in assignment-one folder
Assignment One
Create the landing page in pure CSS(Do not use any Library/Framework) of your target website. You are required to demonstrate your skills of table less layout designing.
Assignment Two
Create a checkout page of your website which should render a form and collect following information
Name
Email
Address
City
Implement client side form validation either by using vanila JS or JQuery. At this stage your project does not have any server side code to handle this form so you should not be worried about what route your form should be submitted you can submit it to itself by omitting action attribute. if case the user doesnt provide any required info your form should display error message
Assignment Three
Create an Express server and serve your landing page which you made in Assignment One or LabTask One whichever you feel comfortable with. your express application should demonstrate the use of layouts (e.j. express-ejs-layouts package).
Assignment Four
Complete your application with
Authentication
Authorization
Flash Messages
Add to Cart
Order Processing (Orders should appear in your admin panel) Pay with cash only.
Lab Tasks
Lab Task One
Convert your asisgnment one into a bootstrap based web sites
Lab Task Two
Your are to demonstrate AJAX Skills in this lab task. Choose a RESTFUL API from the list given in Usman Live or you can choose any other public api.
Implement a single page app whcih uses your choosen api and complete Create, Read, Update and Delete Functionality
Lab Task Three
Create an Admin panel of your website which should have a /admin prefix with all routes and should have a seperate layout (different from your main website). Your admin panel should have atleast two CRUD pages. One for product and one for categories. atleast.
You should use mongodb as database and mongoose as ORM
Lab Task Four
Implemnet following features in your admin panel’s one of CRUDs