Full Stack Web Development2
Full Stack Web Development2
Full Stack Web Development2
I
CERTIFICATE
Candidate Declaration
I”declare that the work presented in this report ‘Full Stack Web Development’ in partial
fulfilment of”the requirements for the award of the degree of bachelor of Technology in
Computer Science and Engineering submitted in the department of Computer Science
and Engineering/ Information Technology,”Jaypee University of Information
Technology Waknaghat, is an authentic record of my work carried out over a period of
Feb,2020 to”May,2020 under the Supervision of Umesh Sharma (Product Manager,
magicPin).
The matter embodied in the report”has not been submitted for the award of any other
degree or diploma. It contains sufficient”information to describe the various tasks
performed by me during the internship.
This is to certify that”the above statement made by the candidate is true to the best of
my knowledge. The report has been reviewed by the company officials, and has been
audited according to the company guidelines.
II
ACKNOWLEDGEMET
We have taken efforts in”this project. However, it would not have been possible
without the kind support and help of many”individuals and organisations. I would
like to extend our sincere thanks to all of them.
I am highly indebted to the faculty for the guidance and constant supervision”and
as well as for necessary information regarding the project and also for their
support in completing the”project.
Table of Content
III
1. Chapter 1- Introduction
Company Profile
Vision History
Customers
2. Chapter 2- Introduction to Assigned Job
3. Chapter 3- Modular Description of Job
Introduction to Web Development
HTML
CSS
Javascript
React Js
Node Js
List of Figures
IV
Fig 3.1- Skillset of a full stack web developer.
Fig 3.2- HTML symbol.
Fig 3.3- CSS symbol.
Fig 3.4- Javascript Image.
Fig 3.5- Elements tab of Developer Tools.
Fig 3.6- Console tab to run Javascript.
Fig 3.7- Sources tab to list source files.
Fig 3.8- Network tab to show network activity.
Fig 3.9- Performance tab.
Fig 3.10- Memory Tab.
Fig 3.11- Application Tab.
Fig 3.12- Security Tab.
Fig 3.13- Audit Tab.
Fig 3.14- React Js Symbol.
Fig 3.15- Node Js Symbol.
Fig 4.1.1- Dialog Box to verify a transaction.
Fig 4.2.1- Global Filters
Fig 4.2.2- Growth Chart
Fig 4.2.3- Goal Tracker
Fig 4.2.4- Sales Chart
Fig 4.2.5- Gaining and Losing Customers
Fig 4.2.6- Repeat Frequency Chart
Fig 4.2.7- Customer Preference
Fig 4.2.8 – Customer Profile
Fig 4.2.9- Time/Week Pattern Graph
Fig 4.2.10- Average Order Value Chart
V
Fig 4.2.11- Potential Chart Form
Fig 4.2.12- Potential Chart Outcome
Fig 4.2.13- Feed On Vouchers Page
Fig 4.3.1- Sales Chart with Values Tab Selected
Fig 4.3.2- Sales Chart with Orders Tab selected
Fig 4.3.3- Vouchers Table and Conversion Funnel
Fig 4.3.4 – Customer Preference Chart
Fig 4.3.5- Customer Profile and City Distribution Chart
VI
Chapter - 1 INTRODUCTION
CompanyProfile
“Magicpin is the platform where users and merchants in a locality discover, interact, and transact.
For merchants, they are the go-to platform for spotlighting their uniqueness while boosting their
revenues and utilization through real-time promotions, loyalty programs, and content updates.
For users, they are the destination to find out the buzz in their locality and discover interesting
people to connect with and events/merchants to go to.Magicpin's headquarters is in Gurgaon,
Haryana. Magicpin's main competitors are Crownit, CouponDunia and Nearbuy.”
Vision
“We are on a mission to make hyperlocal magical. Pin a location on the map to find the coolest
people in the neighborhood and where they hangout - from the hippest cafes to the yummiest
dimsums, the trendiest fashion boutique, luxurious spas, health clubs, best discounts on grocery
stores and more. Find the buzz in your locality through our user generated pictures, videos,
reviews to discover interesting people, places and get cashback / rewards for visiting those
places. magicpin drives discovery that leads to business for local retailers across categories like
restaurant, fashion, beauty, grocery, spa, yoga, gyms, and more. For their spending, users get
rewarded in ‘magicpin points’ that can be used to buy more services and experiences.”
History
“The company was founded in 2015 by Anshoo, former Venture Partner at Lightspeed
India Partners, and Brij Bhushan, former Nexus Venture Partners, who were colleagues at
Bain and Co. In 2017, Magicpin has raised $7 million in Series B round from Lightspeed
India Partners, Waterbridge Ventures, and two global family offices.”
Customers
“Magicpin is by far the leader in offline marketing for retailers in India. They have grown
5x in 2018 and are on track to repeat that in the coming year. This is a massive $1T
market in India - 50x the size of all ecommerce in the country. magicpin has 5
Million+ users and is now live
in Delhi, Gurgaon, Noida, Bangalore, Mumbai, Pune, Hyderabad, Chandigarh, Jaip
ur, Goa, Chennai, Ahmedabad and is quickly spreading to more cities and countries.”
7
CHAPTER 2 INTRODUCTION TO ASSIGNED JOB
During the internship, various techniques were taught which are as follows:
8
CHAPTER 3 MODULAR DESCRIPTION OF JOB
Goal- To understand the basics of how the web technology works, both at the server
and client-side, and how everything combines front-end to the back-end to give a
complete web-app.
Explanation-
“Full Stack Web Development alludes to the development of both front end(client
side) and back end(server side) portion of web application.”
Full stack”web engineers can configuration complete web application and sites. They
take a shot at the frontend, backend,”database and maintenance of web application or
sites.
“Front end is the noticeable piece of site or web application which is liable for
client experience. The client straightforwardly interfaces with the front end segment
of the web application or site.”
Back end alludes“to the server-side portion of web application or site with an essential
spotlight on how the site functions. It is answerable for dealing with the database
through questions” and APIs by customer side orders. This sort of site primarily
comprises of three sections front end, back end, and database.
9
“ ”
Fig 3.1- Skillset of a full stack web developer
Explanation –
Hypertext Markup Language (HTML) is the standard”markup language for archives intended to be
shown in an internet browser. It very well may be”helped by advancements, for example,
Cascading Style Sheets (CSS) and scripting dialects, for example, JavaScript.
Internet browsers get HTML reports from a web server or from nearby capacity and render the
records into mixed media site pages. HTML portrays the” structure of a site page semantically and
initially included signals” for the presence of the” archive.
HTML components are the structure squares of HTML pages. With HTML builds, pictures and
different “items, for example, intelligent structures might be implanted into the rendered page.
HTML gives a way to make organized archives by indicating basic semantics for content, for
example, headings, passages, “records, connections, cites and different things. HTML components
are depicted by labels, composed utilizing point sections. Labels, for example, <img/> and <input/>
straightforwardly bring content into the page. Different labels, for example, <p> encompass and
give data about archive message and” may incorporate different labels as subcomponents.
Programs don't show the HTML labels, yet use them to decipher the substance of the page.
10
“ ”
Fig 3.2 – HTML symbol
Goal-To get familiar with basics of styling a webpage using CSS and minifying
CSS for more efficiency.
Explanation –
Cascading Style Sheets (CSS) is a template language utilized for”portraying the introduction of a
record written in a markup language like”HTML. CSS is a foundation innovation of the World
Wide Web, close by HTML and JavaScript”.
CSS is “intended to empower the partition of introduction and substance, including design, hues,
and fonts. This detachment “can improve content availability, give greater adaptability and control
in the detail of introduction qualities,“empower different site pages to share arranging by
determining the significant CSS in a different .css record, and lessen intricacy and redundancy in
the auxiliary substance”.
Partition”of organizing and substance likewise makes it attainable to introduce a similar markup
page in various styles for various rendering techniques, for example, on-screen, in print, by voice
(by means of discourse based program or screen per user), and on Braille-based material gadgets.
11
CSS additionally has rules for substitute designing if the substance is gotten to on a versatile
device.
The name cascading originates from the predefined need plan to figure out which style rule applies
if more than one principle coordinates a specific component. This falling need conspire is
unsurprising.
“ ”
Fig 3.3 – CSS symbol
JAVASCRIPT
Explanation-
12
Nearby HTML and CSS, JavaScript is one of the center advances of the
World Wide Web. “JavaScript empowers intuitive site pages and is a
fundamental piece of web applications. Most by far of sites use it for customer
side page conduct,” and all significant internet browsers have a devoted
JavaScript motor to execute it.
In”spite of the fact that there are similarities among JavaScript and Java,
including language name, linguistic structure, and particular standard libraries,
the two dialects are unmistakable and contrast enormously in”plan.
13
Fig 3.4 – Javascript Image
Goal- To understand how the data that flows through the app, can be checked in network
tab, how console tab helps in logging and how element tab helps in DOM manipulation
at runtime.
Explanation-
Web improvement tools (regularly called devtools) “permit web engineers to test and
investigate their code. They are not the same as web designers and coordinated
improvement situations (IDEs) in that they don't aid the immediate formation of a
site page, rather they are”instruments utilized for testing the UI of a site or web
application.
14
Fig 3.5 – Developer Tools Elements tab to view HTML and CSS.
Fig 3.8 – Network tabs show the data fetched over network calls
15
Fig 3.9 – Performance tab to show efficiency.
16
Fig 3.13 – Audit tab shows various miscellaneous features.
REACT JS
Explanation-
17
”Fig 3.14 – React Symbol
NODE JS
Goal- To understand the basics of backend development using node js and to host
a server using express js.
Explanation –
Node.js”is an open-source, cross-stage, JavaScript runtime condition that executes JavaScript code
outside of an internet browser. Node.js lets engineers use JavaScript to compose order line devices
and for server-side scripting—running contents server-side to deliver dynamic website page content
before the page is sent to the client's internet browser. Subsequently, Node.js speaks to a
"JavaScript all over the place" worldview,” bringing together web-application improvement around
a solitary programming language, as opposed to various dialects for server-and customer side
contents.
“However .js is the standard filename expansion for JavaScript code, the name "Node.js" doesn't
allude to a specific document in this unique circumstance and is only the name of the item. Node.js
has an occasion driven design equipped for offbeat I/O. These plan decisions mean to upgrade
throughput and adaptability in web applications with many”info/yield tasks, just as for continuous
Web applications (e.g., ongoing correspondence projects and program games).
The Node.js disseminated advancement venture was recently represented by the Node.js
Foundation, and has now converged with the JS Foundation to frame the OpenJS Foundation,
which is encouraged by the Linux Foundation's Collaborative Projects program
18
“
19
FRONT-END
1. Brand Panel: In this panel, all the information related to various brands is shown.
Data is displayed in the form of various graphs, representing the sales on the basis of
various time periods such as on daily, weekly and monthly basis. Also, there are graphs
representing the best city, locality, where the sales of that brand has occurred in the recent
times. The competitor data is also shown in the form of various graphs.
Created a dialog box to be displayed, on verification of a transaction, and set buttons color using
CSS. The screenshot shown below displays a webpage where the verification of billed transaction
is done. An algorithm detects the items printed on the bill using machine learning and image
processing techniques and then verification is performed on these listed items. If the verification is
possible, the transaction is submitted, otherwise the transaction skipped and the dialog box gets
displayed.
20
2. Retail Panel: This panel lists all the information related to the retail merchants.
These merchants are categorized as retail-merchants, online merchants etc. On retail panel,
we have four various web pages namely, Home, Voucher, Customers, and Feedback. The
home page displays the data related to the merchant campaigns. The voucher page shows
the vouchers offered on the magicpin platform by the merchants, campaign wise. The
customer page shows customers related data and feedback page presents user-feedback.
Created global filters to change the information displayed on the webpage as the dates
are changed or campaign is changed. There are two global-filters, one that allows
switching between the campaigns and another, that changes the dates for which the
data is displayed. These dates can be set manually by the user, along with some
default options.
Created and wired the data for the Growth Graph, using react chart-js library. The Growth Graph
displays percentage wise growth of a merchant in recent times. It’s view can be changed on daily,
monthly and weekly basis. This graph provides comparison data for a merchant for the various
competitors in its categories.
21
Fig 4.2.2 – Growth Chart
Updated the design of the Goal Tracker. The goal tracker represents the current campaign details,
the mission and how its progressing over the period of time.
22
Updated the design of Sales Chart to use react chart-js library. This chart displays the sales and
orders data for the merchant in the current campaign. It is a stacked bar chart.
The New Customer Distribution and the losing customers graph are pie-charts. The new customer
distribution graphs represents the distribution of customers along the various competitor brands in
recent times. And the losing customer distribution shows how the customers of the current brands
are shifting towards the other competitors.
23
Fig 4.2.5 – Gaining and Losing Customers
Created the design and wired the data for repeat-frequency graph. This graph shows the percentage
of customers who have the transacted more than 2, 3, 4, 5 times.
24
Fig 4.2.6 – Repeat Frequency Chart
Created the design customer preferences chart, with horizontal slider using the react slick library.
This graph shows customer preferences locality-wise and city-wise.
Developed the component for customer profile chart and wired its data. This component displays
the distribution of customers for the merchant across genders and the average age of the customers.
Same data is shown for the competitors.
25
Fig 4.2.8 – Customer Profile
Updated the design of Time/Week Chart to use react chart-js. This graph shows how the
transactions of the customer varies according to various different times in the day. There is also
another option to check how data varies according to various days in the week.
Created the design of Average order value Chart and wired the data for it. This chart shows what is
the average value of the customers for the current merchant and its various competitors on the
magicpin platform.
26
Fig 4.2.10 – Average Order Value Chart
Created Potential Chart which calculates potential audience for a merchant. This is a form which
allows a merchant to fill details such as city, age, gender, category and the average amount of
spend. Based on this data, the target audience for the merchant.
27
Fig 4.2.11 – Potential Chart Form
28
Fig 4.2.12 – Potential Chart Outcome
Wired the feed data on vouchers page for retail-panel. This feed represents the offers provided by
the merchants throughout their campaigns on the magicpin platform.
29
3. Online – Panel: This panel lists the data of the online merchants. It has various components
such as Sales graph, conversion funnel, customer preferences, voucher details, goal tracker,
customer profile and city distribution and global filters.
Created the design and wired the data for the sales chart. This chart represents the sales and orders
values for the current merchant. Both of these data varies on daily, weekly and monthly basis. In
the value tab, average order values is displayed as a line graph with respect to the secondary y-axis
and the voucher data is displayed as a bar chart with respect to the primary y-axis. The order tab
represents the orders on a bar chart.
30
Fig 4.3.2 – Sales Chart with orders tab selected.
Created the conversion funnel component and the voucher - details table. The voucher-details table
shows the voucher variant displaying the information about the voucher, total number of vouchers
sold, total number of vouchers redeemed and the amount of user spend. The conversion funnel
graphs shows how many times the merchants portal has been viewed, how many views have been
have been converted into clicks and how many clicks have changed into transactions.
31
32
Fig 4.3.3– Vouchers Details Table and Conversion Funnel
33
Developed the Customer Preference Chart and wired its data. This chart represents the customer
preference in various categories such as Food and Beverages, Fashion , Grocery etc.
Developed the Customer Profile and City Distribution component. The customer profile represents
the percentage distribution of customer gender-wise and in various age groups. The city
distribution chart is a pie-chart which shows the distribution of orders for the merchant in various
cities.
34
Fig 4.3.5 – Customer Profile and City Distribution Chart
35
BACK-END
• Written restful API’s (Application Programming Interface) for the city distribution
chart and customer profile for the online panel and for the potential chart on the
retailpanel.
• Performed caching of data using various data structures, so that database isn’t
referenced on each API call.
.
36
CHAPTER 5 CONCLUSION
“It is easy to work with sophisticated machines, but not with people. The only chance
that an undergraduate has to have this experience in the internship. I feel I got the
maximum out of that experience. Also I learnt the way of work in an organization,
the importance of being punctual, the importance of maximum commitment, and the
importance of team spirit.”
“The internship that I received at magicPin was great experience for me not only on
technical terms but also in”terms of interaction with other employees. I learnt a great
deal on applying the knowledge I have gained at the College. Learning something
from books and lectures Is nothing”like having firsthand experience. I gotto apply
my Programming knowledge.The company gives the full freedom to the interns to
get a sufficient exposure. The interns are allowed to perform tasks relevant to the
internship. Engineers are always very enthusiastic on giving us the best training Page
experience. The”employees do not think of their designation but only on the work to
be done. Teamwork has been excellent. Everyone was friendly from top to bottom.
Employees are busy with their work but they always help us to improve our
knowledge.”
31
CHAPTER 6 BIBLIOGRAPHY
● https://javascript.info/
● https://reactjs.org/
● https://stackoverflow.com/
32
Full Stack Web Development
ORIGINALITY REPORT
18 % 11% 2% 17%
SIMILARITY INDEX INTERNET SOURCES PUBLICATIONS STUDENT PAPERS
PRIMARY SOURCES
2
Submitted to Siddaganga Institute of
3%
Technology
Student Paper
3
Submitted to B.S.Abdur Rahman Crescent
2%
Institute of Science & Technology
Student Paper
www.ir.juit.ac.in:8080
4
Internet Source 1%
www.scribd.com
5
Internet Source 1%
Submitted to Raffles Institution
6
Student Paper
1%
7
Submitted to North East Surrey College of
1%
Technology, Surrey
Student Paper
Student Paper 1%
9
Submitted to International Institute of
1%
Information Technology, Hyderabad
Student Paper
www.geeksforgeeks.org
13
Internet Source <1%
DEVELOPMENT
UNDERTAKING
I undertake that I am aware of the plagiarism related norms/ regulations, if I found guilty of any plagiarism and
copyright violations in the above thesis/report even after award of degree, the University reserves the rights to
withdraw/revoke my degree/report. Kindly allow me to avail Plagiarism verification report for the document
mentioned above.
Complete Thesis/Report Pages Detail: − Total No. of Pages = 40
− Total No. of Preliminary pages = 32
− Total No. of pages accommodate bibliography/references = 8
C.Kapoor
(Signature of Student)
FOR DEPARTMENT USE
We have checked the thesis/report as per norms and found Similarity Index at 18(%). Therefore, we are
forwarding the complete thesis/report for final plagiarism check. The plagiarism verification report may be
handed over to the candidate.
Copy Received on Excluded Similarity Index (%) Generated Plagiarism Report Details
(Title, Abstract & Chapters)
Word Counts
• All Preliminary
Pages Character Counts
Report Generated on • Bibliography/Ima
ges/Quotes
• 14 Words String Submission ID Total Pages Scanned
File Size
Checked by
Name & Signature Librarian
……………………………………………………………………………………………………………………………………………………………………………
Please send your complete thesis/report in (PDF) with Title Page, Abstract and Chapters in (Word File)
through the supervisor at plagcheck.juit@gmail.com