FSWD Report
FSWD Report
FSWD Report
INTRODUCTION
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.
1
“ ”
Goal- To utilize prior knowledge of HTML Fundamentals and become practically familiar
with the most usable tags such as div, span, strong, forms, img, hyperlinks etc.
Explanation –
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
2
incorporate different labels as subcomponents. Programs don't show the HTML labels, yet
use them to decipher the substance of the page.
“ ”
Goal-To get familiar with basics of styling a webpage using CSS and minifying
CSS for more efficiency.
Explanation –
3
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”.
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.
“ ”
4
JAVASCRIPT
Goal- To understand the concepts of Javascript such as event-handling, OOPS etc. and use
them to create interactive web-apps.
Explanation-
JavaScript motors were initially utilized distinctly in internet browsers, however they
are presently implanted in certain servers, as a rule by means of Node.js. They are
additionally installed in an assortment of uses made with systems, for example, Electron and
Cordova.
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.
5
”
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.
6
Fig 3.5 – Developer Tools Elements tab to view HTML and CSS.
7
Fig 3.8 – Network tabs show the data fetched over network calls
8
Fig 3.11 – Application tab show total application structure
9
REACT JS
Explanation-
10
NODE JS
Goal- To understand the basics of backend development using node js and to host a server
using express js.
Explanation –
“ 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
FRONT-END
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.
12
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.
13
Fig 4.2.3 – Goal Tracker
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.
14
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.
15
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.
16
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.
17
Fig 4.2.10 – Average Order Value Chart
18
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.
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.
19
CHAPTER 3
TECHNOLOGIES USED
HTML (Hypertext Markup Language), CSS (Cascading Style Sheets), and JavaScript
formed the core trio of front-end technologies. HTML was used for structuring web pages,
CSS for styling and layout, and JavaScript for interactivity and dynamic behavior.
React.js:
React.js was employed for building dynamic and interactive user interfaces. Its
component-based architecture facilitated the creation of reusable UI elements, enhancing
development efficiency and maintainability.
Node.js:
Express.js:
Express.js, a minimalist web application framework for Node.js, was chosen for
handling routing, middleware, and other server-side functionalities. It streamlined the
development of robust and efficient APIs.
MySQL:
MySQL was the chosen relational database management system (RDBMS) for
storing and managing structured data. It provided a reliable foundation for data storage and
retrieval in the e-commerce project.
20
MongoDB:
WebSocket:
AWS services, including EC2 for hosting, S3 for file storage, and RDS for database
management, were leveraged for deploying and hosting web applications.
Postman:
Postman was used for API testing and debugging, allowing for efficient validation of
API endpoints and responses during development.
These technologies, frameworks, and tools collectively formed the technological stack that
empowered the successful execution of the web development projects during my internship.
They played pivotal roles in achieving project objectives and enhancing the overall user
experience of the applications.
21
During my Fullstack web development internship, I had the opportunity to work with
a diverse range of technologies, libraries, and tools that collectively formed the foundation of
the projects. This included utilizing HTML, CSS, and JavaScript as the fundamental trio for
crafting the structure, style, and interactivity of web pages. React.js was employed
extensively to develop dynamic and interactive user interfaces, leveraging its component-
based architecture for reusable UI elements. On the server-side, Node.js provided a powerful
runtime environment, allowing JavaScript to be executed server-side.
22
CHAPTER 4
CHALLENGES FACED
23
Collaborative Development Challenges:
Cross-Browser Compatibility:
Improving the efficiency of database queries for retrieving and updating data
presented a complex problem. This required a deep understanding of database indexing and
query optimization techniques.
Security Concerns:
24
Adapting to Evolving Technologies:
Balancing multiple tasks and deadlines within the project timeline required effective
time management skills. Prioritizing tasks and allocating time appropriately was crucial to
meet project milestones.
Integrating the third-party API for payment processing demanded a rigorous process
of understanding the API documentation and conducting iterative testing. Leveraging the
knowledge gained from API integration, I refined my ability to navigate and integrate
external services, broadening my skill set in working with diverse software ecosystems.
25
progressive enhancement strategies, I ensured a consistent user experience across platforms,
reinforcing the importance of thorough testing in the development process.
For database query optimization, I delved into advanced SQL techniques and
explored indexing strategies. By refining my understanding of database performance, I
successfully improved query execution times, demonstrating the critical impact of efficient
database management on overall application performance.
Approach: Thoroughly studied the API documentation and conducted iterative testing to
understand its functionality and requirements. Implemented and iterated on integration until
seamless functionality was achieved.
Approach: Actively engaged in regular team meetings, stand-ups, and utilized project
management tools for clear task assignment and tracking. Sought feedback from team
26
members and actively participated in code reviews.
Learning: Improved communication skills, honed teamwork abilities, and gained insight
into effective collaborative development practices.
Cross-Browser Compatibility:
Approach: Conducted extensive testing and debugging across various browsers, leveraging
developer tools for troubleshooting. Employed progressive enhancement strategies to ensure
a consistent user experience.
Approach: Delved into advanced SQL techniques and explored indexing strategies to
improve database query performance. Conducted rigorous testing to validate optimizations.
Approach: Prioritized tasks based on project milestones and deadlines. Utilized time
management techniques to allocate dedicated time blocks for specific tasks.
Learning: Improved organizational and time management skills, gained the ability to
efficiently manage multiple tasks within project timelines.
27
CHAPTER 5
CONCLUSION
“ “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.”
28
CHAPTER 6
BIBLIOGRAPHY
● https://javascript.info/
● https://reactjs.org/
● https://stackoverflow.com/
29