Project Report
Project Report
5/6/2018
Ecommerce + Elearning
Table of Contents
1. Introduction ............................................................................................................................... 2
2. Ecommerce ................................................................................................................................. 3
2.1 Overview ................................................................................................................ 3
2.2 Technologies Used .................................................................................................. 4
2.3 Architecture ............................................................................................................ 5
2.4 Schema Design ........................................................................................................ 8
2.5 Features .................................................................................................................. 9
1|Page
Ecommerce + Elearning
1. Introduction:
The project is “e-commerce” web application which provides a platform for buying and
selling of e-commerce products such as books, electronic items, software etc.
As part of e-commerce platform, Users can sign up and log-in into the application using a
general email-id or through social networking platform such as Facebook. Once logged in, Users
will then be able to add products to their cart and then checkout for final shipping. Users can also
provide review and ratings to the products which they bought. Users can search products based
on categories and are made aware of products with special discount offers.
2|Page
Ecommerce + Elearning
2. E Commerce
2.1 Overview:
• E Commerce is one of the two modules which was developed as a part of our project.
• It is a platform form where users can buy products such as books, electronic items, etc.
• Users can register as sellers if they want to sell products on this platform.
• Registration can be done with email signup.
• There is a search bar, where we can search the desired products.
• After logging in, users can add the products to their cart and checkout.
• There is also a provision for ratings and review for the products bought by the users.
• Customers also can track their products.
• ChatBot is also designed for allowing customers to interact when they have doubt
regarding the products and any issues.
• For front-end (user interface) part, we used HTML, CSS, Bootstrap, Angular JS.
• For back-end part, which include connections between different modules and database
connections we used Node JS, Express JS, MongoDB(Database).
• Used Stripe API for payments.
• Images are stored in the cloud resource (Amazon S3 bucket).
• Used Mlab for database hosting.
3|Page
Ecommerce + Elearning
HTML: Hyper Text Markup Language is used to create the main structure of a webpage,
which outlines the important components in the webpage which we see.
CSS: Cascading Style Sheets is used to define styles of HTML. All the styles, which we
see on the webpage can be given credit to CSS.
Bootstrap: CSS and Java Script library. It is a free and open source front end library for
designing web applications. Bootstrap has some pre-defined styles, which we can
use directly by copying the respective code.
AngularJS: AngularJS is a Java Script based front-end web development framework. It is
very useful to create single-page applications. AngularJS was developed by
Google.
NodeJS: NodeJS is an open-source and cross-platform Java Script run-time environment
which executes JavaScript code server-side.
ExpressJS: It is a web application framework, which is used for NodeJS. ExpressJS can be
used for designing web applications and APIs.
MongoDB: MongoDB is an open-source, cross platform database system. It is a No-SQL
database and uses Java Script Object Notation -like documents with schemas.
Stripe: Stripe is the payment processing API which we used here.
Mlab: mLab is a fully managed cloud database service that hosts MongoDB databases.
4|Page
Ecommerce + Elearning
2.3 Architecture:
• The technologies which are used for building ecommerce are MongoDB, ExpressJS,
AngularJS, NodeJS. This stack is popularly called MEAN stack.
• The architectural work flow of MEAN stack is as follows:
• If client makes a request, it is processed by AngularJS. Now, after
AngularJS processes the request, NodeJS takes control.
• In NodeJS, the request is processed by ExpressJS and this makes request
to the database.
• Here, MongoDB will get the data and returns it to ExpressJS
• ExpressJS will now send the data to NodeJS and then the data is received
by AngularJS, which is responsible for displaying the result.
The main architecture that lies under this entire flow is the Model View Controller, which
is popularly called MVC architecture.
• Model:
o Model manages application data and it responds to the requests made from
views, also listens to the instructions from controller.
• View:
o View is the portion which we see in the web application. View is responsible to
display the data to user.
• Controller:
o Controller is very important because it controls the interactions between Model
and Views. Controller responds to user input and performs interactions on the
models. This also validates input.
5|Page
Ecommerce + Elearning
• When the user sends a request to through AngularJS then that request is firstly accessed
by the NodeJS threading is done in the NodeJS and then it is sent to the ExpressJS.
• ExpressJS sends the request to MongoDB.
• MongoDB processes the request and send back to ExpressJS.
• NodeJS retrieves data from ExpressJS.
• Now, AngularJS receives data from NodeJS and updates the views and users can see the
updated data.
6|Page
Ecommerce + Elearning
7|Page
Ecommerce + Elearning
8|Page
Ecommerce + Elearning
2.5 Features:
i) User authentication:
Login:
Register:
9|Page
Ecommerce + Elearning
10 | P a g e
Ecommerce + Elearning
iv) Categories:
v) Cart:
11 | P a g e
Ecommerce + Elearning
vi) Payment:
12 | P a g e
Ecommerce + Elearning
vii) Reviews:
13 | P a g e
Ecommerce + Elearning
x) Chatbot
14 | P a g e