Hindu. internshipFINAL1
Hindu. internshipFINAL1
CHAPTER 1
COMPANY PROFILE
A Brief History of Elecsis Infotech Solutions Pvt Ltd
Elecsis Infotech, was incorporated with a goal” To provide high quality and optimal Technological
Solutions to business requirements of our clients”. We are one of the leading website design and
development company in Bangalore, thanks to the wonderful applaud from our esteemed clients.
We embarked on a mission to help small, medium and large business owners to develop and grow
an online presence by adding value to their product and/or service offerings. Our vision, mission
statement and core values are as outlined below. We strongly believe in delivering quality services
without compromising on customer delight. Every business is a different and has a unique business
model and so are the technological requirements. They understand this and hence the solutions
provided to these requirements are different as well. They focus on clients’ requirements and
provide them with tailor made technological solutions. They also understand that Reach of their
Product to its targeted market or the automation of the existing process into e-client and simple
process are the key features that our clients desire from Technological Solution they are looking for
and these are the features that we focus on while designing the solutions for their clients.
Elecsis Infotech, strive to be the front runner in creativity and innovation in software development
through their well-researched expertise and establish it as an out of the box software development
company in Bangalore, India. As a software development company, they translate this software
development expertise into value for their customers through their professional solutions. They
believe that Technology when used properly can help any business to scale and achieve new heights
of success. It helps Improve its efficiency, profitability, reliability; to put it in one sentence”
Technology helps you to Delight your customers” and that is what we want to achieve.
They understand that the best desired output can be achieved only by understanding the clients
demand better. Elecsis Infotech, work with their clients and help them to define their exact solution
requirement.
They believe that Technology when used properly can help any business to scale and achieve new
heights of success. They focus on clients’ requirements and provide them with tailor made
technological solutions. They also understand that Reach of their Product to its targeted market or
the automation of the existing process into e-client and simple process are the key features that our
clients desire from Technological Solution they are looking for and these are the features that we
focus on while designing the solutions for their clients.
Contact Information:
Website : www.elecsisinfotech.com
CHAPTER 2
ABOUT COMPANY
Elecsis Infotech is a Technology Organization providing solutions for all web design and
development, MYSQL, PYTHON Programming, HTML, CSS, ASP.NET and LINQ. Meeting the
ever-increasing automation requirements, Digital Attain IT Solution specialize in ERP,
Connectivity, SEO Services, Conference Management, effective web promotion and tailor-made
software products, designing solutions best suiting clients’ requirements. The organization where
they have a right mix of professionals as a stake holder to help us serve our clients with best of our
capability and with at par industry standards. They have young, enthusiastic, passionate, and
creative Professionals to develop technological innovations in the field of Mobile technologies,
Web applications as well as Business and Enterprise solution. Motto of our organization is to
“Collaborate with our clients to provide them with best Technological solution hence creating Good
Present and Better Future for our client which will bring a cascading a positive effect in their
business shape as well”. Providing a Complete suite of technical solutions is not just our tag line, it
is Our Vision for Our Clients and for Us, West rive hard to achieve it.
• Python
• Internet Of Things
• Software Training
• Multimedia
CHAPTER 3
THEORETICAL BACKGROUND
e-commerce business are reduced: the cost of renting booths, salespeople and management
is much more economical. Naturally, when sellers save operating costs, they can offer
more incentives and better discounts for their customers. At this time, the customer is the
next beneficiary. Mutual benefit, isn't it great?
Inventory management: By using electronic tools to speed up the ordering, delivery, and
payment processes, e-commerce businesses can save billions of operating costs and reduce
amount of inventory.
Most accurate customer marketing: With access to customer data and the opportunity to
track customers' buying habits, e-commerce businesses can quickly identify and market
products and services. service. Service most suitable for consumers.
Work anywhere, buy anywhere: Running an e-commerce business allows you to not need
to sit in the office, and buying does not force you to go to the supermarket. Everything the
seller and the buyer needs is an internet-connected device and that's all.
3.1.4 CHALLENGES OF E-COMMERCE:
Internet access required: When participating in the EC, to be able to buy and sell, you need
a device connected to the internet. Currently, most people have internet access but, in many
areas, it is still very limited.
Not enough to trust: Products and services that cannot be seen, touched, held or felt
directly, are not allowed to try as a prudent buyer. Doubt in both buyers and sellers leads to
many incomplete transactions, especially when they have dealt with untrusted partners
before.
Limited payment methods: Currently, the most popular payment method in Vietnam when
buying goods online is to receive and pay. Payment gateway in Vietnam is growing quite
strong, but not reliable enough for users to use as the main payment method. Therefore, it
also contributes to teething.
In addition, e-commerce business also faces many other challenges: technical, competitors,
payment, etc.
a companion to the other technologies for developing JavaScript and JSON-oriented applications.
Figure 1 below illustrates the architecture of the MERN stack technology
3.2.1 JAVASCRIPT:
Standard libraries for objects are contained by JavaScript, for such as Array, Date, Math, and the
essence component of programming languages for instance managers, control framework and
statements.
By adding objects, JavaScript could be protracted for many principles, such as:
In 1996, JavaScript was officially named ECMAScript. ECMAScript 2 was released in 1998 and
ECMAScript 3 was released in 1999. It is continuously evolving into today's JavaScript, now works
on all browsers and devices from mobile to desktop. Open standard language can be used by
association to establish their own JavaScript applications. The ECMAScript Standard is one of the
parts of the ECMA-262 specification.
ISO has approved the ECMA-262 standard at ISO-16262. The ECMAScript standard does not
include descriptions for the DOM, it is standardized by the W3C. The DOM specifies how your
scripts display HTML objects. To get a advance anticipate of the distinctive innovations used when
programming with JavaScript, check out the JavaScript technology analysis article.
MongoDB is a cross-platform, open-source, NoSQL database that is mainly used for scalable large-
volume data applications and tasks that do not function well in a relational database. It utilizes a
document storage format known as BSON (Binary encoded JavaScript Object Notation). It is a
non-relational database management system created by Dwight Merriman, Eliot Horowitz, and
Kevin Ryan and became popular in the mid-2000s. MongoDB’s design is based on collections and
documents, as illustrated in Figure 2 below, which replace the usage of tables and rows in
conventional relational databases.
MongoDB also supports a variety of document operations, including adding, querying, updating,
and deleting. MongoDB is suitable for various use cases due to the diversity of field values and
powerful query languages. In addition, its ability to scale out to accommodate larger data volumes
horizontally has contributed to its increasing success as the world’s most popular NoSQL database.
There are some crucial features of MongoDB:
Scheme-less Database: This feature allows a single collection to store numerous
documents, each of which contains a varied number of fields, content, and size. Therefore,
Document Oriented: All the data is kept in fields containing a clear structure with key-
valuepairs rather than rows and columns, which provides more flexibility than RDBMS.
Indexing: Each field in MongoDB documents is indexed using primary and secondary
indices, making retrieving and searching for data more straightforward and faster. Without
accurate indices, the database must manually search each document for the matching
query, which is time-consuming and inefficient.
Scalability: The horizontal scalability from MongoDB was offered through sharding,
which refers to the process of distributing data across numerous servers. By utilizing the
shard key, a significant quantity of data is divided into data chunks, and these data chunks
are equally spread among shards that involve multiple physical servers. Moreover, it will
add new machines to an existing database.
Replication: With the benefit of replication, MongoDB enables high availability and
redundancy by producing several copies of data and storing them on a separate server to
protect the database against hardware failure, ensuring that the data can be recovered from
another if one server fails.
Aggregation: procedures on the dataset are enabled to provide a single or calculated output
with three distinct aggregating methods, including pipeline aggregation, map-reduce
function, and single-purpose aggregation.
Representing the letter “E” in the MERN stack, Express is a lightweight and versatile web
application framework built on top of NodeJS. Thanks to the large community of support, it
includes a rich collection of functionalities for developing web and mobile applications. Even
though a large number of support packages along with the functionality for better software creation,
Express does not affect the performance of NodeJS.
Based on the GitHub repository, Express was established on May 22, 2010, by T.J. Holowaychuk.
After that, Strong Loop acquired the project management rights in June 2014 until IBM owned the
company in September 2015. Then, in January 2016, the NodeJS Foundation took over the
Dept. of ISE, EPCET 2023-24 Page 10
E-Commerce application focus on book bazar 18CS185
management of Express, and Express is now the primary function of the NodeJS platform.
Express.js is a routing and middleware framework for managing the many routing options for a
website. It operates between the request and response cycles. Middleware is invoked after the server
receives the request and before the controller actions transmit the response. One or more pieces of
middleware are executed to perform particular tasks, such as authorizing requests or parsing request
content. Express applications are composed of a sequence of middleware function calls. Typically,
the first middleware executed to process the request initiates the task pipeline. The initial
middleware can either complete the request and provide it to the users or call the subsequent
middleware to continue the request. The same approach will be continued until the pipeline's last
middleware takes the result of the preceding middleware as input.
3.2.3 REACT:
React, representing the letter ‘R’ in the MERN stack, focuses on creating the View Layer, which is
well-known for all visible parts of the page of an application. React is a multi-purposed, open-
source JavaScript library used for building user interfaces based on UI components.
Since React was established to cope with sophisticated, large-scale user interfaces combined with
real-time dynamic data and data binding, it has been steadily improving its single-page application
development and frontend utilities for programmers of all levels.
Compared to other popular libraries and frameworks such as jQuery, Angular, and VueJS, React is
considered the most popular framework for web development.
Along with offering reusable component code, which reduces development time and the likelihood
of bugs and errors, reacts introduced many essential characteristics that contribute to its developer
appeal, which are discussed below.
VIRTUAL-DOM
Virtual-DOM is a JavaScript object, each object contains all the information needed to create a
DOM, when the data changes it will calculate the change between the object and the real tree,
which will help optimize re-render DOM tree. It can be assumed that is a virtual model can handle
client data.
COMPONENT
React is built around components, not templates like other frameworks. A component can be
created by the create Class function of the React object, the starting point when accessing this
library.
ReactJS creates HTML tags unlike we normally write but uses Component to wrap HTML tags into
stratified objects to render. Among React Components, render function is the most important. It is a
function that handles the generation of HTML tags as well as a demonstration of the ability to
process via Virtual-DOM.
Any changes of data at any time will be processed and updated immediately by Virtual-DOM.
PROPS AND STATE
Props: are not controlled by Component, actually stands for Properties.
The title = “Title” line creates a name attribute with the value "Title". It looks like a function call. It
is true that props are passed to the component in the same way that an argument is passed to a
function. A component may also have a default props, so if the component does not pass any props,
it will still be set.
State: private data is controlled by Component. Like props, sate also holds information about the
component. However, the type of information and how to handle it varies. State works differently
than Props. The state is a component of the component, while props are passed in from the outside
into the component. It should be noted that we should not update the state directly using this. State
but always use set State to update. Update the state of the objects. Use set State to rerenders one
component and all its children. This is great, because you don't have to worry about writing event
handlers like any other language.
PROS AND CONS OF REACTJS:
Pros of ReactJS:
• Update data changes quickly.
• React is not a framework so it offloads the constraints of libraries together.
• Easy access to who understands JS.
Cons of ReactJS:
• ReactJS only serves the View tier, but the library size is on par with Angular while Angular is a
complete framework.
• Incorporating ReactJS within common MVC frameworks demands reconfiguration.
• Hard to reach for beginners on website developing.
3.2.4 NODE JS:
Node package manager (NPM) is the NodeJS default package manager for applications, and it is
utilized to maintain all of the NodeJS packages and modules along with the command line client
npm. Therefore, it facilitates time-consuming manual tasks by automating managing third-party
packages, allowing developers to spend more time on the development process.
NPM was first published on January 12, 2010, by Isaac Z. Schlueter. It is installed alongside
NodeJS and is utilized to install the required packages and modules in the NodeJS project. It is
currently the world's largest software registry, with approximately two million packages at the end
of March 2022.
Applications using NodeJS:
WebSocket server
Notification system
Applications that need to upload files on the client.
Other real-time data applications.
3.2.5 MYSQL
MySQL is an open-source database; it is also the leading NoSQL database currently used by
millions of people. It is written in one of the most popular programming languages today. In
addition, MySQL is cross-platform data that operates on the concepts of Collections and
Documents, providing high performance with high availability and ease of expansion.
NoSQL is a source database format that does not use Transact-SQL to access information, this
database was developed on JavaScript Framework on JSON data type. With its introduction, it has
overcome the disadvantages of RDBMS relational data model to improve operating speed,
functionality, model scalability, cache ...
Furthermore, MySQL is a cross-platform database, performing on Collection and Document
approach, it produces sharp production, huge availability, and effortless scalability.
Dept. of ISE, EPCET 2023-24 Page 13
E-Commerce application focus on book bazar 18CS185
CHAPTER 4
large number of dependencies, which can increase the complexity of the application and make
maintenance more difficult. Finally, the MERN stack may not be the most appropriate choice for all
e-commerce websites, particularly those with simpler requirements.
Description About the products is less available and are mostly verbal only. For this type of
shopping, one needs to have an ample amount of free time
The proposed system for an e-commerce website using the MERN stack will leverage the latest
technologies to provide a user-friendly, secure, and scalable e-commerce platform. The MERN
stack, comprising MongoDB, Express.js, React, and Node.js, will be used to develop a robust and
dynamic e-commerce website that will enable businesses to sell products online.
The proposed system will have a client-server architecture, with the server-side component built
using the MERN stack. MongoDB will be used as the database to store and retrieve data, and
Express.js will handle the server-side communication and routing. Node.js will be used for server-
side scripting, allowing real-time communication between the client-side and server-side
components.
The client-side component will be developed using React, which will enable the creation of
dynamic and responsive user interfaces. React will also provide an efficient rendering of
components, resulting in reduced load times and enhanced user experience. Additionally, the
proposed system will be developed using a modular approach, allowing for easy scaling of the
application.
4.4 IMPLEMENTATION OF PROJECT:
To address the challenges posed by the rise of online book sales and the limitations of traditional
brick-and-mortar retailers, a solution in the form of a book-based e-commerce website utilizing the
MERN stack is proposed. This platform seeks to provide a seamless fusion of the personalized care
and in-person interactions characteristic of brick-and-mortar stores with the convenience and
accessibility of online purchasing. By leveraging the MERN stack, the website can offer a flexible
and scalable infrastructure, ensuring a user-friendly experience for customers. Key features include
a reader community where users can interact, share recommendations, and engage in discussions,
alongside a streamlined user interface and personalized book suggestions. Furthermore, employing
various social media and marketing strategies such as email campaigns and social media advertising
can help boost the platform's visibility and attract more visitors. Ultimately, by offering tailored
user experiences, curated book recommendations, and fostering a vibrant reader community, this
book-based e-commerce website aims to bridge the gap between traditional and online bookstores,
catering to the evolving needs of modern readers.
Planning and Requirements Gathering:
Identify key features and functionalities based on the problem statement, such as user registration,
book browsing, community interaction, personalized recommendations, and online purchasing.
Dept. of ISE, EPCET 2023-24 Page 18
E-Commerce application focus on book bazar 18CS185
Define user stories and wireframes to visualize the website's layout and flow.
Setting Up the Development Environment:
Install Node.js, MongoDB, and Express.js for backend development.
Choose a frontend framework like React.js for building the user interface.
Set up the project structure and configuration files.
Backend Development:
Create APIs using Express.js to handle user authentication, book management, community
interactions, and purchasing.
Implement MongoDB to store user data, book information, and community discussions.
Develop middleware for authentication and authorization.
Frontend Development:
Build React components for different pages and functionalities, such as user
registration/login, book browsing, community forums, and checkout.
Utilize libraries like React Router for client-side routing and Axios for making HTTP
requests to the backend APIs.
Design responsive and user-friendly interfaces using CSS frameworks like Bootstrap or
Material-UI.
Integration and Testing:
Connect the frontend and backend components to ensure seamless communication.
Perform unit tests and integration tests to validate the functionality of each feature.
Conduct user testing and gather feedback for improvements.
Deployment and Hosting:
Deploy the application to a hosting platform like Heroku or AWS.
Configure domain settings and SSL certificates for secure communication.
Monitor performance and scalability of the deployed application.
Community Engagement and Marketing:
Implement features to encourage user interaction, such as forums, comments, and book
reviews.
Utilize social media platforms for promoting the website and engaging with the target
audience.
Launch email marketing campaigns to notify users about new books, community events,
and special offers.
Continuous Improvement:
Collect analytics data to track user behavior and website performance.
Iterate on the website based on user feedback and market trends.
Dept. of ISE, EPCET 2023-24 Page 19
E-Commerce application focus on book bazar 18CS185
Regularly update content and features to keep the website engaging and relevant.
4.5 SOURCE CODE
BACKEND CODE
Index. JS:
import express from "express";
import mysql from "mysql";
import cors from "cors";
const db = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "test",
});
//http://localhost/phpmyadmin/
app.listen(8800, () => {
console.log("Connected to backend.");
});
Package Json:
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"mysql": "^2.18.1",
"nodemon": "^3.0.1"
}
}
Client code
Index Html code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See
https://developers.google.com/web/fundamentals/web-app-manifest/
-->
Package Json
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.5.0",
"axis": "^1.0.0",
"axois": "^0.0.1-security",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.15.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
Dept. of ISE, EPCET 2023-24 Page 24
E-Commerce application focus on book bazar 18CS185
CHAPTER 5
RESULT/SNAPSHOTS
The home page of the app. It includes the indispensable components of an online store like the
function bar, the search bar and a list of products. Customers who visit the store can search for
the products they want to buy and they can customize the filter on the toolbar to be able to buy the
best products.
On the Admin Dashboard, the admin can create products, categories and manage them.
These functions are very useful for a store owner.
Store owner can add the new products, as they can manage them. Similar with the sign up and sign
in, all the strings are stored into MySQL database.
All of the order details of customers made in history are recorded. In figure 15, admin can see all of
the orders then the show owner can set the shipping status for each order individually.
The main shop page that customers can select the products that they want to add to cart. User can
scroll down the mouse to browse all the products, or filter by categories or filter by price range like
Figure 5.5 In each product, user can see it short description and their available status. Therefore,
customer can consider about buying it or not.
CONCLUSION
In conclusion, the shift towards online book sales has presented significant challenges for
traditional brick-and-mortar retailers, who struggle to match the level of interaction and customer
care offered by their online counterparts. While online book vendors provide convenience, they
often lack the personalized experience and community engagement that customers value. To
address this gap, the proposition of a book-based e-commerce website utilizing the MERN stack
emerges as a viable solution. This platform aims to combine the convenience of online shopping
with the personalized care and in-person interactions found in brick-and-mortar stores. By
leveraging the flexibility, scalability, and user-friendliness of the MERN stack, the website can
offer a tailored user experience, including personalized book recommendations and a vibrant reader
community. Additionally, employing social media and marketing strategies can enhance the
platform's visibility and attract more users. Overall, the implementation of a book-based e-
commerce website built on the MERN stack seeks to bridge the gap between traditional and online
bookstores, providing customers with a platform to discover new books, interact with fellow
readers, and make purchases with ease. This solution addresses the evolving needs of modern
readers while preserving the essence of traditional bookstores in an online environment.