Full Stack Web Development
Full Stack Web Development
Full Stack Web Development
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.
Umesh Sharma
Product Manager
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.
III
Table of Content
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
IV
List of Figures
V
Fig 4.2.10- Average Order Value Chart
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 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 sub-
components. 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.
CSS additionally has rules for substitute designing if the substance is gotten to on a versatile
device.
11
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.
JAVASCRIPT
Explanation-
Nearby HTML and CSS, JavaScript is one of the center advances of the
World Wide Web. JavaScript empowers intuitive site pages and is a
12
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
GOOGLE CHROME DEVELOPER CONSOLE
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.
Fig 3.5 – Developer Tools Elements tab to view HTML and CSS.
14
Fig 3.6 – Console tab to run Javascript
Fig 3.8 – Network tabs show the data fetched over network calls
16
Fig 3.13 – Audit tab shows various miscellaneous features.
REACT JS
Explanation-
17
Fig 3.14 – React Symbol
NODE 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
Fig 3.15 – Node Js Symbol
19
CHAPTER 4
ANALYSIS OF THE TASKS PERFORMED
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 retail-
panel.
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 %
SIMILARITY INDEX
11%
INTERNET SOURCES
2%
PUBLICATIONS
17%
STUDENT PAPERS
PRIMARY SOURCES
1
Submitted to Jaypee University of
Information Technology 3
Student Paper
%
2
Submitted to Siddaganga
Institute of Technology 3
Student Paper
%
3
Submitted to B.S.Abdur Rahman
Crescent Institute of Science & 2
Technology
Student Paper %
4
www.ir.juit.ac.in:8080
Internet Source 1%
5
www.scribd.com
Internet Source 1%
6
Submitted to Raffles Institution
Student Paper 1%
7
Submitted to North East Surrey
College of Technology, Surrey 1
Student Paper
%
Submitted to Softwarica College Of IT & E-
8
Commerce
Student Paper 1%
9 Submitted to International Institute of
Information Technology, Hyderabad
1%
Student Paper
13
<1
www.geeksforgeeks.org
Internet Source
%
14 Submitted to Savitribai Phule Pune
<1
University
Student Paper
15 %
www.slideshare.net
<1
Internet Source
16
Submitted to CSU Northridge %
Student Paper
<1
%
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.
Word Counts
All Preliminary
Pages
Report Generated on Bibliography/Ima Character Counts
ges/Quotes
Submission ID Total Pages Scanned
14 Words String
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