my-cloud-devops-consulting 0.1.15__tar.gz → 0.1.16__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.
Files changed (30) hide show
  1. {my_cloud_devops_consulting-0.1.15/my_cloud_devops_consulting.egg-info → my_cloud_devops_consulting-0.1.16}/PKG-INFO +1 -1
  2. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
  3. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -1
  4. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/setup.py +1 -1
  5. my_cloud_devops_consulting-0.1.15/templates/test.html +0 -277
  6. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/MANIFEST.in +0 -0
  7. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/README.md +0 -0
  8. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/app.py +0 -0
  9. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
  10. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
  11. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
  12. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/setup.cfg +0 -0
  13. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/contact-form.css +0 -0
  14. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/index.css +0 -0
  15. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/login.css +0 -0
  16. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/main.css +0 -0
  17. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/register.css +0 -0
  18. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/css/services.css +0 -0
  19. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/images/image.jpg +0 -0
  20. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/js/index.js +0 -0
  21. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/js/login.js +0 -0
  22. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/js/main.js +0 -0
  23. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/js/register.js +0 -0
  24. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/static/js/services.js +0 -0
  25. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/templates/contact-form.html +0 -0
  26. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/templates/index.html +0 -0
  27. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/templates/login.html +0 -0
  28. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/templates/register.html +0 -0
  29. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/templates/services.html +0 -0
  30. {my_cloud_devops_consulting-0.1.15 → my_cloud_devops_consulting-0.1.16}/tests/test_unit_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: my-cloud-devops-consulting
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: This is my consulting website for Cloud & DevOps services.
5
5
  Home-page: https://github.com/Betrand1999/project-root
6
6
  Author: Betrand Mutagha
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: my-cloud-devops-consulting
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: This is my consulting website for Cloud & DevOps services.
5
5
  Home-page: https://github.com/Betrand1999/project-root
6
6
  Author: Betrand Mutagha
@@ -24,5 +24,4 @@ templates/index.html
24
24
  templates/login.html
25
25
  templates/register.html
26
26
  templates/services.html
27
- templates/test.html
28
27
  tests/test_unit_test.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='my-cloud-devops-consulting',
5
- version='0.1.15',
5
+ version='0.1.16',
6
6
  author='Betrand Mutagha',
7
7
  author_email='mmutagha@gmail.com',
8
8
  description='This is my consulting website for Cloud & DevOps services.',
