Upload 26 files
Browse files- static/app0styling.css +197 -0
- static/app_resultsttyling.css +152 -0
- static/appanalysisstyling.css +90 -0
- static/datasetstyling.css +181 -0
- static/fraudappstyling.css +174 -0
- static/images/analysis.jpg +0 -0
- static/images/appimage.jpg +0 -0
- static/images/car.jpg +0 -0
- static/images/car2.jpg +0 -0
- static/images/fraudapp.jpg +0 -0
- static/images/logo.png +0 -0
- static/images/weimage.jpg +0 -0
- static/insurance_analysisstyling.css +109 -0
- static/style.css +135 -0
- static/vehicle_result.css +74 -0
- static/vehicle_script.js +20 -0
- static/vehiclestyling.css +171 -0
- templates/app_analysis.html +56 -0
- templates/app_analysis_final.html +70 -0
- templates/app_result.html +91 -0
- templates/dataset.html +188 -0
- templates/fraudapp.html +60 -0
- templates/index.html +50 -0
- templates/insurance_analysis.html +99 -0
- templates/prediction_result.html +60 -0
- templates/vehicle.html +166 -0
static/app0styling.css
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden;
|
6 |
+
height: 100%;
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-image: url('../static/images/analysis.jpg');
|
12 |
+
background-color: #f2f2f2;
|
13 |
+
color: #333;
|
14 |
+
}
|
15 |
+
/* Header styling */
|
16 |
+
.header {
|
17 |
+
text-align: center;
|
18 |
+
margin-top: 120px; /* Adjust as needed */
|
19 |
+
}
|
20 |
+
/* Header h1 styling */
|
21 |
+
.header h1 {
|
22 |
+
color: #fff; /* White color */
|
23 |
+
font-size: 80px; /* Increased font size */
|
24 |
+
font-weight: bold;
|
25 |
+
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5); /* Text shadow */
|
26 |
+
margin-top: 50px; /* Adjusted margin */
|
27 |
+
}
|
28 |
+
|
29 |
+
/* Navigation bar styling */
|
30 |
+
.navbar {
|
31 |
+
background-color: #001;
|
32 |
+
width: 100%;
|
33 |
+
display: flex;
|
34 |
+
justify-content: space-between;
|
35 |
+
align-items: center;
|
36 |
+
padding: 15px;
|
37 |
+
position: fixed;
|
38 |
+
top: 0;
|
39 |
+
z-index: 999;
|
40 |
+
}
|
41 |
+
|
42 |
+
.logo img {
|
43 |
+
height: 50px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.navbar-links {
|
47 |
+
display: flex;
|
48 |
+
}
|
49 |
+
|
50 |
+
.navbar a {
|
51 |
+
color: white;
|
52 |
+
text-decoration: none;
|
53 |
+
padding: 10px 20px;
|
54 |
+
margin-right: 10px;
|
55 |
+
border-radius: 5px;
|
56 |
+
}
|
57 |
+
|
58 |
+
.navbar a:hover {
|
59 |
+
background-color: #555;
|
60 |
+
}
|
61 |
+
|
62 |
+
/* Dropdown styling */
|
63 |
+
.dropdown {
|
64 |
+
position: relative;
|
65 |
+
display: inline-block;
|
66 |
+
}
|
67 |
+
|
68 |
+
.dropbtn {
|
69 |
+
background-color: transparent;
|
70 |
+
color: white;
|
71 |
+
padding: 10px 20px;
|
72 |
+
font-size: 16px;
|
73 |
+
border: none;
|
74 |
+
cursor: pointer;
|
75 |
+
margin-right: 10px;
|
76 |
+
}
|
77 |
+
|
78 |
+
.dropdown-content {
|
79 |
+
display: none;
|
80 |
+
position: absolute;
|
81 |
+
background-color: black;
|
82 |
+
min-width: 160px;
|
83 |
+
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
84 |
+
z-index: 1;
|
85 |
+
margin-top: 3px;
|
86 |
+
}
|
87 |
+
|
88 |
+
.dropdown-content a {
|
89 |
+
color: white;
|
90 |
+
padding: 12px 16px;
|
91 |
+
text-decoration: none;
|
92 |
+
display: block;
|
93 |
+
transition: background-color 0.3s, padding 0.3s;
|
94 |
+
}
|
95 |
+
|
96 |
+
.dropdown-content a:hover {
|
97 |
+
background-color: grey;
|
98 |
+
padding: 15px 16px;
|
99 |
+
}
|
100 |
+
|
101 |
+
.dropdown:hover .dropdown-content {
|
102 |
+
display: block;
|
103 |
+
}
|
104 |
+
|
105 |
+
/* Header styling */
|
106 |
+
.header {
|
107 |
+
text-align: center;
|
108 |
+
margin-top: 120px; /* Adjust as needed */
|
109 |
+
}
|
110 |
+
|
111 |
+
/* Header h1 styling */
|
112 |
+
.header h1 {
|
113 |
+
color: #fff; /* White color */
|
114 |
+
font-size: 80px; /* Increased font size */
|
115 |
+
font-weight: bold;
|
116 |
+
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5); /* Text shadow */
|
117 |
+
margin-top: 50px; /* Adjusted margin */
|
118 |
+
}
|
119 |
+
|
120 |
+
/* Input container styling */
|
121 |
+
.input-container {
|
122 |
+
background-color: #2a2b2a; /* Light grey background color */
|
123 |
+
padding: 60px; /* Increased padding */
|
124 |
+
border-radius: 8px;
|
125 |
+
margin: 30px auto; /* Center the container */
|
126 |
+
max-width: 700px; /* Adjusted max width */
|
127 |
+
max-height: 400px;
|
128 |
+
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); /* Box shadow */
|
129 |
+
}
|
130 |
+
|
131 |
+
/* Input container styling */
|
132 |
+
.input-container {
|
133 |
+
margin-top: 25px; /* Adjusted margin to move it below the navbar */
|
134 |
+
margin-left: auto; /* Centering the input container horizontally */
|
135 |
+
margin-right: auto; /* Centering the input container horizontally */
|
136 |
+
width: 80%; /* Adjusted width */
|
137 |
+
max-width: 600px; /* Added max-width for responsiveness */
|
138 |
+
}
|
139 |
+
|
140 |
+
/* Input group styling */
|
141 |
+
.input-group {
|
142 |
+
margin-bottom: 20px; /* Increased margin */
|
143 |
+
}
|
144 |
+
|
145 |
+
.input-group label {
|
146 |
+
margin-top: -10px;
|
147 |
+
display: block;
|
148 |
+
margin-bottom: 8px; /* Adjusted margin */
|
149 |
+
color: #faf9f9; /* Dark gray text color */
|
150 |
+
font-weight: bold; /* Bold font weight */
|
151 |
+
}
|
152 |
+
|
153 |
+
.input-group input {
|
154 |
+
width: calc(100% - 24px); /* Adjusted width */
|
155 |
+
padding: 12px; /* Increased padding */
|
156 |
+
border: 1px solid #222323;
|
157 |
+
border-radius: 6px;
|
158 |
+
color: #080808; /* Dark gray text color */
|
159 |
+
}
|
160 |
+
|
161 |
+
/* Button group styling */
|
162 |
+
.button-group {
|
163 |
+
text-align: center;
|
164 |
+
margin-top: 20px; /* Adjusted margin */
|
165 |
+
}
|
166 |
+
|
167 |
+
/* Clear button styling */
|
168 |
+
.clear-button,
|
169 |
+
.submit-button {
|
170 |
+
display: inline-block;
|
171 |
+
padding: 10px 21px; /* Increased padding */
|
172 |
+
border: none;
|
173 |
+
border-radius: 6px;
|
174 |
+
color: #fff; /* White text color */
|
175 |
+
font-size: 18px; /* Increased font size */
|
176 |
+
cursor: pointer;
|
177 |
+
transition: background-color 0.3s, color 0.3s; /* Smooth transition */
|
178 |
+
}
|
179 |
+
|
180 |
+
.clear-button {
|
181 |
+
background-color: #880303; /* Dark grey color for Clear button */
|
182 |
+
float: left;
|
183 |
+
}
|
184 |
+
|
185 |
+
.submit-button {
|
186 |
+
background-color: #4caf50; /* Green color for Submit button */
|
187 |
+
float: right;
|
188 |
+
}
|
189 |
+
|
190 |
+
/* Hover effect for buttons */
|
191 |
+
.clear-button:hover {
|
192 |
+
background-color: #030303; /* Darker grey on hover */
|
193 |
+
}
|
194 |
+
|
195 |
+
.submit-button:hover {
|
196 |
+
background-color: #080808; /* Darker green on hover */
|
197 |
+
}
|
static/app_resultsttyling.css
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body {
|
2 |
+
font-family: Arial, sans-serif;
|
3 |
+
background-color: #f9f9f4; /* Cream colored background */
|
4 |
+
padding: 20px;
|
5 |
+
}
|
6 |
+
|
7 |
+
h2 {
|
8 |
+
text-align: center; /* Center the heading */
|
9 |
+
font-size: 45px; /* Increase font size for the heading */
|
10 |
+
color: #000; /* Black color for heading */
|
11 |
+
font-weight: bold; /* Bold font for heading */
|
12 |
+
margin-bottom: 20px; /* Add margin below the heading */
|
13 |
+
}
|
14 |
+
|
15 |
+
.container {
|
16 |
+
display: flex; /* Use flexbox for layout */
|
17 |
+
align-items: center; /* Center items vertically */
|
18 |
+
justify-content: center; /* Center items horizontally */
|
19 |
+
flex-direction: column; /* Display items vertically */
|
20 |
+
}
|
21 |
+
/* Add this to your existing CSS */
|
22 |
+
|
23 |
+
.app-name {
|
24 |
+
color: #FF0000; /* Red color for app name */
|
25 |
+
font-weight: bold; /* Bold font for app name */
|
26 |
+
font-size: 40px;
|
27 |
+
}
|
28 |
+
.app-info p {
|
29 |
+
font-weight: bold; /* Bold font for app name */
|
30 |
+
color: #050505; /* Red color for app name */
|
31 |
+
font-size: 35px;
|
32 |
+
}
|
33 |
+
|
34 |
+
.prediction p {
|
35 |
+
font-weight: bold; /* Bold font for app name */
|
36 |
+
color: #050505; /* Red color for app name */
|
37 |
+
font-size: 35px;
|
38 |
+
}
|
39 |
+
|
40 |
+
.prediction-text {
|
41 |
+
color: #008000; /* Green color for prediction */
|
42 |
+
font-weight: bold; /* Bold font for prediction */
|
43 |
+
font-size: 40px;
|
44 |
+
}
|
45 |
+
/* Additional table */
|
46 |
+
.additional-table-container {
|
47 |
+
margin: 20px auto;
|
48 |
+
border-collapse: collapse;
|
49 |
+
width: 90%; /* Set width to fit the screen */
|
50 |
+
}
|
51 |
+
|
52 |
+
.additional-table-container th,
|
53 |
+
.additional-table-container td {
|
54 |
+
padding: 10px;
|
55 |
+
border: 1px solid #ddd; /* Add border */
|
56 |
+
}
|
57 |
+
|
58 |
+
.additional-table-container th {
|
59 |
+
background-color: #25efa1;
|
60 |
+
color: #333;
|
61 |
+
}
|
62 |
+
.analysis-container h3 {
|
63 |
+
font-size: 34px; /* Set font size for headline */
|
64 |
+
color: #333; /* Set color for headline */
|
65 |
+
margin-bottom: 10px; /* Add margin below the headline */
|
66 |
+
font-weight: bold; /* Make the text bold */
|
67 |
+
text-align: left; /* Align the text to the left */
|
68 |
+
}
|
69 |
+
|
70 |
+
.visualization {
|
71 |
+
margin: 10px; /* Add margin around each visualization */
|
72 |
+
display: flex;
|
73 |
+
justify-content: center; /* Center visualizations horizontally */
|
74 |
+
flex-direction: column; /* Display visualizations vertically */
|
75 |
+
align-items: center;
|
76 |
+
}
|
77 |
+
|
78 |
+
.plot-container {
|
79 |
+
margin: 10px; /* Add margin around each plot */
|
80 |
+
}
|
81 |
+
|
82 |
+
.row {
|
83 |
+
display: flex; /* Use flexbox for rows */
|
84 |
+
justify-content: center; /* Center plots within the row */
|
85 |
+
}
|
86 |
+
.plots-container h4 {
|
87 |
+
font-size: 34px; /* Set font size for headline */
|
88 |
+
color: #333; /* Set color for headline */
|
89 |
+
margin-bottom: 10px; /* Add margin below the headline */
|
90 |
+
font-weight: bold; /* Make the text bold */
|
91 |
+
text-align: left; /* Align the text to the left */
|
92 |
+
}
|
93 |
+
|
94 |
+
.buttons {
|
95 |
+
text-align: center;
|
96 |
+
margin-top: 10px; /* Adjust margin top */
|
97 |
+
}
|
98 |
+
|
99 |
+
.buttons button {
|
100 |
+
padding: 15px 30px;
|
101 |
+
font-size: 18px;
|
102 |
+
margin: 0 20px;
|
103 |
+
border: none;
|
104 |
+
border-radius: 15px;
|
105 |
+
background-color: rgb(134, 4, 4);
|
106 |
+
color: white;
|
107 |
+
cursor: pointer;
|
108 |
+
transition: background-color 0.3s;
|
109 |
+
}
|
110 |
+
|
111 |
+
.buttons button:hover {
|
112 |
+
background-color: #001;
|
113 |
+
}
|
114 |
+
|
115 |
+
* Container styling */
|
116 |
+
.container {
|
117 |
+
margin-top: 100px;
|
118 |
+
text-align: center;
|
119 |
+
}
|
120 |
+
|
121 |
+
.container h2 {
|
122 |
+
margin-bottom: 20px;
|
123 |
+
}
|
124 |
+
|
125 |
+
/* Form styling */
|
126 |
+
.app-info {
|
127 |
+
margin-bottom: 20px;
|
128 |
+
}
|
129 |
+
|
130 |
+
.app-info label {
|
131 |
+
margin-right: 10px;
|
132 |
+
}
|
133 |
+
|
134 |
+
.app-info input[type="text"] {
|
135 |
+
padding: 8px;
|
136 |
+
border-radius: 5px;
|
137 |
+
border: 1px solid #ccc;
|
138 |
+
}
|
139 |
+
|
140 |
+
.app-info button {
|
141 |
+
padding: 8px 20px;
|
142 |
+
background-color: #001;
|
143 |
+
color: white;
|
144 |
+
border: none;
|
145 |
+
border-radius: 5px;
|
146 |
+
cursor: pointer;
|
147 |
+
}
|
148 |
+
|
149 |
+
.app-info button:hover {
|
150 |
+
background-color: #555;
|
151 |
+
}
|
152 |
+
|
static/appanalysisstyling.css
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
height: 100%;
|
6 |
+
}
|
7 |
+
|
8 |
+
body {
|
9 |
+
font-family: Arial, sans-serif;
|
10 |
+
background-color: #f2f2f2;
|
11 |
+
color: #333;
|
12 |
+
}
|
13 |
+
|
14 |
+
.container {
|
15 |
+
display: flex;
|
16 |
+
flex-direction: column;
|
17 |
+
align-items: center;
|
18 |
+
}
|
19 |
+
|
20 |
+
/* Dataset display styling */
|
21 |
+
.dataset-container {
|
22 |
+
margin-top: 80px;
|
23 |
+
max-width: 800px;
|
24 |
+
padding: 20px;
|
25 |
+
border: 1px solid #ccc;
|
26 |
+
border-radius: 10px;
|
27 |
+
background-color: #f9f9f9;
|
28 |
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
29 |
+
overflow: visible; /* Allow overflow for printing */
|
30 |
+
margin-left: 320px;
|
31 |
+
}
|
32 |
+
|
33 |
+
.scrollbar {
|
34 |
+
overflow-y: auto;
|
35 |
+
max-height: 400px;
|
36 |
+
}
|
37 |
+
|
38 |
+
table {
|
39 |
+
width: 100%;
|
40 |
+
border-collapse: collapse;
|
41 |
+
}
|
42 |
+
|
43 |
+
th, td {
|
44 |
+
padding: 12px;
|
45 |
+
text-align: left;
|
46 |
+
border-bottom: 1px solid #f2eec5;
|
47 |
+
}
|
48 |
+
|
49 |
+
th {
|
50 |
+
background-color: #25efa1;
|
51 |
+
}
|
52 |
+
|
53 |
+
.visualization {
|
54 |
+
margin-top: 50px;
|
55 |
+
display: flex;
|
56 |
+
flex-direction: column;
|
57 |
+
align-items: center;
|
58 |
+
}
|
59 |
+
|
60 |
+
.plot-container {
|
61 |
+
margin: 20px;
|
62 |
+
}
|
63 |
+
|
64 |
+
.row {
|
65 |
+
display: flex;
|
66 |
+
justify-content: center;
|
67 |
+
}
|
68 |
+
|
69 |
+
.buttons {
|
70 |
+
text-align: center;
|
71 |
+
margin-top: -10px; /* Adjust margin top */
|
72 |
+
margin-bottom: 20px; /* Add margin bottom */
|
73 |
+
}
|
74 |
+
|
75 |
+
.buttons button {
|
76 |
+
padding: 15px 30px;
|
77 |
+
font-size: 18px;
|
78 |
+
margin: 0 20px;
|
79 |
+
border: none;
|
80 |
+
border-radius: 15px;
|
81 |
+
background-color: rgb(134, 4, 4);
|
82 |
+
color: white;
|
83 |
+
cursor: pointer;
|
84 |
+
transition: background-color 0.3s;
|
85 |
+
}
|
86 |
+
|
87 |
+
.buttons button:hover {
|
88 |
+
background-color: #001;
|
89 |
+
}
|
90 |
+
|
static/datasetstyling.css
ADDED
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden; /* Hide horizontal scrollbar */
|
6 |
+
height: 100%; /* Set height to 100% */
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-size: cover;
|
12 |
+
background-position: center;
|
13 |
+
color: #333;
|
14 |
+
overflow-y: auto; /* Show vertical scrollbar if needed */
|
15 |
+
background-repeat: no-repeat; /* Prevent background image from repeating */
|
16 |
+
margin-bottom: 0; /* Remove default bottom margin */
|
17 |
+
}
|
18 |
+
|
19 |
+
.navbar {
|
20 |
+
background-color: #001;
|
21 |
+
width: 100%;
|
22 |
+
display: flex;
|
23 |
+
justify-content: space-between;
|
24 |
+
align-items: center;
|
25 |
+
padding: 15px;
|
26 |
+
position: fixed;
|
27 |
+
top: 0;
|
28 |
+
z-index: 999; /* Ensure navbar is above other content */
|
29 |
+
}
|
30 |
+
|
31 |
+
.logo img {
|
32 |
+
height: 50px; /* Adjust logo height */
|
33 |
+
}
|
34 |
+
|
35 |
+
.navbar-links {
|
36 |
+
display: flex;
|
37 |
+
}
|
38 |
+
|
39 |
+
.navbar a {
|
40 |
+
color: white;
|
41 |
+
text-decoration: none;
|
42 |
+
padding: 10px 20px;
|
43 |
+
margin-right: 10px;
|
44 |
+
border-radius: 5px;
|
45 |
+
}
|
46 |
+
|
47 |
+
.navbar a:hover {
|
48 |
+
background-color: #555;
|
49 |
+
}
|
50 |
+
|
51 |
+
/* Dropdown styling */
|
52 |
+
.dropdown {
|
53 |
+
position: relative;
|
54 |
+
display: inline-block;
|
55 |
+
}
|
56 |
+
|
57 |
+
.dropbtn {
|
58 |
+
background-color: transparent;
|
59 |
+
color: white;
|
60 |
+
padding: 10px 20px;
|
61 |
+
font-size: 16px;
|
62 |
+
border: none;
|
63 |
+
cursor: pointer;
|
64 |
+
margin-right: 10px; /* Adjusted margin */
|
65 |
+
}
|
66 |
+
|
67 |
+
.dropdown-content {
|
68 |
+
display: none;
|
69 |
+
position: absolute;
|
70 |
+
background-color: black; /* Dropdown background color */
|
71 |
+
min-width: 160px;
|
72 |
+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
73 |
+
z-index: 1;
|
74 |
+
margin-top: 3px; /* Adjusted margin */
|
75 |
+
}
|
76 |
+
|
77 |
+
.dropdown-content a {
|
78 |
+
color: white; /* Dropdown text color */
|
79 |
+
padding: 12px 16px; /* Padding for normal state */
|
80 |
+
text-decoration: none;
|
81 |
+
display: block;
|
82 |
+
transition: background-color 0.3s, padding 0.3s; /* Add padding transition */
|
83 |
+
}
|
84 |
+
|
85 |
+
.dropdown-content a:hover {
|
86 |
+
background-color: grey; /* Hover color */
|
87 |
+
padding: 15px 16px; /* Increased padding on hover */
|
88 |
+
}
|
89 |
+
|
90 |
+
.dropdown:hover .dropdown-content {
|
91 |
+
display: block;
|
92 |
+
}
|
93 |
+
|
94 |
+
/* CSS for dataset display */
|
95 |
+
.dataset-container {
|
96 |
+
margin: 60px auto;
|
97 |
+
max-width: 1400px;
|
98 |
+
padding: 20px;
|
99 |
+
border: 1px solid #ccc;
|
100 |
+
border-radius: 10px;
|
101 |
+
background-color: #f9f9f9;
|
102 |
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
103 |
+
}
|
104 |
+
|
105 |
+
.scrollbar {
|
106 |
+
overflow-y: auto; /* Enable vertical scrolling */
|
107 |
+
max-height: 400px; /* Set max height to prevent overflow */
|
108 |
+
}
|
109 |
+
|
110 |
+
table {
|
111 |
+
width: 100%;
|
112 |
+
border-collapse: collapse;
|
113 |
+
}
|
114 |
+
|
115 |
+
th, td {
|
116 |
+
padding: 12px;
|
117 |
+
text-align: left;
|
118 |
+
border-bottom: 1px solid #f2eec5;
|
119 |
+
}
|
120 |
+
|
121 |
+
th {
|
122 |
+
background-color: #25efa1; /* Light gray background for table headers */
|
123 |
+
}
|
124 |
+
|
125 |
+
.plots-container {
|
126 |
+
margin: 10px; /* Add margin around each visualization */
|
127 |
+
display: flex;
|
128 |
+
justify-content: center; /* Center visualizations horizontally */
|
129 |
+
flex-direction: column; /* Display visualizations vertically */
|
130 |
+
align-items: center;
|
131 |
+
}
|
132 |
+
|
133 |
+
.plot {
|
134 |
+
margin: 10px; /* Add margin around each plot */
|
135 |
+
}
|
136 |
+
|
137 |
+
.row {
|
138 |
+
display: flex; /* Use flexbox for rows */
|
139 |
+
justify-content: center; /* Center plots within the row */
|
140 |
+
}
|
141 |
+
/* Additional styling for tables */
|
142 |
+
.dataset-container table {
|
143 |
+
margin: 20px auto;
|
144 |
+
border-collapse: collapse;
|
145 |
+
width: 95%; /* Set width to fit the screen */
|
146 |
+
}
|
147 |
+
|
148 |
+
.dataset-container th,
|
149 |
+
.dataset-container td {
|
150 |
+
padding: 10px;
|
151 |
+
border: 1px solid #ddd; /* Add border */
|
152 |
+
}
|
153 |
+
|
154 |
+
.dataset-container th {
|
155 |
+
background-color: #25efa1;
|
156 |
+
color: #333;
|
157 |
+
}
|
158 |
+
|
159 |
+
/* Apply scrollbar only if needed */
|
160 |
+
.scrollbar table {
|
161 |
+
max-height: 400px;
|
162 |
+
overflow-y: auto;
|
163 |
+
}
|
164 |
+
|
165 |
+
/* Additional table */
|
166 |
+
.additional-table-container {
|
167 |
+
margin: 20px auto;
|
168 |
+
border-collapse: collapse;
|
169 |
+
width: 90%; /* Set width to fit the screen */
|
170 |
+
}
|
171 |
+
|
172 |
+
.additional-table-container th,
|
173 |
+
.additional-table-container td {
|
174 |
+
padding: 10px;
|
175 |
+
border: 1px solid #ddd; /* Add border */
|
176 |
+
}
|
177 |
+
|
178 |
+
.additional-table-container th {
|
179 |
+
background-color: #25efa1;
|
180 |
+
color: #333;
|
181 |
+
}
|
static/fraudappstyling.css
ADDED
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden; /* Hide horizontal scrollbar */
|
6 |
+
height: 100%; /* Set height to 100% */
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-image: url('../static/images/fraudapp.jpg'); /* Background image */
|
12 |
+
background-size: cover;
|
13 |
+
background-position: center;
|
14 |
+
color: #333;
|
15 |
+
}
|
16 |
+
|
17 |
+
.navbar {
|
18 |
+
background-color: #001;
|
19 |
+
width: 100%;
|
20 |
+
display: flex;
|
21 |
+
justify-content: space-between;
|
22 |
+
align-items: center;
|
23 |
+
padding: 15px;
|
24 |
+
position: fixed;
|
25 |
+
top: 0;
|
26 |
+
z-index: 999; /* Ensure navbar is above other content */
|
27 |
+
}
|
28 |
+
|
29 |
+
.logo img {
|
30 |
+
height: 50px; /* Adjust logo height */
|
31 |
+
}
|
32 |
+
|
33 |
+
.navbar-links {
|
34 |
+
display: flex;
|
35 |
+
}
|
36 |
+
|
37 |
+
.navbar a {
|
38 |
+
color: white;
|
39 |
+
text-decoration: none;
|
40 |
+
padding: 10px 20px;
|
41 |
+
margin-right: 10px;
|
42 |
+
border-radius: 5px;
|
43 |
+
}
|
44 |
+
|
45 |
+
.navbar a:hover {
|
46 |
+
background-color: #555;
|
47 |
+
}
|
48 |
+
|
49 |
+
/* Dropdown styling */
|
50 |
+
.dropdown {
|
51 |
+
position: relative;
|
52 |
+
display: inline-block;
|
53 |
+
}
|
54 |
+
|
55 |
+
.dropbtn {
|
56 |
+
background-color: transparent;
|
57 |
+
color: white;
|
58 |
+
padding: 10px 20px;
|
59 |
+
font-size: 16px;
|
60 |
+
border: none;
|
61 |
+
cursor: pointer;
|
62 |
+
margin-right: 10px; /* Adjusted margin */
|
63 |
+
}
|
64 |
+
|
65 |
+
.dropdown-content {
|
66 |
+
display: none;
|
67 |
+
position: absolute;
|
68 |
+
background-color: black; /* Dropdown background color */
|
69 |
+
min-width: 160px;
|
70 |
+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
71 |
+
z-index: 1;
|
72 |
+
margin-top: 3px; /* Adjusted margin */
|
73 |
+
}
|
74 |
+
|
75 |
+
.dropdown-content a {
|
76 |
+
color: white; /* Dropdown text color */
|
77 |
+
padding: 12px 16px; /* Padding for normal state */
|
78 |
+
text-decoration: none;
|
79 |
+
display: block;
|
80 |
+
transition: background-color 0.3s, padding 0.3s; /* Add padding transition */
|
81 |
+
}
|
82 |
+
|
83 |
+
.dropdown-content a:hover {
|
84 |
+
background-color: grey; /* Hover color */
|
85 |
+
padding: 15px 16px; /* Increased padding on hover */
|
86 |
+
}
|
87 |
+
|
88 |
+
.dropdown:hover .dropdown-content {
|
89 |
+
display: block;
|
90 |
+
}
|
91 |
+
|
92 |
+
/* Header styling */
|
93 |
+
.header {
|
94 |
+
text-align: center;
|
95 |
+
margin-top: 120px; /* Adjust as needed */
|
96 |
+
}
|
97 |
+
/* Header h1 styling */
|
98 |
+
.header h1 {
|
99 |
+
color: #fff; /* White color */
|
100 |
+
font-size: 80px; /* Increased font size */
|
101 |
+
font-weight: bold;
|
102 |
+
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5); /* Text shadow */
|
103 |
+
margin-top: 50px; /* Adjusted margin */
|
104 |
+
}
|
105 |
+
|
106 |
+
/* Input container styling */
|
107 |
+
.input-container {
|
108 |
+
background-color: #2a2b2a; /* Light grey background color */
|
109 |
+
padding: 60px; /* Increased padding */
|
110 |
+
border-radius: 8px;
|
111 |
+
margin: 30px auto; /* Center the container */
|
112 |
+
max-width: 700px; /* Adjusted max width */
|
113 |
+
max-height: 400px;
|
114 |
+
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); /* Box shadow */
|
115 |
+
}
|
116 |
+
|
117 |
+
/* Input group styling */
|
118 |
+
.input-group {
|
119 |
+
margin-bottom: 20px; /* Increased margin */
|
120 |
+
}
|
121 |
+
|
122 |
+
.input-group label {
|
123 |
+
margin-top: -10px;
|
124 |
+
display: block;
|
125 |
+
margin-bottom: 8px; /* Adjusted margin */
|
126 |
+
color: #faf9f9; /* Dark gray text color */
|
127 |
+
font-weight: bold; /* Bold font weight */
|
128 |
+
}
|
129 |
+
|
130 |
+
.input-group input {
|
131 |
+
width: calc(100% - 24px); /* Adjusted width */
|
132 |
+
padding: 12px; /* Increased padding */
|
133 |
+
border: 1px solid #222323;
|
134 |
+
border-radius: 6px;
|
135 |
+
color: #080808; /* Dark gray text color */
|
136 |
+
}
|
137 |
+
|
138 |
+
/* Button group styling */
|
139 |
+
.button-group {
|
140 |
+
text-align: center;
|
141 |
+
margin-top: 20px; /* Adjusted margin */
|
142 |
+
}
|
143 |
+
|
144 |
+
/* Clear button styling */
|
145 |
+
.clear-button,
|
146 |
+
.submit-button {
|
147 |
+
display: inline-block;
|
148 |
+
padding: 10px 21px; /* Increased padding */
|
149 |
+
border: none;
|
150 |
+
border-radius: 6px;
|
151 |
+
color: #fff; /* White text color */
|
152 |
+
font-size: 18px; /* Increased font size */
|
153 |
+
cursor: pointer;
|
154 |
+
transition: background-color 0.3s, color 0.3s; /* Smooth transition */
|
155 |
+
}
|
156 |
+
|
157 |
+
.clear-button {
|
158 |
+
background-color: #880303; /* Dark grey color for Clear button */
|
159 |
+
float: left;
|
160 |
+
}
|
161 |
+
|
162 |
+
.submit-button {
|
163 |
+
background-color: #4caf50; /* Green color for Submit button */
|
164 |
+
float: right;
|
165 |
+
}
|
166 |
+
|
167 |
+
/* Hover effect for buttons */
|
168 |
+
.clear-button:hover {
|
169 |
+
background-color: #030303; /* Darker grey on hover */
|
170 |
+
}
|
171 |
+
|
172 |
+
.submit-button:hover {
|
173 |
+
background-color: #080808; /* Darker green on hover */
|
174 |
+
}
|
static/images/analysis.jpg
ADDED
![]() |
static/images/appimage.jpg
ADDED
![]() |
static/images/car.jpg
ADDED
![]() |
static/images/car2.jpg
ADDED
![]() |
static/images/fraudapp.jpg
ADDED
![]() |
static/images/logo.png
ADDED
![]() |
static/images/weimage.jpg
ADDED
![]() |
static/insurance_analysisstyling.css
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden; /* Hide horizontal scrollbar */
|
6 |
+
height: 100%; /* Set height to 100% */
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-size: cover;
|
12 |
+
background-position: center;
|
13 |
+
color: #333;
|
14 |
+
overflow-y: auto; /* Show vertical scrollbar if needed */
|
15 |
+
background-repeat: no-repeat; /* Prevent background image from repeating */
|
16 |
+
margin-bottom: 0; /* Remove default bottom margin */
|
17 |
+
}
|
18 |
+
|
19 |
+
.navbar {
|
20 |
+
background-color: #001;
|
21 |
+
width: 100%;
|
22 |
+
display: flex;
|
23 |
+
justify-content: space-between;
|
24 |
+
align-items: center;
|
25 |
+
padding: 15px;
|
26 |
+
position: fixed;
|
27 |
+
top: 0;
|
28 |
+
z-index: 999; /* Ensure navbar is above other content */
|
29 |
+
}
|
30 |
+
|
31 |
+
.logo img {
|
32 |
+
height: 50px; /* Adjust logo height */
|
33 |
+
}
|
34 |
+
|
35 |
+
.navbar-links {
|
36 |
+
display: flex;
|
37 |
+
}
|
38 |
+
|
39 |
+
.navbar a {
|
40 |
+
color: white;
|
41 |
+
text-decoration: none;
|
42 |
+
padding: 10px 20px;
|
43 |
+
margin-right: 10px;
|
44 |
+
border-radius: 5px;
|
45 |
+
}
|
46 |
+
|
47 |
+
.navbar a:hover {
|
48 |
+
background-color: #555;
|
49 |
+
}
|
50 |
+
|
51 |
+
/* Dropdown styling */
|
52 |
+
.dropdown {
|
53 |
+
position: relative;
|
54 |
+
display: inline-block;
|
55 |
+
}
|
56 |
+
|
57 |
+
.dropbtn {
|
58 |
+
background-color: transparent;
|
59 |
+
color: white;
|
60 |
+
padding: 10px 20px;
|
61 |
+
font-size: 16px;
|
62 |
+
border: none;
|
63 |
+
cursor: pointer;
|
64 |
+
margin-right: 10px; /* Adjusted margin */
|
65 |
+
}
|
66 |
+
|
67 |
+
.dropdown-content {
|
68 |
+
display: none;
|
69 |
+
position: absolute;
|
70 |
+
background-color: black; /* Dropdown background color */
|
71 |
+
min-width: 160px;
|
72 |
+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
73 |
+
z-index: 1;
|
74 |
+
margin-top: 3px; /* Adjusted margin */
|
75 |
+
}
|
76 |
+
|
77 |
+
.dropdown-content a {
|
78 |
+
color: white; /* Dropdown text color */
|
79 |
+
padding: 12px 16px; /* Padding for normal state */
|
80 |
+
text-decoration: none;
|
81 |
+
display: block;
|
82 |
+
transition: background-color 0.3s, padding 0.3s; /* Add padding transition */
|
83 |
+
}
|
84 |
+
|
85 |
+
.dropdown-content a:hover {
|
86 |
+
background-color: grey; /* Hover color */
|
87 |
+
padding: 15px 16px; /* Increased padding on hover */
|
88 |
+
}
|
89 |
+
|
90 |
+
.dropdown:hover .dropdown-content {
|
91 |
+
display: block;
|
92 |
+
}
|
93 |
+
/* Corrected CSS */
|
94 |
+
.plots-container {
|
95 |
+
margin: 10px; /* Add margin around each visualization */
|
96 |
+
display: flex;
|
97 |
+
justify-content: center; /* Center visualizations horizontally */
|
98 |
+
flex-direction: column; /* Display visualizations vertically */
|
99 |
+
align-items: center;
|
100 |
+
}
|
101 |
+
|
102 |
+
.plot {
|
103 |
+
margin: 10px; /* Add margin around each plot */
|
104 |
+
}
|
105 |
+
|
106 |
+
.row {
|
107 |
+
display: flex; /* Use flexbox for rows */
|
108 |
+
justify-content: center; /* Center plots within the row */
|
109 |
+
}
|
static/style.css
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden; /* Hide horizontal scrollbar */
|
6 |
+
height: 100%; /* Set height to 100% */
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-image: url('../static/images/weimage.jpg');
|
12 |
+
background-size: cover;
|
13 |
+
background-position: center;
|
14 |
+
color: #333;
|
15 |
+
overflow-y: auto; /* Show vertical scrollbar if needed */
|
16 |
+
background-repeat: no-repeat; /* Prevent background image from repeating */
|
17 |
+
margin-bottom: 0; /* Remove default bottom margin */
|
18 |
+
}
|
19 |
+
|
20 |
+
.navbar {
|
21 |
+
background-color: #001;
|
22 |
+
width: 100%;
|
23 |
+
display: flex;
|
24 |
+
justify-content: space-between;
|
25 |
+
align-items: center;
|
26 |
+
padding: 15px;
|
27 |
+
position: fixed;
|
28 |
+
top: 0;
|
29 |
+
z-index: 999; /* Ensure navbar is above other content */
|
30 |
+
}
|
31 |
+
|
32 |
+
.logo img {
|
33 |
+
height: 50px; /* Adjust logo height */
|
34 |
+
}
|
35 |
+
|
36 |
+
.navbar-links {
|
37 |
+
display: flex;
|
38 |
+
}
|
39 |
+
|
40 |
+
.navbar a {
|
41 |
+
color: white;
|
42 |
+
text-decoration: none;
|
43 |
+
padding: 10px 20px;
|
44 |
+
margin-right: 10px;
|
45 |
+
border-radius: 5px;
|
46 |
+
}
|
47 |
+
|
48 |
+
.navbar a:hover {
|
49 |
+
background-color: #555;
|
50 |
+
}
|
51 |
+
|
52 |
+
/* Dropdown styling */
|
53 |
+
.dropdown {
|
54 |
+
position: relative;
|
55 |
+
display: inline-block;
|
56 |
+
}
|
57 |
+
|
58 |
+
.dropbtn {
|
59 |
+
background-color: transparent;
|
60 |
+
color: white;
|
61 |
+
padding: 10px 20px;
|
62 |
+
font-size: 16px;
|
63 |
+
border: none;
|
64 |
+
cursor: pointer;
|
65 |
+
margin-right: 10px; /* Adjusted margin */
|
66 |
+
}
|
67 |
+
|
68 |
+
.dropdown-content {
|
69 |
+
display: none;
|
70 |
+
position: absolute;
|
71 |
+
background-color: black; /* Dropdown background color */
|
72 |
+
min-width: 160px;
|
73 |
+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
74 |
+
z-index: 1;
|
75 |
+
margin-top: 3px; /* Adjusted margin */
|
76 |
+
}
|
77 |
+
|
78 |
+
.dropdown-content a {
|
79 |
+
color: white; /* Dropdown text color */
|
80 |
+
padding: 12px 16px; /* Padding for normal state */
|
81 |
+
text-decoration: none;
|
82 |
+
display: block;
|
83 |
+
transition: background-color 0.3s, padding 0.3s; /* Add padding transition */
|
84 |
+
}
|
85 |
+
|
86 |
+
.dropdown-content a:hover {
|
87 |
+
background-color: grey; /* Hover color */
|
88 |
+
padding: 15px 16px; /* Increased padding on hover */
|
89 |
+
}
|
90 |
+
|
91 |
+
.dropdown:hover .dropdown-content {
|
92 |
+
display: block;
|
93 |
+
}
|
94 |
+
|
95 |
+
.content {
|
96 |
+
text-align: center;
|
97 |
+
color: white;
|
98 |
+
padding: 150px 20px 50px; /* Adjust padding */
|
99 |
+
margin-top: 50px; /* Adjust margin to push content below navbar */
|
100 |
+
}
|
101 |
+
|
102 |
+
.content h1 {
|
103 |
+
font-size: 70px;
|
104 |
+
font-weight: bold;
|
105 |
+
margin-bottom: 20px; /* Adjust margin bottom */
|
106 |
+
}
|
107 |
+
|
108 |
+
.content p {
|
109 |
+
font-size: 22px;
|
110 |
+
font-weight: bold;
|
111 |
+
line-height: 1.6;
|
112 |
+
margin-bottom: 20px;
|
113 |
+
}
|
114 |
+
|
115 |
+
.buttons {
|
116 |
+
text-align: center;
|
117 |
+
margin-top: 10px; /* Adjust margin top */
|
118 |
+
}
|
119 |
+
|
120 |
+
.buttons button {
|
121 |
+
padding: 15px 30px;
|
122 |
+
font-size: 18px;
|
123 |
+
margin: 0 20px;
|
124 |
+
border: none;
|
125 |
+
border-radius: 15px;
|
126 |
+
background-color: rgb(134, 4, 4);
|
127 |
+
color: white;
|
128 |
+
cursor: pointer;
|
129 |
+
transition: background-color 0.3s;
|
130 |
+
}
|
131 |
+
|
132 |
+
.buttons button:hover {
|
133 |
+
background-color: #001;
|
134 |
+
}
|
135 |
+
|
static/vehicle_result.css
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body {
|
2 |
+
font-family: Arial, sans-serif;
|
3 |
+
background-color: #f9f9f4; /* Cream colored background */
|
4 |
+
padding: 20px;
|
5 |
+
}
|
6 |
+
|
7 |
+
h1 {
|
8 |
+
text-align: left; /* Align the heading to the left */
|
9 |
+
font-size: 50px; /* Set the font size for the heading */
|
10 |
+
color: #000; /* Black color for heading */
|
11 |
+
font-weight: bold; /* Bold font for heading */
|
12 |
+
}
|
13 |
+
|
14 |
+
.container {
|
15 |
+
display: flex; /* Use flexbox for layout */
|
16 |
+
align-items: center; /* Center items vertically */
|
17 |
+
flex-direction: column; /* Display items vertically */
|
18 |
+
}
|
19 |
+
|
20 |
+
.result-container {
|
21 |
+
text-align: center; /* Align the result container to the center */
|
22 |
+
margin-top: 30px; /* Adjusted margin-top to move the prediction upwards */
|
23 |
+
}
|
24 |
+
|
25 |
+
.prediction {
|
26 |
+
font-size: 40px; /* Larger font size for prediction */
|
27 |
+
font-weight: bold; /* Bold font for prediction */
|
28 |
+
color: #008000;
|
29 |
+
text-align: center; /* Center prediction */
|
30 |
+
margin-top: -20px; /* Move the prediction upwards */
|
31 |
+
}
|
32 |
+
|
33 |
+
.prediction-container {
|
34 |
+
text-align: center; /* Center prediction container */
|
35 |
+
}
|
36 |
+
|
37 |
+
.visualization {
|
38 |
+
margin: 10px; /* Add margin around each visualization */
|
39 |
+
display: flex;
|
40 |
+
justify-content: center; /* Center visualizations horizontally */
|
41 |
+
flex-direction: column; /* Display visualizations vertically */
|
42 |
+
align-items: center;
|
43 |
+
}
|
44 |
+
|
45 |
+
.plot-container {
|
46 |
+
margin: 10px; /* Add margin around each plot */
|
47 |
+
}
|
48 |
+
|
49 |
+
.row {
|
50 |
+
display: flex; /* Use flexbox for rows */
|
51 |
+
justify-content: center; /* Center plots within the row */
|
52 |
+
}
|
53 |
+
|
54 |
+
.buttons {
|
55 |
+
text-align: center;
|
56 |
+
margin-top: 10px; /* Adjust margin top */
|
57 |
+
}
|
58 |
+
|
59 |
+
.buttons button {
|
60 |
+
padding: 15px 30px;
|
61 |
+
font-size: 18px;
|
62 |
+
margin: 0 20px;
|
63 |
+
border: none;
|
64 |
+
border-radius: 15px;
|
65 |
+
background-color: rgb(134, 4, 4);
|
66 |
+
color: white;
|
67 |
+
cursor: pointer;
|
68 |
+
transition: background-color 0.3s;
|
69 |
+
}
|
70 |
+
|
71 |
+
.buttons button:hover {
|
72 |
+
background-color: #001;
|
73 |
+
}
|
74 |
+
|
static/vehicle_script.js
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function clearForm() {
|
2 |
+
document.getElementById("insuranceForm").reset();
|
3 |
+
}
|
4 |
+
|
5 |
+
predictButton.addEventListener('click', function() {
|
6 |
+
predictInsurance(); ked
|
7 |
+
});
|
8 |
+
|
9 |
+
|
10 |
+
function clearFormApp() {
|
11 |
+
// Reset the form fields
|
12 |
+
document.getElementById("app-id").value = "";
|
13 |
+
document.getElementById("app-name").value = "";
|
14 |
+
}
|
15 |
+
|
16 |
+
// Add event listener to the "Clear" button
|
17 |
+
document.querySelector(".clear-button").addEventListener('click', function() {
|
18 |
+
// Call the clearForm function when the "Clear" button is clicked
|
19 |
+
clearFormApp();
|
20 |
+
});
|
static/vehiclestyling.css
ADDED
@@ -0,0 +1,171 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Resetting default styles */
|
2 |
+
body, html {
|
3 |
+
margin: 0;
|
4 |
+
padding: 0;
|
5 |
+
overflow-x: hidden; /* Hide horizontal scrollbar */
|
6 |
+
height: 100%; /* Set height to 100% */
|
7 |
+
}
|
8 |
+
|
9 |
+
body {
|
10 |
+
font-family: Arial, sans-serif;
|
11 |
+
background-image: url('../static/images/car2.jpg'); /* Background image */
|
12 |
+
background-size: cover;
|
13 |
+
background-position: center;
|
14 |
+
color: #333;
|
15 |
+
}
|
16 |
+
|
17 |
+
.navbar {
|
18 |
+
background-color: #001;
|
19 |
+
width: 100%;
|
20 |
+
display: flex;
|
21 |
+
justify-content: space-between;
|
22 |
+
align-items: center;
|
23 |
+
padding: 15px;
|
24 |
+
position: fixed;
|
25 |
+
top: 0;
|
26 |
+
z-index: 999; /* Ensure navbar is above other content */
|
27 |
+
}
|
28 |
+
|
29 |
+
.logo img {
|
30 |
+
height: 50px; /* Adjust logo height */
|
31 |
+
}
|
32 |
+
|
33 |
+
.navbar-links {
|
34 |
+
display: flex;
|
35 |
+
}
|
36 |
+
|
37 |
+
.navbar a {
|
38 |
+
color: white;
|
39 |
+
text-decoration: none;
|
40 |
+
padding: 10px 20px;
|
41 |
+
margin-right: 10px;
|
42 |
+
border-radius: 5px;
|
43 |
+
}
|
44 |
+
|
45 |
+
.navbar a:hover {
|
46 |
+
background-color: #555;
|
47 |
+
}
|
48 |
+
|
49 |
+
/* Dropdown styling */
|
50 |
+
.dropdown {
|
51 |
+
position: relative;
|
52 |
+
display: inline-block;
|
53 |
+
}
|
54 |
+
|
55 |
+
.dropbtn {
|
56 |
+
background-color: transparent;
|
57 |
+
color: white;
|
58 |
+
padding: 10px 20px;
|
59 |
+
font-size: 16px;
|
60 |
+
border: none;
|
61 |
+
cursor: pointer;
|
62 |
+
margin-right: 10px; /* Adjusted margin */
|
63 |
+
}
|
64 |
+
|
65 |
+
.dropdown-content {
|
66 |
+
display: none;
|
67 |
+
position: absolute;
|
68 |
+
background-color: black; /* Dropdown background color */
|
69 |
+
min-width: 160px;
|
70 |
+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
71 |
+
z-index: 1;
|
72 |
+
margin-top: 3px; /* Adjusted margin */
|
73 |
+
}
|
74 |
+
|
75 |
+
.dropdown-content a {
|
76 |
+
color: white; /* Dropdown text color */
|
77 |
+
padding: 12px 16px; /* Padding for normal state */
|
78 |
+
text-decoration: none;
|
79 |
+
display: block;
|
80 |
+
transition: background-color 0.3s, padding 0.3s; /* Add padding transition */
|
81 |
+
}
|
82 |
+
|
83 |
+
.dropdown-content a:hover {
|
84 |
+
background-color: grey; /* Hover color */
|
85 |
+
padding: 15px 16px; /* Increased padding on hover */
|
86 |
+
}
|
87 |
+
|
88 |
+
.dropdown:hover .dropdown-content {
|
89 |
+
display: block;
|
90 |
+
}
|
91 |
+
|
92 |
+
.content {
|
93 |
+
margin-top: 50px; /* Decrease distance between prediction result and prediction */
|
94 |
+
padding: 20px;
|
95 |
+
margin-left: 30px; /* Adjusted margin to make form left-aligned */
|
96 |
+
}
|
97 |
+
|
98 |
+
h1 {
|
99 |
+
text-align: center;
|
100 |
+
color: rgb(229, 252, 229); /* Change color to white */
|
101 |
+
font-size: 50px; /* Increase font size */
|
102 |
+
font-weight: bold; /* Make the font bold */
|
103 |
+
text-shadow: 2px 2px 4px #050000; /* Add a text shadow for a 3D effect */
|
104 |
+
margin-top: 30px; /* Move the element upwards */
|
105 |
+
margin-right: 5px; /* Move the element towards the right */
|
106 |
+
}
|
107 |
+
|
108 |
+
form {
|
109 |
+
max-width: 600px;
|
110 |
+
background-color: #252525; /* Dark background color for the form */
|
111 |
+
padding: 20px;
|
112 |
+
border-radius: 10px;
|
113 |
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
114 |
+
margin-right: 5px;
|
115 |
+
}
|
116 |
+
|
117 |
+
.scrollbar {
|
118 |
+
max-height: 400px;
|
119 |
+
overflow-y: auto;
|
120 |
+
}
|
121 |
+
|
122 |
+
label {
|
123 |
+
display: block;
|
124 |
+
margin-bottom: 10px;
|
125 |
+
font-weight: bold;
|
126 |
+
color: white; /* Text color for labels */
|
127 |
+
}
|
128 |
+
|
129 |
+
input[type="number"],
|
130 |
+
select {
|
131 |
+
width: calc(100% - 20px); /* Adjusted width */
|
132 |
+
padding: 10px;
|
133 |
+
margin-bottom: 15px;
|
134 |
+
border: 1px solid #ccc;
|
135 |
+
border-radius: 5px;
|
136 |
+
box-sizing: border-box;
|
137 |
+
}
|
138 |
+
|
139 |
+
.button-container {
|
140 |
+
display: flex;
|
141 |
+
justify-content: space-between;
|
142 |
+
margin-top: 20px;
|
143 |
+
}
|
144 |
+
|
145 |
+
.clear-button,
|
146 |
+
.submit-button {
|
147 |
+
display: inline-block;
|
148 |
+
padding: 10px 20px;
|
149 |
+
border: none;
|
150 |
+
border-radius: 5px;
|
151 |
+
color: white;
|
152 |
+
font-size: 16px;
|
153 |
+
cursor: pointer;
|
154 |
+
transition: background-color 0.3s;
|
155 |
+
}
|
156 |
+
|
157 |
+
.clear-button {
|
158 |
+
background-color: #555; /* Dark color for Clear button */
|
159 |
+
}
|
160 |
+
|
161 |
+
.submit-button {
|
162 |
+
background-color: #4caf50; /* Green color for Predict button */
|
163 |
+
}
|
164 |
+
|
165 |
+
.clear-button:hover {
|
166 |
+
background-color: #444;
|
167 |
+
}
|
168 |
+
|
169 |
+
.submit-button:hover {
|
170 |
+
background-color: #45a049;
|
171 |
+
}
|
templates/app_analysis.html
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>App Analysis</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='app0styling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
<!-- Header -->
|
11 |
+
<div class="header">
|
12 |
+
<h1>Fraud App Analysis</h1>
|
13 |
+
</div>
|
14 |
+
<!-- Navigation Bar -->
|
15 |
+
<div class="navbar">
|
16 |
+
<div class="logo">
|
17 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
18 |
+
</div>
|
19 |
+
<div class="navbar-links">
|
20 |
+
<a href="/">Home</a>
|
21 |
+
<div class="dropdown">
|
22 |
+
<button class="dropbtn">Predict</button>
|
23 |
+
<div class="dropdown-content">
|
24 |
+
<a href="/predict/insurance">Insurance</a>
|
25 |
+
<a href="/predict/app">App</a>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
<div class="dropdown">
|
29 |
+
<button class="dropbtn">Analysis</button>
|
30 |
+
<div class="dropdown-content">
|
31 |
+
<a href="/analysis/insurance">Insurance</a>
|
32 |
+
<a href="/analysis/app">App</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<a href="/dataset">Dataset</a>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
<div class="input-container">
|
39 |
+
<form action="/analysis/app" method="POST">
|
40 |
+
<div class="input-group">
|
41 |
+
<label for="app-id">App ID:</label>
|
42 |
+
<input type="text" id="app-id" name="app-id" placeholder="Enter App ID">
|
43 |
+
</div>
|
44 |
+
<div class="input-group">
|
45 |
+
<label for="app-name">App Name:</label>
|
46 |
+
<input type="text" id="app-name" name="app-name" placeholder="Enter App Name">
|
47 |
+
</div>
|
48 |
+
<div class="button-group">
|
49 |
+
<button type="button" onclick="clearFormApp()" class="clear-button">Clear</button>
|
50 |
+
<button class="submit-button" type="submit">Submit</button>
|
51 |
+
</div>
|
52 |
+
</form>
|
53 |
+
</div>
|
54 |
+
<script src="{{ url_for('static', filename='vehicle_script.js') }}"></script>
|
55 |
+
</body>
|
56 |
+
</html>
|
templates/app_analysis_final.html
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>App Analysis</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='appanalysisstyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
<div class="dataset-container">
|
11 |
+
<h1>Dataset Display for Reviews of {{ app_name }}:</h1>
|
12 |
+
<div class="scrollbar">
|
13 |
+
<table>
|
14 |
+
<thead>
|
15 |
+
<tr>
|
16 |
+
<th>Reviews</th>
|
17 |
+
<th>Rating</th>
|
18 |
+
<th>IsReplied</th>
|
19 |
+
<th>Sentiment classification</th>
|
20 |
+
</tr>
|
21 |
+
</thead>
|
22 |
+
<tbody>
|
23 |
+
<!-- Loop through the DataFrame to display -->
|
24 |
+
{% for index, row in df.iterrows() %}
|
25 |
+
<tr>
|
26 |
+
<td>{{ row['content'] }}</td>
|
27 |
+
<td>{{ row['score'] }}</td>
|
28 |
+
<td>{{ row['IsReplied'] }}</td>
|
29 |
+
<td>{{ row['sentiment'] }}</td>
|
30 |
+
</tr>
|
31 |
+
{% endfor %}
|
32 |
+
</tbody>
|
33 |
+
</table>
|
34 |
+
</div>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<div class="container">
|
38 |
+
<div class="visualization">
|
39 |
+
<h1>Graphical Analysis : </h1>
|
40 |
+
<div class="row">
|
41 |
+
<div class="plot-container">
|
42 |
+
<img src="data:image/png;base64,{{ buffer1 }}" alt="Word Cloud">
|
43 |
+
</div>
|
44 |
+
<div class="plot-container">
|
45 |
+
<img src="data:image/png;base64,{{ buffer2 }}" alt="Count Plot of Proper Nouns">
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
<div class="row">
|
49 |
+
<div class="plot-container">
|
50 |
+
<img src="data:image/png;base64,{{ buffer3 }}" alt="Network Plot of Words">
|
51 |
+
</div>
|
52 |
+
<div class="plot-container">
|
53 |
+
<img src="data:image/png;base64,{{ buffer4 }}" alt="Box Plot of Sentiments vs Score">
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
<div class="row">
|
57 |
+
<div class="plot-container">
|
58 |
+
<img src="data:image/png;base64,{{ buffer5 }}" alt="Heatmap of Word Frequency">
|
59 |
+
</div>
|
60 |
+
<div class="plot-container">
|
61 |
+
<img src="data:image/png;base64,{{ buffer6 }}" alt="Joint Count Plot of Score">
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
<br>
|
66 |
+
<div class="buttons">
|
67 |
+
<button onclick="window.location.href='/analysis/app'">Back</button>
|
68 |
+
</div>
|
69 |
+
</body>
|
70 |
+
</html>
|
templates/app_result.html
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Prediction Result</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='app_resultsttyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
<div class="container">
|
11 |
+
<h2>Prediction Result</h2>
|
12 |
+
<div class="app-info">
|
13 |
+
<p>App Name: <span class="app-name">{{ app_name }}</span></p>
|
14 |
+
</div>
|
15 |
+
<div class="prediction">
|
16 |
+
<p>Prediction: <span class="prediction-text">{{ result }}</span></p>
|
17 |
+
</div>
|
18 |
+
<div class="analysis-container">
|
19 |
+
<h3>Analysis :</h3>
|
20 |
+
<div class="additional-table-container">
|
21 |
+
<table>
|
22 |
+
<thead>
|
23 |
+
<tr>
|
24 |
+
<th>Total Reviews</th>
|
25 |
+
<th>Positive Reviews</th>
|
26 |
+
<th>Negative Reviews</th>
|
27 |
+
<th>Neutral Reviews</th>
|
28 |
+
<th>Average Rating</th>
|
29 |
+
<th>Positive %</th>
|
30 |
+
<th>Negative %</th>
|
31 |
+
<th>Neutral %</th>
|
32 |
+
<th>Replied %</th>
|
33 |
+
</tr>
|
34 |
+
</thead>
|
35 |
+
<tbody>
|
36 |
+
<tr>
|
37 |
+
<!-- Populate the table with dynamic data -->
|
38 |
+
<td>{{ total_reviews }}</td>
|
39 |
+
<td>{{ positive_reviews }}</td>
|
40 |
+
<td>{{ negative_reviews }}</td>
|
41 |
+
<td>{{ neutral_reviews }}</td>
|
42 |
+
<td>{{ average_rating }}</td>
|
43 |
+
<td>{{ positive_percentage }}</td>
|
44 |
+
<td>{{ negative_percentage }}</td>
|
45 |
+
<td>{{ neutral_percentage }}</td>
|
46 |
+
<td>{{ replied_percentage }}</td>
|
47 |
+
</tr>
|
48 |
+
</tbody>
|
49 |
+
</table>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
</div>
|
53 |
+
<div class="plots-container">
|
54 |
+
<h4>Graphical Analysis : </h4>
|
55 |
+
<div class="row">
|
56 |
+
<!-- Plot 1 -->
|
57 |
+
<div class="plot">
|
58 |
+
<img src="data:image/png;base64,{{ plot1 }}" alt="Plot 1">
|
59 |
+
</div>
|
60 |
+
<!-- Plot 2 -->
|
61 |
+
<div class="plot">
|
62 |
+
<img src="data:image/png;base64,{{ plot2 }}" alt="Plot 2">
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
<div class="row">
|
66 |
+
<!-- Plot 3 -->
|
67 |
+
<div class="plot">
|
68 |
+
<img src="data:image/png;base64,{{ plot3 }}" alt="Plot 3">
|
69 |
+
</div>
|
70 |
+
<!-- Plot 4 -->
|
71 |
+
<div class="plot">
|
72 |
+
<img src="data:image/png;base64,{{ plot4 }}" alt="Plot 4">
|
73 |
+
</div>
|
74 |
+
</div>
|
75 |
+
<div class="row">
|
76 |
+
<!-- Plot 5 -->
|
77 |
+
<div class="plot">
|
78 |
+
<img src="data:image/png;base64,{{ plot5 }}" alt="Plot 5">
|
79 |
+
</div>
|
80 |
+
<!-- Plot 6 -->
|
81 |
+
<div class="plot">
|
82 |
+
<img src="data:image/png;base64,{{ plot6 }}" alt="Plot 6">
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
<!-- Dataset Display -->
|
86 |
+
<br>
|
87 |
+
<div class="buttons">
|
88 |
+
<button onclick="window.location.href='/mobile_app'">Back</button>
|
89 |
+
</div>
|
90 |
+
</body>
|
91 |
+
</html>
|
templates/dataset.html
ADDED
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Dataset Display</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='datasetstyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
|
11 |
+
<!-- Navigation Bar -->
|
12 |
+
<div class="navbar">
|
13 |
+
<div class="logo">
|
14 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
15 |
+
</div>
|
16 |
+
<div class="navbar-links">
|
17 |
+
<a href="/">Home</a>
|
18 |
+
<div class="dropdown">
|
19 |
+
<button class="dropbtn">Predict</button>
|
20 |
+
<div class="dropdown-content">
|
21 |
+
<a href="/predict/insurance">Insurance</a>
|
22 |
+
<a href="/predict/app">App</a>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="dropdown">
|
26 |
+
<button class="dropbtn">Analysis</button>
|
27 |
+
<div class="dropdown-content">
|
28 |
+
<a href="/analysis/insurance">Insurance</a>
|
29 |
+
<a href="/analysis/app">App</a>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<a href="/dataset">Dataset</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<!-- Dataset Table -->
|
37 |
+
<div class="dataset-container">
|
38 |
+
<h1>Dataset Display :</h1>
|
39 |
+
<div class="scrollbar">
|
40 |
+
<table>
|
41 |
+
<thead>
|
42 |
+
<tr>
|
43 |
+
<th>Car Company</th>
|
44 |
+
<th>Accident Area</th>
|
45 |
+
<th>Owner Gender</th>
|
46 |
+
<th>Owner Age</th>
|
47 |
+
<th>Fault</th>
|
48 |
+
<th>Car Category</th>
|
49 |
+
<th>Car Price</th>
|
50 |
+
<th>Is Fraud</th>
|
51 |
+
<th>Police Report Filed</th>
|
52 |
+
<th>Witness Present</th>
|
53 |
+
<th>Agent Type</th>
|
54 |
+
<th>Number of Suppliments</th>
|
55 |
+
<th>Base Policy</th>
|
56 |
+
<th>Is Address Changed</th>
|
57 |
+
<th>Past Number of Claims</th>
|
58 |
+
</tr>
|
59 |
+
</thead>
|
60 |
+
<tbody>
|
61 |
+
<!-- Loop through the first 10 rows of the dataset to display -->
|
62 |
+
{% for index, row in df.iterrows() %}
|
63 |
+
<tr>
|
64 |
+
<td>{{ row['CarCompany'] }}</td>
|
65 |
+
<td>{{ row['AccidentArea'] }}</td>
|
66 |
+
<td>{{ row['OwnerGender'] }}</td>
|
67 |
+
<td>{{ row['OwnerAge'] }}</td>
|
68 |
+
<td>{{ row['Fault'] }}</td>
|
69 |
+
<td>{{ row['CarCategory'] }}</td>
|
70 |
+
<td>{{ row['CarPrice'] }}</td>
|
71 |
+
<td>{{ row['IsFraud'] }}</td>
|
72 |
+
<td>{{ row['PoliceReportFiled'] }}</td>
|
73 |
+
<td>{{ row['WitnessPresent'] }}</td>
|
74 |
+
<td>{{ row['AgentType'] }}</td>
|
75 |
+
<td>{{ row['NumberOfSuppliments'] }}</td>
|
76 |
+
<td>{{ row['BasePolicy'] }}</td>
|
77 |
+
<td>{{ row['IsAddressChanged'] }}</td>
|
78 |
+
<td>{{ row['PastNumberOfClaims'] }}</td>
|
79 |
+
</tr>
|
80 |
+
{% endfor %}
|
81 |
+
</tbody>
|
82 |
+
</table>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
|
86 |
+
<!-- Plots -->
|
87 |
+
<div class="plots-container">
|
88 |
+
<div class="row">
|
89 |
+
<div class="plot">
|
90 |
+
<img src="data:image/png;base64,{{ plot1 }}" alt="Plot 1">
|
91 |
+
</div>
|
92 |
+
<div class="plot">
|
93 |
+
<img src="data:image/png;base64,{{ plot2 }}" alt="Plot 2">
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
+
<div class="row">
|
97 |
+
<div class="plot">
|
98 |
+
<img src="data:image/png;base64,{{ plot3 }}" alt="Plot 3">
|
99 |
+
</div>
|
100 |
+
<div class="plot">
|
101 |
+
<img src="data:image/png;base64,{{ plot4 }}" alt="Plot 4">
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
<div class="row">
|
105 |
+
<div class="plot">
|
106 |
+
<img src="data:image/png;base64,{{ plot5 }}" alt="Plot 5">
|
107 |
+
</div>
|
108 |
+
<div class="plot">
|
109 |
+
<img src="data:image/png;base64,{{ plot6 }}" alt="Plot 6">
|
110 |
+
</div>
|
111 |
+
</div>
|
112 |
+
<div class="row">
|
113 |
+
<div class="plot">
|
114 |
+
<img src="data:image/png;base64,{{ plot7 }}" alt="Plot 7">
|
115 |
+
</div>
|
116 |
+
<div class="plot">
|
117 |
+
<img src="data:image/png;base64,{{ plot8 }}" alt="Plot 8">
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
<div class="row">
|
121 |
+
<div class="plot">
|
122 |
+
<img src="data:image/png;base64,{{ plot9 }}" alt="Plot 9">
|
123 |
+
</div>
|
124 |
+
<div class="plot">
|
125 |
+
<img src="data:image/png;base64,{{ plot10 }}" alt="Plot 10">
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
<!-- Unique Values in Dataset Columns Table -->
|
130 |
+
<div class="dataset-container">
|
131 |
+
<h1>Unique Values in Dataset Columns:</h1>
|
132 |
+
<table>
|
133 |
+
<thead>
|
134 |
+
<tr>
|
135 |
+
<th>Column Name</th>
|
136 |
+
<th>Unique Values</th>
|
137 |
+
</tr>
|
138 |
+
</thead>
|
139 |
+
<tbody>
|
140 |
+
{% for column in df.columns %}
|
141 |
+
{% if df[column].dtype == 'object' %}
|
142 |
+
<tr>
|
143 |
+
<td>{{ column }}</td>
|
144 |
+
<td>
|
145 |
+
<ul>
|
146 |
+
{% for value in df[column].unique() %}
|
147 |
+
<li>{{ value }}</li>
|
148 |
+
{% endfor %}
|
149 |
+
</ul>
|
150 |
+
</td>
|
151 |
+
</tr>
|
152 |
+
{% endif %}
|
153 |
+
{% endfor %}
|
154 |
+
</tbody>
|
155 |
+
</table>
|
156 |
+
</div>
|
157 |
+
|
158 |
+
<!-- Additional Table -->
|
159 |
+
<div class="dataset-container">
|
160 |
+
<h1>Additional Information:</h1>
|
161 |
+
<table>
|
162 |
+
<thead>
|
163 |
+
<tr>
|
164 |
+
<th>Total Rows</th>
|
165 |
+
<th>Total Features</th>
|
166 |
+
<th>Output Feature</th>
|
167 |
+
<th>Most Important Input</th>
|
168 |
+
<th>Total Fraud</th>
|
169 |
+
<th>Total Non-Fraud</th>
|
170 |
+
<th>Least Important Input</th>
|
171 |
+
</tr>
|
172 |
+
</thead>
|
173 |
+
<tbody>
|
174 |
+
<tr>
|
175 |
+
<!-- Populate the table with the calculated values -->
|
176 |
+
<td>16184</td>
|
177 |
+
<td>15</td>
|
178 |
+
<td>IsFraud</td>
|
179 |
+
<td>Base Policy</td>
|
180 |
+
<td>8613</td>
|
181 |
+
<td>7571</td>
|
182 |
+
<td>Witness present</td>
|
183 |
+
</tr>
|
184 |
+
</tbody>
|
185 |
+
</table>
|
186 |
+
</div>
|
187 |
+
</body>
|
188 |
+
</html>
|
templates/fraudapp.html
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Fraud App Prediction</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='fraudappstyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
|
11 |
+
<!-- Navigation Bar -->
|
12 |
+
<div class="navbar">
|
13 |
+
<div class="logo">
|
14 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
15 |
+
</div>
|
16 |
+
<div class="navbar-links">
|
17 |
+
<a href="/">Home</a>
|
18 |
+
<div class="dropdown">
|
19 |
+
<button class="dropbtn">Predict</button>
|
20 |
+
<div class="dropdown-content">
|
21 |
+
<a href="/predict/insurance">Insurance</a>
|
22 |
+
<a href="/predict/app">App</a>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="dropdown">
|
26 |
+
<button class="dropbtn">Analysis</button>
|
27 |
+
<div class="dropdown-content">
|
28 |
+
<a href="/analysis/insurance">Insurance</a>
|
29 |
+
<a href="/analysis/app">App</a>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<a href="/dataset">Dataset</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<!-- Header -->
|
37 |
+
<div class="header">
|
38 |
+
<h1>Fraud App Prediction</h1>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<!-- Input Container -->
|
42 |
+
<div class="input-container">
|
43 |
+
<form action="/predict/app" method="POST">
|
44 |
+
<div class="input-group">
|
45 |
+
<label for="app-id">App ID:</label>
|
46 |
+
<input type="text" id="app-id" name="app-id" placeholder="Enter App ID">
|
47 |
+
</div>
|
48 |
+
<div class="input-group">
|
49 |
+
<label for="app-name">App Name:</label>
|
50 |
+
<input type="text" id="app-name" name="app-name" placeholder="Enter App Name">
|
51 |
+
</div>
|
52 |
+
<div class="button-group">
|
53 |
+
<button type="button" onclick="clearFormApp()" class="clear-button">Clear</button>
|
54 |
+
<button class="submit-button" type="submit">Submit</button>
|
55 |
+
</div>
|
56 |
+
</form>
|
57 |
+
</div>
|
58 |
+
<script src="{{ url_for('static', filename='vehicle_script.js') }}"></script>
|
59 |
+
</body>
|
60 |
+
</html>
|
templates/index.html
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Insurance Fraud Detection</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
|
11 |
+
<!-- Navigation Bar -->
|
12 |
+
<div class="navbar">
|
13 |
+
<div class="logo">
|
14 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
15 |
+
</div>
|
16 |
+
<div class="navbar-links">
|
17 |
+
<a href="/">Home</a>
|
18 |
+
<div class="dropdown">
|
19 |
+
<button class="dropbtn">Predict</button>
|
20 |
+
<div class="dropdown-content">
|
21 |
+
<a href="/predict/insurance">Insurance</a>
|
22 |
+
<a href="/predict/app">App</a>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="dropdown">
|
26 |
+
<button class="dropbtn">Analysis</button>
|
27 |
+
<div class="dropdown-content">
|
28 |
+
<a href="/analysis/insurance">Insurance</a>
|
29 |
+
<a href="/analysis/app">App</a>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<a href="/dataset">Dataset</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
|
37 |
+
<!-- Content -->
|
38 |
+
<div class="content">
|
39 |
+
<h1>Insurance & App Fraud Detection</h1>
|
40 |
+
<p>Insurance & App Fraud Detection is a web application designed to identify fraudulent activities in Vehicle insurance claims and to detect fraudulent apps on the Play Store using machine learning algorithms and Data Visualization techniques. The project is made by SY CS(AIML) students from Vishwakarma Institute of Technology Pune</p>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
<!-- Buttons -->
|
44 |
+
<div class="buttons">
|
45 |
+
<button onclick="window.location.href='/vehicle_insurance'">Vehicle Insurance</button>
|
46 |
+
<button onclick="window.location.href='/mobile_app'">Mobile App</button>
|
47 |
+
</div>
|
48 |
+
|
49 |
+
</body>
|
50 |
+
</html>
|
templates/insurance_analysis.html
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Prediction Result</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='insurance_analysisstyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
|
11 |
+
<!-- Navigation Bar -->
|
12 |
+
<div class="navbar">
|
13 |
+
<div class="logo">
|
14 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
15 |
+
</div>
|
16 |
+
<div class="navbar-links">
|
17 |
+
<a href="/">Home</a>
|
18 |
+
<div class="dropdown">
|
19 |
+
<button class="dropbtn">Predict</button>
|
20 |
+
<div class="dropdown-content">
|
21 |
+
<a href="/predict/insurance">Insurance</a>
|
22 |
+
<a href="/predict/app">App</a>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="dropdown">
|
26 |
+
<button class="dropbtn">Analysis</button>
|
27 |
+
<div class="dropdown-content">
|
28 |
+
<a href="/analysis/insurance">Insurance</a>
|
29 |
+
<a href="/analysis/app">App</a>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<a href="/dataset">Dataset</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<div class="plots-container">
|
36 |
+
<h4>Graphical Analysis : </h4>
|
37 |
+
<div class="row">
|
38 |
+
<!-- Plot 1 -->
|
39 |
+
<div class="plot">
|
40 |
+
<img src="data:image/png;base64,{{ plot1 }}" alt="Plot 1">
|
41 |
+
</div>
|
42 |
+
<!-- Plot 2 -->
|
43 |
+
<div class="plot">
|
44 |
+
<img src="data:image/png;base64,{{ plot2 }}" alt="Plot 2">
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
<div class="row">
|
48 |
+
<!-- Plot 3 -->
|
49 |
+
<div class="plot">
|
50 |
+
<img src="data:image/png;base64,{{ plot3 }}" alt="Plot 3">
|
51 |
+
</div>
|
52 |
+
<!-- Plot 4 -->
|
53 |
+
<div class="plot">
|
54 |
+
<img src="data:image/png;base64,{{ plot4 }}" alt="Plot 4">
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
<div class="row">
|
58 |
+
<!-- Plot 5 -->
|
59 |
+
<div class="plot">
|
60 |
+
<img src="data:image/png;base64,{{ plot5 }}" alt="Plot 5">
|
61 |
+
</div>
|
62 |
+
<!-- Plot 6 -->
|
63 |
+
<div class="plot">
|
64 |
+
<img src="data:image/png;base64,{{ plot6 }}" alt="Plot 6">
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
<div class="row">
|
68 |
+
<!-- Plot 7 -->
|
69 |
+
<div class="plot">
|
70 |
+
<img src="data:image/png;base64,{{ plot7 }}" alt="Plot 7">
|
71 |
+
</div>
|
72 |
+
<!-- Plot 8 -->
|
73 |
+
<div class="plot">
|
74 |
+
<img src="data:image/png;base64,{{ plot8 }}" alt="Plot 8">
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
<div class="row">
|
78 |
+
<!-- Plot 7 -->
|
79 |
+
<div class="plot">
|
80 |
+
<img src="data:image/png;base64,{{ plot9 }}" alt="Plot 7">
|
81 |
+
</div>
|
82 |
+
<!-- Plot 8 -->
|
83 |
+
<div class="plot">
|
84 |
+
<img src="data:image/png;base64,{{ plot10 }}" alt="Plot 8">
|
85 |
+
</div>
|
86 |
+
</div>
|
87 |
+
<div class="row">
|
88 |
+
<!-- Plot 7 -->
|
89 |
+
<div class="plot">
|
90 |
+
<img src="data:image/png;base64,{{ plot11 }}" alt="Plot 7">
|
91 |
+
</div>
|
92 |
+
<!-- Plot 8 -->
|
93 |
+
<div class="plot">
|
94 |
+
<img src="data:image/png;base64,{{ plot12 }}" alt="Plot 8">
|
95 |
+
</div>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
</body>
|
99 |
+
</html>
|
templates/prediction_result.html
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Prediction Result : </title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='vehicle_result.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
<div class="container">
|
11 |
+
<h1>Prediction Result</h1>
|
12 |
+
<div class="result-container">
|
13 |
+
<p class="prediction">{{ result }}</p>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
<div class="visualization">
|
17 |
+
<div class="row">
|
18 |
+
<!-- First row -->
|
19 |
+
<div class="plot-container">
|
20 |
+
<img src="data:image/png;base64,{{ plot1 }}" alt="Plot 1">
|
21 |
+
</div>
|
22 |
+
<div class="plot-container">
|
23 |
+
<img src="data:image/png;base64,{{ plot2 }}" alt="Plot 2">
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
<div class="row">
|
27 |
+
<!-- Second row -->
|
28 |
+
<div class="plot-container">
|
29 |
+
<img src="data:image/png;base64,{{ plot3 }}" alt="Plot 3">
|
30 |
+
</div>
|
31 |
+
<div class="plot-container">
|
32 |
+
<img src="data:image/png;base64,{{ plot4 }}" alt="Plot 4">
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<div class="row">
|
36 |
+
<!-- Third row -->
|
37 |
+
<div class="plot-container">
|
38 |
+
<img src="data:image/png;base64,{{ plot5 }}" alt="Plot 5">
|
39 |
+
</div>
|
40 |
+
<div class="plot-container">
|
41 |
+
<img src="data:image/png;base64,{{ plot6 }}" alt="Plot 6">
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<div class="row">
|
45 |
+
<!-- Fourth row -->
|
46 |
+
<div class="plot-container">
|
47 |
+
<img src="data:image/png;base64,{{ plot7 }}" alt="Plot 7">
|
48 |
+
</div>
|
49 |
+
<div class="plot-container">
|
50 |
+
<img src="data:image/png;base64,{{ plot8 }}" alt="Plot 8">
|
51 |
+
</div>
|
52 |
+
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
<br>
|
56 |
+
<div class="buttons">
|
57 |
+
<button onclick="window.location.href='/vehicle_insurance'">Back</button>
|
58 |
+
</div>
|
59 |
+
</body>
|
60 |
+
</html>
|
templates/vehicle.html
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Car Insurance Prediction</title>
|
7 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='vehiclestyling.css') }}">
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
|
11 |
+
<!-- Navigation Bar -->
|
12 |
+
<div class="navbar">
|
13 |
+
<div class="logo">
|
14 |
+
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Company Logo">
|
15 |
+
</div>
|
16 |
+
<div class="navbar-links">
|
17 |
+
<a href="/">Home</a>
|
18 |
+
<div class="dropdown">
|
19 |
+
<button class="dropbtn">Predict</button>
|
20 |
+
<div class="dropdown-content">
|
21 |
+
<a href="/predict/insurance">Insurance</a>
|
22 |
+
<a href="/predict/app">App</a>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="dropdown">
|
26 |
+
<button class="dropbtn">Analysis</button>
|
27 |
+
<div class="dropdown-content">
|
28 |
+
<a href="/analysis/insurance">Insurance</a>
|
29 |
+
<a href="/analysis/app">App</a>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<a href="/dataset">Dataset</a>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
|
37 |
+
<!-- Content -->
|
38 |
+
<div class="content">
|
39 |
+
<h1>Car Insurance Fraud Prediction</h1>
|
40 |
+
<form id="insuranceForm" action="/predict/insurance" method="post">
|
41 |
+
<form id="insuranceForm">
|
42 |
+
<div class="scrollbar">
|
43 |
+
<!-- Car Company -->
|
44 |
+
<label for="CarCompany">Car Company:</label>
|
45 |
+
<select id="CarCompany" name="CarCompany" required>
|
46 |
+
<option value="">Select Car Company</option>
|
47 |
+
<option value="Chevrolet">Chevrolet</option>
|
48 |
+
<option value="Toyota">Toyota</option>
|
49 |
+
<option value="Honda">Honda</option>
|
50 |
+
<option value="Pontiac">Pontiac</option>
|
51 |
+
<option value="Mazda">Mazda</option>
|
52 |
+
<option value="Ford">Ford</option>
|
53 |
+
<option value="Accura">Accura</option>
|
54 |
+
<option value="Saab">Saab</option>
|
55 |
+
<option value="Mercury">Mercury</option>
|
56 |
+
<option value="Dodge">Dodge</option>
|
57 |
+
<option value="Saturn">Saturn</option>
|
58 |
+
<option value="VW">VW</option>
|
59 |
+
<option value="BMW">BMW</option>
|
60 |
+
<option value="Nisson">Nisson</option>
|
61 |
+
<option value="Jaguar">Jaguar</option>
|
62 |
+
<option value="Porche">Porche</option>
|
63 |
+
<option value="Mecedes">Mecedes</option>
|
64 |
+
<option value="Ferrari">Ferrari</option>
|
65 |
+
</select><br><br>
|
66 |
+
|
67 |
+
<!-- Accident Area -->
|
68 |
+
<label for="AccidentArea">Accident Area (Urban/Rural):</label>
|
69 |
+
<select id="AccidentArea" name="AccidentArea" required>
|
70 |
+
<option value="">Select Accident Area</option>
|
71 |
+
<option value="Urban">Urban</option>
|
72 |
+
<option value="Rural">Rural</option>
|
73 |
+
</select><br><br>
|
74 |
+
|
75 |
+
<!-- Owner's Gender -->
|
76 |
+
<label for="OwnerGender">Owner's Gender (Male/Female):</label>
|
77 |
+
<select id="OwnerGender" name="OwnerGender" required>
|
78 |
+
<option value="">Select Owner's Gender</option>
|
79 |
+
<option value="Male">Male</option>
|
80 |
+
<option value="Female">Female</option>
|
81 |
+
</select><br><br>
|
82 |
+
|
83 |
+
<!-- Owner's Age -->
|
84 |
+
<label for="OwnerAge">Owner's Age:</label>
|
85 |
+
<input type="number" id="OwnerAge" name="OwnerAge" required><br><br>
|
86 |
+
|
87 |
+
<!-- Fault -->
|
88 |
+
<label for="Fault">Fault (Policy Holder/Third Party):</label>
|
89 |
+
<select id="Fault" name="Fault" required>
|
90 |
+
<option value="">Select Fault</option>
|
91 |
+
<option value="Policy Holder">Policy Holder</option>
|
92 |
+
<option value="Third Party">Third Party</option>
|
93 |
+
</select><br><br>
|
94 |
+
|
95 |
+
<!-- Car Category -->
|
96 |
+
<label for="CarCategory">Car Category (Sedan/Sport/Utility):</label>
|
97 |
+
<select id="CarCategory" name="CarCategory" required>
|
98 |
+
<option value="">Select Car Category</option>
|
99 |
+
<option value="Sedan">Sedan</option>
|
100 |
+
<option value="Sport">Sport</option>
|
101 |
+
<option value="Utility">Utility</option>
|
102 |
+
</select><br><br>
|
103 |
+
|
104 |
+
<!-- Car Price -->
|
105 |
+
<label for="CarPrice">Car Price:</label>
|
106 |
+
<input type="number" id="CarPrice" name="CarPrice" required><br><br>
|
107 |
+
|
108 |
+
<!-- Police Report Filed -->
|
109 |
+
<label for="PoliceReportFiled">Was a Police Report Filed? (Yes/No):</label>
|
110 |
+
<select id="PoliceReportFiled" name="PoliceReportFiled" required>
|
111 |
+
<option value="">Select Option</option>
|
112 |
+
<option value="Yes">Yes</option>
|
113 |
+
<option value="No">No</option>
|
114 |
+
</select><br><br>
|
115 |
+
|
116 |
+
<!-- Witness Present -->
|
117 |
+
<label for="WitnessPresent">Was a Witness Present? (Yes/No):</label>
|
118 |
+
<select id="WitnessPresent" name="WitnessPresent" required>
|
119 |
+
<option value="">Select Option</option>
|
120 |
+
<option value="Yes">Yes</option>
|
121 |
+
<option value="No">No</option>
|
122 |
+
</select><br><br>
|
123 |
+
|
124 |
+
<!-- Agent Type -->
|
125 |
+
<label for="AgentType">Agent Type (External/Internal):</label>
|
126 |
+
<select id="AgentType" name="AgentType" required>
|
127 |
+
<option value="">Select Agent Type</option>
|
128 |
+
<option value="External">External</option>
|
129 |
+
<option value="Internal">Internal</option>
|
130 |
+
</select><br><br>
|
131 |
+
|
132 |
+
<!-- Number of Suppliments -->
|
133 |
+
<label for="NumberOfSuppliments">Number of Suppliments:</label>
|
134 |
+
<input type="number" id="NumberOfSuppliments" name="NumberOfSuppliments" required><br><br>
|
135 |
+
|
136 |
+
<!-- Base Policy -->
|
137 |
+
<label for="BasePolicy">Base Policy (All Perils/Collision/Liability):</label>
|
138 |
+
<select id="BasePolicy" name="BasePolicy" required>
|
139 |
+
<option value="">Select Base Policy</option>
|
140 |
+
<option value="All Perils">All Perils</option>
|
141 |
+
<option value="Collision">Collision</option>
|
142 |
+
<option value="Liability">Liability</option>
|
143 |
+
</select><br><br>
|
144 |
+
|
145 |
+
<!-- Is Address Changed -->
|
146 |
+
<label for="IsAddressChanged">Was the Address Changed after Insurance? (Yes/No):</label>
|
147 |
+
<select id="IsAddressChanged" name="IsAddressChanged" required>
|
148 |
+
<option value="">Select Option</option>
|
149 |
+
<option value="Yes">Yes</option>
|
150 |
+
<option value="No">No</option>
|
151 |
+
</select><br><br>
|
152 |
+
|
153 |
+
<!-- Past Number of Claims -->
|
154 |
+
<label for="PastNumberOfClaims">Past Number of Insurance Claims:</label>
|
155 |
+
<input type="number" id="PastNumberOfClaims" name="PastNumberOfClaims" required><br><br>
|
156 |
+
</div>
|
157 |
+
<div class="button-container">
|
158 |
+
<button type="submit" class="submit-button">Submit</button>
|
159 |
+
<button type="button" onclick="clearForm()" class="clear-button">Clear</button>
|
160 |
+
|
161 |
+
</div>
|
162 |
+
</form>
|
163 |
+
</div>
|
164 |
+
<script src="{{ url_for('static', filename='vehicle_script.js') }}"></script>
|
165 |
+
</body>
|
166 |
+
</html>
|