0% found this document useful (0 votes)
3 views

IP Project File

The document outlines a mobile store project using dataframes, submitted by Akshay Karthik Akella for the academic session 2024-2025. It includes a Python Flask application that allows users to view, search, and manage a shopping cart for mobile phones, utilizing a CSV file for data storage. The document contains code snippets, output examples, and a bibliography, demonstrating the functionality of the application.

Uploaded by

wacoj50444
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

IP Project File

The document outlines a mobile store project using dataframes, submitted by Akshay Karthik Akella for the academic session 2024-2025. It includes a Python Flask application that allows users to view, search, and manage a shopping cart for mobile phones, utilizing a CSV file for data storage. The document contains code snippets, output examples, and a bibliography, demonstrating the functionality of the application.

Uploaded by

wacoj50444
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

D.A.

V PUBLIC SCHOOL
AUNDH, PUNE

(SESSION 2024-2025)

MOBILE STORE USING


DATAFRAMES

SUBMITTED BY:-

AKSHAY KARTHIK AKELLA


XII – B
ROLL NO. –

1
2
CONTENTS :-

● Certificate 2
● Code 4
● Output 22
● Bibliography 23

File Hierarchy and CSV file

3
main.py

import pandas as pd

import matplotlib.pyplot as plt

from flask import Flask, render_template, request, redirect, url_for

import random

global df
df = pd.read_csv('data.csv')
app = Flask(__name__)
global customer_name

@app.route('/', methods=['POST', 'GET'])


def name():
global customer_name
if request.method == 'POST':
customer_name = request.form.get("name")
return redirect(url_for('home'))
return render_template('index.html', redirect_url="/home")

@app.route('/home')
def home():
rand_ind = random.sample(range(len(df)), 3)
mobile_names = df.iloc[rand_ind][["phone_model", "price_usd", "ram",
"storage", "battery"]].values.tolist()
print(mobile_names)

max_row = df.loc[df['price_usd'].idxmax()]
min_row = df.loc[df['price_usd'].idxmin()]
result = [[max_row['phone_model'], max_row['price_usd'], max_row['ram'],
max_row['storage'], max_row['battery'], "most expensive", "warning"],
[min_row['phone_model'], min_row['price_usd'], min_row['ram'],
min_row['storage'], min_row['battery'], "cheapest deal", "success"]]

print(result)
return render_template('home.html', rand_mobs=mobile_names,
heir_mobs=result)

@app.route('/search', methods=['POST', 'GET'])


def search():

4
df_filtered = None
if request.method == 'POST':
phone_brand = request.form.get('brand')
price_range = request.form.get('price')
sort_by = request.form.get('sort')

df_filtered = df[df['phone_brand'] == phone_brand]


# print(df_filtered)

price_range_values = price_range.split('-')
min_price = int(price_range_values[0])
max_price = int(price_range_values[1])
df_filtered = df_filtered[(df_filtered['price_usd'] >= min_price) &
(df_filtered['price_usd'] <= max_price)]
# print(df_filtered)

if sort_by == 'asc':
df_filtered = df_filtered.sort_values(by='price_usd',
ascending=True)
elif sort_by == 'desc':
df_filtered = df_filtered.sort_values(by='price_usd',
ascending=False)

df_filtered = df_filtered.loc[:, ["phone_model", "price_usd", "ram",


"storage", "battery"]].values.tolist()

brands = df['phone_brand'].unique()
if df_filtered is None:
return render_template('search.html', brand_names=brands)
else:
return render_template('search.html', brand_names=brands,
phones=df_filtered)

global cart
cart = pd.DataFrame(columns=["name", "price", "ram", "storage", "battery",
"quantity"])

@app.route('/add_to_cart', methods=['POST'])
def add_to_cart():
item = {
"name": request.form.get("name"),
"price": request.form.get("price"),
"ram": int(request.form.get("ram")),
"storage": int(request.form.get("storage")),
"battery": int(request.form.get("battery")),
"quantity":1
}
cart.loc[len(cart)] = item

5
return redirect(url_for('home'))