@@ -1,277 +0,0 @@
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>Consulting Homepage</title>
7
- <link
8
- rel="stylesheet"
9
- href="{{ url_for('static', filename='css/main.css') }}"
10
- />
11
- <link
12
- rel="stylesheet"
13
- href="{{ url_for('static', filename='css/index.css') }}"
14
- />
15
- </head>
16
- <body>
17
- <header>
18
- <div class="header-container">
19
- <div class="logo">CDC</div>
20
- <h1>Cloud & DevOps Consulting</h1>
21
- <nav aria-label="Main Navigation">
22
- <ul>
23
- <li><a href="{{ url_for('home') }}">Home</a></li>
24
- <li><a href="{{ url_for('services') }}">Services</a></li>
25
- <li><a href="{{ url_for('contact') }}">Contact</a></li>
26
- <li><a href="{{ url_for('contact_form') }}">Contact Form</a></li>
27
- <li><a href="{{ url_for('register') }}">Register</a></li>
28
- <li><a href="{{ url_for('login') }}">Login</a></li>
29
- </ul>
30
- </nav>
31
- </div>
32
- </header>
33
-
34
- <main>
35
- <!-- Hero Section -->
36
- <section class="hero">
37
- <h2>Empowering Your Cloud & DevOps Journey</h2>
38
- <p>
39
- We specialize in delivering Cloud and DevOps consulting services
40
- tailored to meet your unique business needs.
41
- </p>
42
- <button onclick="window.location.href='{{ url_for('services') }}'">
43
- Explore Services
44
- </button>
45
- </section>
46
-
47
- <!-- Video Section (only if logged in) -->
48
- {% if video_url %}
49
- <section class="video-section">
50
- <h2>Watch Our Video</h2>
51
- <video controls>
52
- <source src="{{ video_url }}" type="video/mp4" />
53
- Your browser does not support the video tag.
54
- </video>
55
- </section>
56
- {% endif %}
57
-
58
- <!-- Services Highlights -->
59
- <section class="services-highlight">
60
- <h3>Our Key Services</h3>
61
- <div class="service-cards">
62
- <div class="card">
63
- <h4>Cloud Consulting</h4>
64
- <p>
65
- Cloud migration, strategy, and optimization tailored for your
66
- business.
67
- </p>
68
- <a href="{{ url_for('services') }}" class="btn-link">Learn More</a>
69
- </div>
70
- <div class="card">
71
- <h4>DevOps Solutions</h4>
72
- <p>
73
- CI/CD pipelines, automated infrastructure, and efficient delivery.
74
- </p>
75
- <a href="{{ url_for('services') }}" class="btn-link">Learn More</a>
76
- </div>
77
- <div class="card">
78
- <h4>Security & Compliance</h4>
79
- <p>
80
- Ensure security and compliance across your cloud and on-premise
81
- environments.
82
- </p>
83
- <a href="{{ url_for('services') }}" class="btn-link">Learn More</a>
84
- </div>
85
- </div>
86
- </section>
87
-
88
- <!-- Quick Links Section -->
89
- <section class="quick-links">
90
- <h3>Quick Links</h3>
91
- <ul>
92
- <li><a href="{{ url_for('services') }}">View Our Services</a></li>
93
- <li><a href="{{ url_for('contact') }}">Get in Touch</a></li>
94
- <li><a href="{{ url_for('contact_form') }}">Contact Form</a></li>
95
- </ul>
96
- </section>
97
- </main>
98
-
99
- <footer>
100
- <div class="contact-info">
101
- <p>
102
- Phone: 240 298 1823 | Email:
103
- <a href="mailto:mmutagha@gmail.com">mmutagha@gmail.com</a>
104
- </p>
105
- </div>
106
- <p>&copy; 2024 Cloud & DevOps Consulting. All rights reserved.</p>
107
- </footer>
108
-
109
- <script src="{{ url_for('static', filename='js/main.js') }}"></script>
110
- </html>
111
- <button class="scroll-to-top" onclick="scrollToTop()">↑ Top</button>
112
-
113
- </body>
114
-
115
-
116
-
117
-
118
- # register
119
-
120
- <!DOCTYPE html>
121
- <html lang="en">
122
- <head>
123
- <meta charset="UTF-8" />
124
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
125
- <title>Register</title>
126
- <link
127
- rel="stylesheet"
128
- href="{{ url_for('static', filename='css/register.css') }}"
129
- />
130
- </head>
131
- <body>
132
- <header>
133
- <div class="header-container">
134
- <div class="logo">CDC</div>
135
- <h1>Register for Cloud & DevOps Consulting</h1>
136
- <nav>
137
- <ul>
138
- <li><a href="{{ url_for('home') }}">Home</a></li>
139
- <li><a href="{{ url_for('services') }}">Services</a></li>
140
- <li><a href="{{ url_for('contact') }}">Contact</a></li>
141
- <li><a href="{{ url_for('contact_form') }}">Contact Form</a></li>
142
- </ul>
143
- </nav>
144
- </div>
145
- </header>
146
-
147
- <main>
148
- <section class="register-form">
149
- <h2>Register</h2>
150
- <!-- Flash messages for feedback -->
151
- {% with messages = get_flashed_messages() %} {% if messages %}
152
- <ul>
153
- {% for message in messages %}
154
- <li>{{ message }}</li>
155
- {% endfor %}
156
- </ul>
157
- {% endif %} {% endwith %}
158
-
159
- <form method="POST" action="{{ url_for('register') }}">
160
- <label for="username">Username:</label><br />
161
- <input
162
- type="text"
163
- id="username"
164
- name="username"
165
- required
166
- /><br /><br />
167
- <label for="password">Password:</label><br />
168
- <input
169
- type="password"
170
- id="password"
171
- name="password"
172
- required
173
- /><br /><br />
174
- <button type="submit">Register</button>
175
- </form>
176
- <p>
177
- Already have an account?
178
- <a href="{{ url_for('login') }}">Login here</a>
179
- </p>
180
- </section>
181
- </main>
182
-
183
- <footer>
184
- <div class="contact-info">
185
- <p>
186
- Phone: 240 298 1823 | Email:
187
- <a href="mailto:mmutagha@gmail.com">mmutagha@gmail.com</a>
188
- </p>
189
- </div>
190
- <p>&copy; 2024 Cloud & DevOps Consulting. All rights reserved.</p>
191
- </footer>
192
-
193
- <script src="{{ url_for('static', filename='js/register.js') }}"></script>
194
- <script src="{{ url_for('static', filename='js/register.js') }}"></script>
195
- </body>
196
- </html>
197
-
198
-
199
-
200
- # app
201
- from flask import Flask, render_template, request, redirect, url_for, session
202
- from pymongo import MongoClient
203
- from werkzeug.security import generate_password_hash, check_password_hash
204
- import boto3
205
-
206
- app = Flask(__name__)
207
- app.secret_key = 'your_secret_key' # Change this to a secure value
208
-
209
- # AWS S3 Configuration (Remove credentials from code for security)
210
- s3_client = boto3.client(
211
- 's3',
212
- aws_access_key_id='your_aws_access_key',
213
- aws_secret_access_key='your_aws_secret_key',
214
- region_name='us-east-1'
215
- )
216
- bucket_name = 'my-websites-videos'
217
-
218
- # MongoDB Configuration (Remove sensitive credentials)
219
- client = MongoClient("your_mongodb_connection_string")
220
- db = client['my-database']
221
- users_collection = db['inventory_collection']
222
-
223
- @app.route('/')
224
- def home():
225
- video_url = None
226
- if 'username' in session:
227
- video_url = f"https://{bucket_name}.s3.amazonaws.com/videos/death%20row.mp4"
228
- return render_template('index.html', video_url=video_url)
229
-
230
- @app.route('/login', methods=['GET', 'POST'])
231
- def login():
232
- if request.method == 'POST':
233
- username = request.form['username']
234
- password = request.form['password']
235
- user = users_collection.find_one({'username': username})
236
- if user and check_password_hash(user['password'], password):
237
- session['username'] = username
238
- return redirect(url_for('home'))
239
- else:
240
- return "Invalid username or password"
241
- return render_template('login.html')
242
-
243
- @app.route('/register', methods=['GET', 'POST'])
244
- def register():
245
- if request.method == 'POST':
246
- username = request.form['username']
247
- password = request.form['password']
248
- hashed_password = generate_password_hash(password)
249
- user_data = {'username': username, 'password': hashed_password}
250
- users_collection.insert_one(user_data)
251
- return redirect(url_for('login'))
252
- return render_template('register.html')
253
-
254
- @app.route('/services')
255
- def services():
256
- return render_template('services.html')
257
-
258
- @app.route('/contact')
259
- def contact():
260
- return render_template('contact.html')
261
-
262
- @app.route('/contact-form', methods=['GET', 'POST'])
263
- def contact_form():
264
- if request.method == 'POST':
265
- name = request.form['name']
266
- email = request.form['email']
267
- phone = request.form['phone']
268
- message = request.form['message']
269
- contact_data = {'name': name, 'email': email, 'phone': phone, 'message': message}
270
- db.contacts.insert_one(contact_data)
271
- return redirect(url_for('home'))
272
- return render_template('contact-form.html')
273
-
274
- if __name__ == '__main__':
275
- app.run(debug=True,port=8080)
276
-
277
-