my-cloud-devops-consulting 1.1.202507022317__tar.gz → 1.1.202507040117__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {my-cloud-devops-consulting-1.1.202507022317/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202507040117}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/my_cloud_devops_consulting.egg-info/SOURCES.txt +2 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/index.css +16 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/main.css +66 -0
- my-cloud-devops-consulting-1.1.202507040117/static/js/counter.js +19 -0
- my-cloud-devops-consulting-1.1.202507040117/static/js/typing.js +40 -0
- my-cloud-devops-consulting-1.1.202507040117/templates/about.html +35 -0
- my-cloud-devops-consulting-1.1.202507040117/templates/assessment.html +22 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/base.html +25 -1
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/index.html +71 -7
- my-cloud-devops-consulting-1.1.202507040117/test/test.py +9 -0
- my-cloud-devops-consulting-1.1.202507022317/templates/about.html +0 -52
- my-cloud-devops-consulting-1.1.202507022317/templates/assessment.html +0 -33
- my-cloud-devops-consulting-1.1.202507022317/test/test.py +0 -10
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/MANIFEST.in +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/README.md +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/app.py +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/setup.cfg +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/setup.py +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/about.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/assessment.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/contact-form.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/login.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/register.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/css/services.css +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/images/image.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/images/whatspp.jpeg +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/js/index.js +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/js/login.js +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/js/main.js +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/js/register.js +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/static/js/services.js +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/contact-form.html +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/login.html +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/private-videos.html +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/register.html +0 -0
- {my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/templates/services.html +0 -0
@@ -17,11 +17,13 @@ static/css/register.css
|
|
17
17
|
static/css/services.css
|
18
18
|
static/images/image.jpg
|
19
19
|
static/images/whatspp.jpeg
|
20
|
+
static/js/counter.js
|
20
21
|
static/js/index.js
|
21
22
|
static/js/login.js
|
22
23
|
static/js/main.js
|
23
24
|
static/js/register.js
|
24
25
|
static/js/services.js
|
26
|
+
static/js/typing.js
|
25
27
|
templates/about.html
|
26
28
|
templates/assessment.html
|
27
29
|
templates/base.html
|
@@ -276,3 +276,19 @@ nav ul.visible {
|
|
276
276
|
min-height: 180px;
|
277
277
|
}
|
278
278
|
}
|
279
|
+
|
280
|
+
#dynamic-headline::after {
|
281
|
+
content: "|";
|
282
|
+
animation: blink 1s infinite;
|
283
|
+
margin-left: 5px;
|
284
|
+
}
|
285
|
+
|
286
|
+
@keyframes blink {
|
287
|
+
0%,
|
288
|
+
100% {
|
289
|
+
opacity: 1;
|
290
|
+
}
|
291
|
+
50% {
|
292
|
+
opacity: 0;
|
293
|
+
}
|
294
|
+
}
|
@@ -95,3 +95,69 @@ a:hover {
|
|
95
95
|
nav ul li a i {
|
96
96
|
margin-right: 6px;
|
97
97
|
}
|
98
|
+
|
99
|
+
.floating-shape {
|
100
|
+
position: absolute;
|
101
|
+
border-radius: 50%;
|
102
|
+
background: radial-gradient(circle at center, #00b4d8, #0077b6);
|
103
|
+
width: 200px;
|
104
|
+
height: 200px;
|
105
|
+
opacity: 0.3;
|
106
|
+
animation: float 8s ease-in-out infinite;
|
107
|
+
z-index: 0;
|
108
|
+
}
|
109
|
+
|
110
|
+
.floating-shape.one {
|
111
|
+
top: -50px;
|
112
|
+
left: -50px;
|
113
|
+
}
|
114
|
+
|
115
|
+
.floating-shape.two {
|
116
|
+
bottom: -60px;
|
117
|
+
right: -40px;
|
118
|
+
}
|
119
|
+
|
120
|
+
@keyframes float {
|
121
|
+
0% {
|
122
|
+
transform: translateY(0px) scale(1);
|
123
|
+
}
|
124
|
+
50% {
|
125
|
+
transform: translateY(-30px) scale(1.05);
|
126
|
+
}
|
127
|
+
100% {
|
128
|
+
transform: translateY(0px) scale(1);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
.floating-shape {
|
133
|
+
position: absolute;
|
134
|
+
width: 60px;
|
135
|
+
height: 60px;
|
136
|
+
border-radius: 50%;
|
137
|
+
opacity: 0.2;
|
138
|
+
animation: float 6s ease-in-out infinite;
|
139
|
+
z-index: 0;
|
140
|
+
}
|
141
|
+
|
142
|
+
.floating-shape.one {
|
143
|
+
top: 20px;
|
144
|
+
left: 15%;
|
145
|
+
background: radial-gradient(circle at center, #00c6ff, #0072ff);
|
146
|
+
}
|
147
|
+
|
148
|
+
.floating-shape.two {
|
149
|
+
bottom: 30px;
|
150
|
+
right: 10%;
|
151
|
+
background: radial-gradient(circle at center, #ff6a00, #ee0979);
|
152
|
+
animation-delay: 3s;
|
153
|
+
}
|
154
|
+
|
155
|
+
@keyframes float {
|
156
|
+
0%,
|
157
|
+
100% {
|
158
|
+
transform: translateY(0px);
|
159
|
+
}
|
160
|
+
50% {
|
161
|
+
transform: translateY(-20px);
|
162
|
+
}
|
163
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
document.addEventListener("DOMContentLoaded", () => {
|
2
|
+
const counters = document.querySelectorAll(".counter");
|
3
|
+
counters.forEach(counter => {
|
4
|
+
const updateCount = () => {
|
5
|
+
const target = +counter.getAttribute("data-target");
|
6
|
+
const count = +counter.innerText;
|
7
|
+
const increment = target / 200; // smaller = slower
|
8
|
+
|
9
|
+
if (count < target) {
|
10
|
+
counter.innerText = Math.ceil(count + increment);
|
11
|
+
setTimeout(updateCount, 20);
|
12
|
+
} else {
|
13
|
+
counter.innerText = target;
|
14
|
+
}
|
15
|
+
};
|
16
|
+
updateCount();
|
17
|
+
});
|
18
|
+
});
|
19
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
document.addEventListener("DOMContentLoaded", () => {
|
2
|
+
const text = [
|
3
|
+
"Empowering Your Cloud Journey 🚀",
|
4
|
+
"Automate. Scale. Secure. 🔐",
|
5
|
+
"From Dev to Ops — Faster ⚙️",
|
6
|
+
];
|
7
|
+
let i = 0;
|
8
|
+
let j = 0;
|
9
|
+
let isDeleting = false;
|
10
|
+
const element = document.getElementById("dynamic-headline");
|
11
|
+
|
12
|
+
function typeEffect() {
|
13
|
+
const currentPhrase = text[i];
|
14
|
+
const fullLength = currentPhrase.length;
|
15
|
+
|
16
|
+
if (!isDeleting) {
|
17
|
+
j++;
|
18
|
+
} else {
|
19
|
+
j--;
|
20
|
+
}
|
21
|
+
|
22
|
+
element.innerText = currentPhrase.substring(0, j);
|
23
|
+
|
24
|
+
let delay = isDeleting ? 80 : 160; // base typing/deleting speed
|
25
|
+
|
26
|
+
if (!isDeleting && j === fullLength) {
|
27
|
+
isDeleting = true;
|
28
|
+
delay = 2000; // pause after typing
|
29
|
+
} else if (isDeleting && j === 0) {
|
30
|
+
isDeleting = false;
|
31
|
+
i = (i + 1) % text.length;
|
32
|
+
delay = 600; // pause before next phrase
|
33
|
+
}
|
34
|
+
|
35
|
+
setTimeout(typeEffect, delay);
|
36
|
+
}
|
37
|
+
|
38
|
+
typeEffect();
|
39
|
+
});
|
40
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{% extends "base.html" %} {% block main %}
|
2
|
+
<main class="container my-5">
|
3
|
+
<section class="about-hero">
|
4
|
+
<div class="about-container">
|
5
|
+
<h1>🚀 About CDC Firm</h1>
|
6
|
+
<p>
|
7
|
+
At CDC Firm, we are a passionate team of cloud and DevOps engineers
|
8
|
+
committed to helping businesses embrace modern, scalable, and secure
|
9
|
+
solutions.
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
Our expertise spans across cloud architecture, CI/CD automation,
|
13
|
+
Kubernetes deployments, infrastructure-as-code, and DevSecOps practices
|
14
|
+
— all tailored to accelerate your digital transformation.
|
15
|
+
</p>
|
16
|
+
|
17
|
+
{% if message %}
|
18
|
+
<p style="font-weight: bold; color: hotpink">{{ message }}</p>
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
<form action="{{ url_for('about') }}" method="post">
|
22
|
+
<label for="mood">What's your mood?</label>
|
23
|
+
<input
|
24
|
+
type="text"
|
25
|
+
name="mood"
|
26
|
+
id="mood"
|
27
|
+
placeholder="excited / curious / other"
|
28
|
+
required
|
29
|
+
/>
|
30
|
+
<button type="submit">Submit</button>
|
31
|
+
</form>
|
32
|
+
</div>
|
33
|
+
</section>
|
34
|
+
</main>
|
35
|
+
{% endblock %}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{% extends "base.html" %} {% block main %}
|
2
|
+
<main class="container my-5">
|
3
|
+
<h1>Cloud Readiness Assessment</h1>
|
4
|
+
|
5
|
+
<form method="POST" class="mb-4">
|
6
|
+
<label for="client_name">Client Name:</label>
|
7
|
+
<input type="text" name="client_name" id="client_name" required />
|
8
|
+
|
9
|
+
<label for="score">Readiness Score (0–100):</label>
|
10
|
+
<input type="number" name="score" id="score" required />
|
11
|
+
|
12
|
+
<button type="submit">Assess</button>
|
13
|
+
</form>
|
14
|
+
|
15
|
+
{% if result %}
|
16
|
+
<div class="result">
|
17
|
+
<h2>Assessment Result:</h2>
|
18
|
+
<p>{{ result }}</p>
|
19
|
+
</div>
|
20
|
+
{% endif %}
|
21
|
+
</main>
|
22
|
+
{% endblock %}
|
@@ -14,7 +14,6 @@
|
|
14
14
|
referrerpolicy="no-referrer"
|
15
15
|
/>
|
16
16
|
|
17
|
-
<!-- ✅ Core CSS -->
|
18
17
|
<link
|
19
18
|
rel="stylesheet"
|
20
19
|
href="{{ url_for('static', filename='css/main.css') }}"
|
@@ -23,6 +22,8 @@
|
|
23
22
|
rel="stylesheet"
|
24
23
|
href="{{ url_for('static', filename='css/index.css') }}"
|
25
24
|
/>
|
25
|
+
<!-- ✅ AOS Animation Styles -->
|
26
|
+
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet" />
|
26
27
|
|
27
28
|
<!-- ✅ Load services.css only on /services route -->
|
28
29
|
{% if request.endpoint == 'services' %}
|
@@ -40,6 +41,14 @@
|
|
40
41
|
/>
|
41
42
|
{% endif %}
|
42
43
|
|
44
|
+
<!-- ✅ Load about.css only on /about route -->
|
45
|
+
{% if request.endpoint == 'about' %}
|
46
|
+
<link
|
47
|
+
rel="stylesheet"
|
48
|
+
href="{{ url_for('static', filename='css/about.css') }}"
|
49
|
+
/>
|
50
|
+
{% endif %}
|
51
|
+
|
43
52
|
<style>
|
44
53
|
/* CSS for Moving Image */
|
45
54
|
.moving-image-container {
|
@@ -213,6 +222,21 @@
|
|
213
222
|
></script>
|
214
223
|
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
|
215
224
|
|
225
|
+
<!-- ✅ Load typing.js only on homepage -->
|
226
|
+
{% if request.endpoint == 'home' %}
|
227
|
+
<script src="{{ url_for('static', filename='js/typing.js') }}"></script>
|
228
|
+
<script src="{{ url_for('static', filename='js/counter.js') }}"></script>
|
229
|
+
{% endif %}
|
230
|
+
|
231
|
+
<!-- ✅ AOS Animation Script -->
|
232
|
+
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
233
|
+
<script>
|
234
|
+
AOS.init({
|
235
|
+
duration: 800,
|
236
|
+
once: true,
|
237
|
+
});
|
238
|
+
</script>
|
239
|
+
|
216
240
|
<!-- ✅ Tidio Live Chat Widget -->
|
217
241
|
<script
|
218
242
|
src="//code.tidio.co/nm9da68kwarxu4poexeqqsiblocw7heq.js"
|
@@ -2,15 +2,27 @@
|
|
2
2
|
|
3
3
|
<main>
|
4
4
|
<!-- Hero Section -->
|
5
|
-
<section
|
6
|
-
|
7
|
-
|
5
|
+
<section
|
6
|
+
class="hero-section"
|
7
|
+
style="position: relative; text-align: center; padding: 60px 20px"
|
8
|
+
>
|
9
|
+
<!-- ✨ Floating Shapes -->
|
10
|
+
<div class="floating-shape one"></div>
|
11
|
+
<div class="floating-shape two"></div>
|
12
|
+
|
13
|
+
<h1 data-aos="fade-up" id="dynamic-headline"></h1>
|
14
|
+
<p data-aos="fade-up" data-aos-delay="200">
|
8
15
|
We specialize in delivering Cloud and DevOps consulting services tailored
|
9
|
-
to
|
16
|
+
to your unique business needs.
|
10
17
|
</p>
|
11
|
-
<
|
12
|
-
|
13
|
-
|
18
|
+
<a
|
19
|
+
href="{{ url_for('services') }}"
|
20
|
+
class="btn btn-primary mt-3"
|
21
|
+
data-aos="zoom-in"
|
22
|
+
data-aos-delay="400"
|
23
|
+
>
|
24
|
+
Explore Our Services
|
25
|
+
</a>
|
14
26
|
</section>
|
15
27
|
|
16
28
|
<!-- add demo -->
|
@@ -101,6 +113,57 @@
|
|
101
113
|
</div>
|
102
114
|
</div>
|
103
115
|
</section>
|
116
|
+
|
117
|
+
<!-- me added -->
|
118
|
+
<!-- Impact Stats Section -->
|
119
|
+
<section
|
120
|
+
class="stats-section"
|
121
|
+
style="background: #f9f9f9; padding: 60px 20px; text-align: center"
|
122
|
+
>
|
123
|
+
<h2 data-aos="fade-up">Our Impact in Numbers</h2>
|
124
|
+
<div
|
125
|
+
class="stats-grid"
|
126
|
+
style="
|
127
|
+
display: flex;
|
128
|
+
justify-content: center;
|
129
|
+
gap: 40px;
|
130
|
+
flex-wrap: wrap;
|
131
|
+
margin-top: 40px;
|
132
|
+
"
|
133
|
+
>
|
134
|
+
<div class="stat" data-aos="fade-up" data-aos-delay="100">
|
135
|
+
<div
|
136
|
+
class="counter"
|
137
|
+
data-target="1000"
|
138
|
+
style="font-size: 48px; font-weight: bold"
|
139
|
+
>
|
140
|
+
0
|
141
|
+
</div>
|
142
|
+
<p>Projects Delivered</p>
|
143
|
+
</div>
|
144
|
+
<div class="stat" data-aos="fade-up" data-aos-delay="200">
|
145
|
+
<div
|
146
|
+
class="counter"
|
147
|
+
data-target="700"
|
148
|
+
style="font-size: 48px; font-weight: bold"
|
149
|
+
>
|
150
|
+
0
|
151
|
+
</div>
|
152
|
+
<p>Happy Clients</p>
|
153
|
+
</div>
|
154
|
+
<div class="stat" data-aos="fade-up" data-aos-delay="300">
|
155
|
+
<div
|
156
|
+
class="counter"
|
157
|
+
data-target="950"
|
158
|
+
style="font-size: 48px; font-weight: bold"
|
159
|
+
>
|
160
|
+
0
|
161
|
+
</div>
|
162
|
+
<p>Supported Regions</p>
|
163
|
+
</div>
|
164
|
+
</div>
|
165
|
+
</section>
|
166
|
+
|
104
167
|
<!--add testimony-->
|
105
168
|
<section class="testimonials-carousel">
|
106
169
|
<h3>What Our Clients Say</h3>
|
@@ -175,6 +238,7 @@
|
|
175
238
|
</button>
|
176
239
|
</form>
|
177
240
|
</section>
|
241
|
+
|
178
242
|
<!-- Subscription Section -->
|
179
243
|
</main>
|
180
244
|
|
@@ -0,0 +1,9 @@
|
|
1
|
+
def create_hero(name, power, city):
|
2
|
+
return f"Captain {name} has the {power} of fire and protects New {city}"
|
3
|
+
message = create_hero("Flames", "power","York")
|
4
|
+
print(message)
|
5
|
+
|
6
|
+
def hero_intro(hero_description):
|
7
|
+
return message
|
8
|
+
new_message = hero_intro(message)
|
9
|
+
print(new_message)
|
@@ -1,52 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8" />
|
5
|
-
<title>About Us - CDC Firm</title>
|
6
|
-
<link
|
7
|
-
rel="stylesheet"
|
8
|
-
href="{{ url_for('static', filename='css/main.css') }}"
|
9
|
-
/>
|
10
|
-
<link
|
11
|
-
rel="stylesheet"
|
12
|
-
href="{{ url_for('static', filename='css/about.css') }}"
|
13
|
-
/>
|
14
|
-
</head>
|
15
|
-
|
16
|
-
<body>
|
17
|
-
<section class="about-hero">
|
18
|
-
<div class="about-container">
|
19
|
-
<h1>🚀 About CDC Firm</h1>
|
20
|
-
<p>
|
21
|
-
At CDC Firm, we are a passionate team of cloud and DevOps engineers
|
22
|
-
committed to helping businesses embrace modern, scalable, and secure
|
23
|
-
solutions.
|
24
|
-
</p>
|
25
|
-
<p>
|
26
|
-
Our expertise spans across cloud architecture, CI/CD automation,
|
27
|
-
Kubernetes deployments, infrastructure-as-code, and DevSecOps
|
28
|
-
practices — all tailored to accelerate your digital transformation.
|
29
|
-
</p>
|
30
|
-
<p style="font-weight: bold; color: hotpink">{{ message }}</p>
|
31
|
-
|
32
|
-
<!-- templates/about.html -->
|
33
|
-
<form action="/about" method="post">
|
34
|
-
<label for="mood">What's your mood?</label>
|
35
|
-
<input
|
36
|
-
type="text"
|
37
|
-
name="mood"
|
38
|
-
placeholder="excited / curious / other"
|
39
|
-
required
|
40
|
-
/>
|
41
|
-
<button type="submit">Submit</button>
|
42
|
-
</form>
|
43
|
-
|
44
|
-
<hr />
|
45
|
-
|
46
|
-
{% if message %}
|
47
|
-
<p><strong>Message:</strong> {{ message }}</p>
|
48
|
-
{% endif %}
|
49
|
-
</div>
|
50
|
-
</section>
|
51
|
-
</body>
|
52
|
-
</html>
|
@@ -1,33 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8" />
|
5
|
-
<title>Client Cloud Readiness Assessment</title>
|
6
|
-
<link
|
7
|
-
rel="stylesheet"
|
8
|
-
href="{{ url_for('static', filename='css/assessment.css') }}"
|
9
|
-
/>
|
10
|
-
</head>
|
11
|
-
<body>
|
12
|
-
<div class="container">
|
13
|
-
<h1>Cloud Readiness Assessment</h1>
|
14
|
-
|
15
|
-
<form method="POST">
|
16
|
-
<label for="client_name">Client Name:</label>
|
17
|
-
<input type="text" name="client_name" id="client_name" required />
|
18
|
-
|
19
|
-
<label for="score">Readiness Score (0–100):</label>
|
20
|
-
<input type="number" name="score" id="score" required />
|
21
|
-
|
22
|
-
<button type="submit">Assess</button>
|
23
|
-
</form>
|
24
|
-
|
25
|
-
{% if result %}
|
26
|
-
<div class="result">
|
27
|
-
<h2>Assessment Result:</h2>
|
28
|
-
<p>{{ result }}</p>
|
29
|
-
</div>
|
30
|
-
{% endif %}
|
31
|
-
</div>
|
32
|
-
</body>
|
33
|
-
</html>
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/app.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202507022317 → my-cloud-devops-consulting-1.1.202507040117}/setup.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|