@app.route('/add', methods=['POST'])
def add():
print('check')
item = {
"name": request.form.get("name"),
"price": request.form.get("price"),
"ram": int(request.form.get("ram")),
"storage": int(request.form.get("storage")),
"battery": int(request.form.get("battery")),
"quantity":int(request.form.get("quantity"))
}
cart.loc[len(cart)] = item
return redirect(url_for('search'))

@app.route('/cart')
def mycart():
print(cart)
cart_names = cart.loc[:, ["name", "price", "ram", "storage", "battery",
"quantity"]].values
subtotal = 0
total = 0
shipping = 0

for name, price, ram, storage, battery, quantity in cart_names:


subtotal += float(price)*int(quantity)
shipping += 10*int(quantity)
subtotal = round(subtotal, 2)
discount = round(0.1*subtotal, 2)
total = round(subtotal + shipping - discount, 2)

print(cart)
print(cart_names)
return render_template('cart.html', cart_mobs=cart_names,
subtotal=subtotal, shipping=shipping, total=total, discount=discount)

@app.route('/remove_item', methods=['POST'])
def remove_item():
global cart
phone_name = request.form.get('phone_name')
if phone_name in cart['name'].values:
cart = cart.loc[cart['name'] != phone_name]

return redirect(url_for('mycart'))

6
@app.route('/update_quantity', methods=['POST'])
def update_quantity():
global cart

phone_name = request.form.get('phone_name')
new_quantity = int(request.form.get('quantity'))
if phone_name in cart['name'].values:
cart.loc[cart['name'] == phone_name, 'quantity'] = new_quantity
return redirect(url_for('mycart'))

@app.route('/thanks')
def thanks():
global cart
cart = cart.iloc[0:0]
print(cart)
return render_template('thankyou.html', cust=customer_name)

if __name__ =='__main__':
app.run(debug = True)

cart.html
<!DOCTYPE html>

<html>
<head>
<title>Shopping Cart</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Use only Bootstrap 4 -->
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/5.15.4/css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat"
rel="stylesheet">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></scrip
t>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></sc
ript>
<style>
/* Navbar fixes */

7
.navbar {
margin-bottom: 50px;
border-radius: 0;
}

.navbar-nav {
margin-left: 0;
padding-left: 0;
}

.navbar-nav li {
padding: 0;
margin-right: 10px;
}

.navbar-nav > li > a {


padding-top: 14px;
padding-bottom: 14px;
}

.navbar-nav li a {
margin-right: 0;
}

.jumbotron {
margin-bottom: 0;
}

footer {
background-color: #f2f2f2;
padding: 25px;
}

.shopping-cart {
padding-bottom: 50px;
font-family: 'Montserrat', sans-serif;
}

.shopping-cart.dark {
background-color: #f6f6f6;
}

.shopping-cart .content {
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.075);
background-color: white;
}

.shopping-cart .block-heading {

8
padding-top: 50px;
margin-bottom: 40px;
text-align: center;
}

.shopping-cart .block-heading p {
text-align: center;
max-width: 420px;
margin: auto;
opacity: 0.7;
}

.shopping-cart .block-heading h1,


.shopping-cart .block-heading h2,
.shopping-cart .block-heading h3 {
margin-bottom: 1.2rem;
color: #3b99e0;
}

.shopping-cart .items {
margin: auto;
}

.shopping-cart .items .product {


margin-bottom: 20px;
padding-top: 20px;
padding-bottom: 20px;
}

.shopping-cart .items .product .info {


padding-top: 0px;
text-align: center;
}

.shopping-cart .items .product .info .product-name {


font-weight: 600;
}

.shopping-cart .items .product .info .product-name .product-info {


font-size: 14px;
margin-top: 15px;
}

.shopping-cart .items .product .info .product-name .product-info


.value {
font-weight: 400;
}

9
.shopping-cart .items .product .info .quantity .quantity-input {
margin: auto;
width: 80px;
}

.shopping-cart .items .product .info .price {


margin-top: 15px;
font-weight: bold;
font-size: 22px;
}

.shopping-cart .summary {
border-top: 2px solid #5ea4f3;
background-color: #f7fbff;
height: 100%;
padding: 30px;
}

.shopping-cart .summary h3 {
text-align: center;
font-size: 1.3em;
font-weight: 600;
padding-top: 20px;
padding-bottom: 20px;
}

