Understand the core fundamentals of app building from industry experts and build an E-Commerce application. Learning is meaningful when you can apply the concepts and solve real-world problems. We will explore this possibility in this E-book.
TOPIC COVER IN THIS E-BOOK:-
1:-Introduction to NodeJS and NPM:-
● Intro to Nodejs, Brief discussion on V8 Engine.
● Hello World in NodeJS - writing and executing the code using VSCode Terminal.
● Exporting functionalities in NodeJS using Module.exports and exports.
● Importing functionalities in NodeJS using require.
● Intro to NPM
● Installing modules locally and globally using Npm.
● Uninstalling modules using Npm.
● Initialising an NPM project, brief discussion on Package.json.
● What are core modules of Node?
● Introduction to the FS core module of Node.
2:- OOPs: Intro to OOPs in JS:-
3:-Async Programming: Intro to Async JS 1
4:-Async Programming: Intro to Async JS 2
5:-Setting up HTTP Server
6:-Introduction to Express and REST
7:-Introduction to MySQL:-
Topics: -
● FileSystem
● Introduction To Database
○ Component of Database
○ DBMS
○ Types of Database
● MySQL
● MySQL Queries
○ Data Definition Language (DDL)
○ Data Manipulation Language (DML)
○ Data Query Language (DQL)
○ Data Control Language (DCL)
○ Transaction Control Language (TCL)
8:- Problem Solving on SQL queries:-
9:- Sequelize ORM:-
Topics to be Covered
● ORM
● Sequelize
● Basic Model Querying Techniques
● Associations
10:- Introduction to MVC:-
What is MVC .?
11:-Introduction to the Ecommerce Application:-
Agenda
● We will be introduced to the eCommerce Application backend and various scopes we have here to do.
● We will discuss the resource and their attributes for category table in database.
● We will Identify the RESTful URIs which needs to be created in this project. ● We will initializing the project structure and setup our database.
● We will get to the usage of .env file for setting the environment related parameters.
.Introduction to REST APIs
.Introduction to Web Application
Topics discussed :-
● Example of amazon or flipkart and talk about the different use cases.
● The different categories and large number of products that these applications server.
● How a user is authenticated.
● How a user is able to add items in the cart and then places the order.
12:- App Building: Ecommerce Website - Home Page and Product List Page ".
13:- Ecommerce Application Contd.- Category Controller, Users and Product Flow
Agenda
● We are going to discuss the category in reference to an eCommerce application
● We will create the schema for the Category resource
● And then we will implement the RESTful endpoints for creating CRUD operation on Category.
14:- Create the REST APIs for Products
Agenda
● We will learn about Products in reference to an eCommerce application
● We will create the schema for the Product resource
● Then we will implement the RESTful endpoints for creating CRUD operation on Products
Understanding the use cases around Products
● API to create a new Product
● API to get all the products
● API to get a product based on the id
● API to update a product
● API to delete the product
15:- Adding the search capabilities on products and middleware for validation:-
Agenda
● We will be going to establish the relationship between Category and Product resource.
● We will then add custom middlewares for the request validations.
● And we will also implement the filter query parameters in the REST APIs.
16:- "Authentication and Authorization ":-
Agenda
● We will understand what is Authentication and Authorization.
● We will learn what are different types of Authentications: Basic Auth |Bearer Token Auth.
● We will create user SignUp and SignIn APIs using JWT token.
17:- Authorization using JWT on users and carts.
Agenda
● We will try to understand the challenges with the current APIs from the security perspective.
● We will then process to make the category and product APIs use the JWT tokens so that only authenticated ADMIN user should be able to create/update/delete products and categories.
● We will be creating CART APIs.
● We will make sure that only authenticated User should be able to create a cart, add/remove items from the cart.
18:-Placing orders for products
19:-Unit Testing the eCommerce Applications-1
20:-Unit Testing the eCommerce Applications - 2
Agenda
• We will start implementing unit test in our ecommerce application
• We will also do some setup and configuration to implement integration test.
• We will then start writing integration test
21:- "Application Deployment"
List of Concepts Involved
• Intro of GitHub.
• Repository Creation.
• Get Database for production.
• Intro to Heroku.
• Understand the deployment process of our Ecommerce App.