.shopping-cart .summary .summary-item:not(:last-of-type) {


padding-bottom: 10px;
padding-top: 10px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.shopping-cart .summary .text {


font-size: 1em;
font-weight: 600;
}

.shopping-cart .summary .price {


font-size: 1em;
float: right;
}

.shopping-cart .summary button {


margin-top: 20px;
}

@media (min-width: 768px) {


.shopping-cart .items .product .info {

10
padding-top: 25px;
text-align: left;
}

.shopping-cart .items .product .info .price {


font-weight: bold;
font-size: 22px;
top: 17px;
}

.shopping-cart .items .product .info .quantity {


text-align: center;
}

.shopping-cart .items .product .info .quantity .quantity-input {


padding: 4px 10px;
text-align: center;
}
}
</style>
</head>
<body>
<div class="jumbotron">
<div class="container text-center">
<h1>Mobile Store</h1>
</div>
</div>

<nav class="navbar navbar-expand-lg navbar-light bg-dark">


<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggler" data-
toggle="collapse" data-target="#myNavbar">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link text-white"
href="/home">Home</a></li>
<li class="nav-item"><a class="nav-link text-white"
href="/search">Search</a></li>
</ul>
<ul class="navbar-nav ml-auto">
<li class="nav-item active"><a class="nav-link text-white"
href="/cart"><i class="fas fa-shopping-cart"></i> Cart</a></li>
</ul>
</div>

11
</div>
</nav>
<main class="page">
<section class="shopping-cart dark">
<div class="container">
<div class="block-heading">
<h2>Checkout</h2>
<p>Verify everything before checkout. Happy Shopping!!</p>
</div>
<div class="content">
{% if cart_mobs|length == 0 %}
<div class="alert alert-warning text-center" role="alert">
Your cart is empty.
</div>
{% elif cart_mobs|length != 0 %}
<div class="row">
<div class="col-md-12 col-lg-8">
<div class="items">
{%for name,price,ram,storage,battery,quantity in cart_mobs%}
<div class="product" id="{{name}}">
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-8">
<div class="info">
<div class="row">
<div class="col-md-5 product-name">
<div class="product-name">
<a href="#">{{name}}</a>
<div class="product-info">
<div>Battery: <span class="value">{{battery}}mAh</span></div>
<div>RAM: <span class="value">{{ram}}GB</span></div>
<div>Memory: <span class="value">{{storage}}GB</span></div>
</div>
</div>
</div>
<div class="col-md-4 quantity">
<form action="/update_quantity" method="POST">
<label for="quantity">Quantity:</label>
<input id="quantity" name="quantity" min="1" type="number"
value="{{quantity}}" class="form-control quantity-input" />
<input type="hidden" name="phone_name" value="{{name}}">
<button type="submit" class="btn btn-primary btn-sm mt-2">Update</button>
</form>
<form action="/remove_item" method="POST">
<input type="hidden" name="phone_name" value="{{name}}">
<button type="submit" class="btn btn-danger btn-sm mt-2">
<i class="fas fa-trash"></i> Remove
</button>

12
</form>
</div>
<div class="col-md-3 price">
<span>${{price}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="col-md-12 col-lg-4">
<div class="summary">
<h3>Summary</h3>
<div class="summary-item"><span class="text">Subtotal</span><span
class="price">{{subtotal}}</span></div>
<div class="summary-item"><span class="text">Discount</span><span
class="price">{{discount}}</span></div>
<div class="summary-item"><span class="text">Shipping</span><span
class="price">{{shipping}}</span></div>
<div class="summary-item"><span class="text">Total</span><span
class="price">{{total}}</span></div>
<button type="button" class="btn btn-primary btn-lg btn-block"><a
class="text-white" href="/thanks">Checkout</a></button>
</div>
</div>
</div>
{% endif %}
</div>
</div>
</section>
</main>
</body>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></sc
ript>
<script>
function removeItem(productId) {
const productElement = document.getElementById(productId);
productElement.remove();
}
</script>
</body>

13
</html>

home.html
<!DOCTYPE html>

<html lang="en">
<head>
<title>Mobile Store Project</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/5.15.4/css/all.min.css">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></scrip
t>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></sc
ript>
<style>
.navbar {
margin-bottom: 50px;
border-radius: 0;
}

.jumbotron {
margin-bottom: 0;
}
footer {
background-color: #f2f2f2;
padding: 25px;
}
</style>
</head>
<body>

<div class="jumbotron">
<div class="container text-center">
<h1>Mobile Store</h1>
<!-- <p>Mission, Vission & Values</p> -->
</div>
</div>

<nav class="navbar navbar-inverse">

14
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-
target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="/search">Search</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/cart"><i class="fas fa-shopping-cart"></i> Cart</a></li>
</ul>
</div>
</div>
</nav>

<div class="container">
<div class="row">

{%for phone_model,price,ram,storage,battery in rand_mobs%}


<div class="col-sm-4">
<div class="panel panel-info">
<div class="panel-heading">Random Picks</div>
<div class="panel-body">{{phone_model}}</div>
<div class="panel-body">${{price}}</div>
<div class="panel-body">{{ram}}GB</div>
<div class="panel-body">{{storage}}GB</div>
<div class="panel-body">{{battery}}mAh</div>
<div class="card-footer text-center">
<form method="POST" action="/add_to_cart">
<input type="hidden" name="name" value="{{phone_model}}">
<input type="hidden" name="price" value="{{price}}">
<input type="hidden" name="ram" value="{{ram}}">
<input type="hidden" name="storage" value="{{storage}}">
<input type="hidden" name="battery" value="{{battery}}">
<button type="submit" class="btn btn-primary btn-block">Add to
Cart</button>
</form>
</div>
</div>
</div>
{% endfor %}
{%for phone_model,price,ram,storage,battery,heir,type in heir_mobs%}

15
<div class="col-sm-4">
<div class="panel panel-{{type}}">
<div class="panel-heading">{{heir}}</div>
<div class="panel-body">{{phone_model}}</div>
<div class="panel-body">${{price}}</div>
<div class="panel-body">{{ram}}GB</div>
<div class="panel-body">{{storage}}GB</div>
<div class="panel-body">{{battery}}mAh</div>
<div class="card-footer text-center">
<form method="POST" action="/add_to_cart">
<input type="hidden" name="name" value="{{phone_model}}">
<input type="hidden" name="price" value="{{price}}">
<input type="hidden" name="ram" value="{{ram}}">
<input type="hidden" name="storage" value="{{storage}}">
<input type="hidden" name="battery" value="{{battery}}">
<button type="submit" class="btn btn-primary btn-block">Add to
Cart</button>
</form>
</div>
</div>
</div>
{% endfor %}
</div><br>
</div><br><br>

<footer class="container-fluid text-center">


<p>Mobile Store 2025</p>
</footer>

</body>
</html>

index.html
<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>

16
<div class="container d-flex flex-column justify-content-center align-
items-center vh-100">
<h1 class="mb-4">Welcome to Mobile Store</h1>
<form action="/" method="POST" class="w-50">
<div class="form-group">
<label for="name">Enter Your Name:</label>
<input type="text" id="name" name="name" class="form-control"
placeholder="Your Name" required>
</div>
<button type="submit" class="btn btn-primary btn-block mt-
3">Submit</button>
</form>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js
"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></sc
ript>
</body>
</html>

search.html

Click or tap<!DOCTYPE html>

<html lang="en">
<head>
<title>Search Page - Mobile Store</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/5.15.4/css/all.min.css">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></scrip
t>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></sc
ript>
<style>

17
.card {
border: 1px solid #ddd;
border-radius: 4px;
padding: 15px;
margin: 10px 0;
}
.navbar {
margin-bottom: 50px;
border-radius: 0;
}
</style>
</head>
<body>

<!-- Jumbotron Heading -->


<div class="jumbotron text-center">
<h1>Mobile Store</h1>
<p>Your one-stop shop for the latest mobile phones</p>
</div>

<!-- Navbar -->


<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-
target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>

</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="/home">Home</a></li>
<li class="active"><a href="/search">Search</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/cart"><i class="fas fa-shopping-cart"></i> Cart</a></li>
</ul>
</div>
</div>
</nav>

<!-- Main Content -->


<div class="container">
<h2>Search Mobiles</h2>
<form method="POST" action="/search">

18
<div class="form-group">
<label for="brand">Phone Brand:</label>
<select class="form-control" id="brand" name="brand">
{% for brand in brand_names %}
<option value="{{brand}}">{{brand}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label for="price">Price Range:</label>
<select class="form-control" id="price" name="price">
<option value="0-200">Under $200</option>
<option value="200-500">$200 - $500</option>
<option value="500-1000">$500 - $1000</option>
<option value="1000-2000">$1000 - $2000</option>
<option value="2000-9999">Above $2000</option>
</select>
</div>
<div class="form-group">
<label for="sort">Sort By:</label>
<select class="form-control" id="sort" name="sort">
<option value="asc">Price: Low to High</option>
<option value="desc">Price: High to Low</option>
</select>
</div>
<button type="submit" class="btn btn-primary">Search</button>
</form>

<hr>

<div id="results" style="margin-top: 30px;">


{% if phones is not none %}
<div class="row">
{% for name, price, ram, storage, battery in phones %}
<div class="col-md-4">
<div class="panel panel-info">
<div class="panel-heading">{{name}}</div>
<div class="panel-body">
<p>Price: ${{ price }}</p>
<p>RAM: {{ ram }} GB</p>
<p>Storage: {{ storage }} GB</p>
<p>Battery: {{ battery }} mAh</p>
</div>
<div class="panel-footer text-center">
<form method="POST" action="/add">

<form method="POST" action="/add">


<input type="hidden" name="name" value="{{name}}">

19
<input type="hidden" name="price" value="{{price}}">
<input type="hidden" name="ram" value="{{ram}}">
<input type="hidden" name="storage" value="{{storage}}">
<input type="hidden" name="battery" value="{{battery}}">
<input type="number" name="quantity" min="1" value="1"
class="form-control" style="width: 70%; margin: auto;">
<button type="submit" class="btn btn-primary btn-
block">Add to Cart</button>
</form>
</form>
</div>
</div>
</div>
{% endfor %}
</div>
{% else %}
<script>console.log('empty')</script>
{% endif %}

<footer class="container-fluid text-center">


<p>Mobile Store 2025</p>
</footer>

<script>
// div = document.getElementById('hide')
// function unhide(){
// div.removeAttributes('id')
// }
</script>
</body>
</html>

thankyou.html

<html lang="en">

<head>

<meta charset="utf-8" />


<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>

20
<link
href='https://fonts.googleapis.com/css?family=Lato:300,400|Montserrat:700'
rel='stylesheet' type='text/css'>
<style>
@import
url(//cdnjs.cloudflare.com/ajax/libs/normalize/3.0.1/normalize.min.css);
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-
awesome.min.css);
</style>
<link rel="stylesheet" href="https://2-22-4-dot-lead-
pages.appspot.com/static/lp918/min/default_thank_you.css">
<script src="https://2-22-4-dot-lead-
pages.appspot.com/static/lp918/min/jquery-1.9.1.min.js"></script>
<script src="https://2-22-4-dot-lead-
pages.appspot.com/static/lp918/min/html5shiv.js"></script>
</head>
<body>
<header class="site-header" id="header">
<h1 class="site-header__title" data-lead-id="site-header-title">THANK
YOU!</h1>
</header>

<div class="main-content">
<i class="fa fa-check main-content__checkmark" id="checkmark"></i>
<p class="main-content__body" data-lead-id="main-content-body">Order
placed, Thank You {{cust}}<br>Redirecting to homepage in...</p>
<h1 id="countdown"></h1>
</div>
<footer class="site-footer" id="footer">
</footer>
<script>
let countdown = 5;
function startCountdown() {
if (countdown > 0) {
document.getElementById('countdown').textContent = countdown;
countdown--;
setTimeout(startCountdown, 1000);
} else {
window.location.href = "/"
}
}
startCountdown();
</script>
</body>
</html

21
OUTPUT:

22
23
24
BIBLIOGRAPHY
● kaggle.com
● youtube.com
● w3schools.com
● getbootstrap.com
● cssauthor.com

25

You might also like