diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/main.py b/Visual Studio Code Projects/day-61-flask-secrets-end/main.py
new file mode 100644
index 0000000..68a44e1
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/main.py
@@ -0,0 +1,48 @@
+from flask import Flask, render_template
+from flask_wtf import FlaskForm
+from wtforms import StringField, PasswordField, SubmitField
+from wtforms.validators import DataRequired, Email, Length # pip install email-validator
+from flask_bootstrap import Bootstrap5 # pip install bootstrap-flask
+
+'''
+Red underlines? Install the required packages first:
+Open the Terminal in PyCharm (bottom left).
+
+On Windows type:
+python -m pip install -r requirements.txt
+
+On MacOS type:
+pip3 install -r requirements.txt
+
+This will install the packages from requirements.txt for this project.
+'''
+
+
+class LoginForm(FlaskForm):
+ email = StringField('Email', validators=[DataRequired()])
+ password = PasswordField('Password', validators=[DataRequired()])
+ submit = SubmitField(label="Log In")
+
+
+app = Flask(__name__)
+app.secret_key = "any-string-you-want-just-keep-it-secret"
+bootstrap = Bootstrap5(app)
+
+@app.route("/")
+def home():
+ return render_template('index.html')
+
+
+@app.route("/login", methods=["GET", "POST"])
+def login():
+ login_form = LoginForm()
+ if login_form.validate_on_submit():
+ if login_form.email.data == "admin@email.com" and login_form.password.data == "12345678":
+ return render_template("success.html")
+ else:
+ return render_template("denied.html")
+ return render_template("login.html", form=login_form)
+
+
+if __name__ == '__main__':
+ app.run(debug=True, port=5001)
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/requirements.txt b/Visual Studio Code Projects/day-61-flask-secrets-end/requirements.txt
new file mode 100644
index 0000000..2185543
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/requirements.txt
@@ -0,0 +1,5 @@
+Bootstrap_Flask==2.2.0
+Flask==2.3.2
+WTForms==3.0.1
+Flask_WTF==1.2.1
+Werkzeug==3.0.0
\ No newline at end of file
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/templates/base.html b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/base.html
new file mode 100644
index 0000000..07b7e00
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/base.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ {% block styles %}
+
+ {{ bootstrap.load_css() }}
+ {% endblock %}
+
+ {% block title %}{% endblock %}
+
+
+ {% block content %}{% endblock %}
+
+
+
\ No newline at end of file
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/templates/denied.html b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/denied.html
new file mode 100644
index 0000000..a4753b9
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/denied.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+{% block title %}Access Denied{% endblock %}
+{% block content %}
+
+{% endblock %}
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/templates/index.html b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/index.html
new file mode 100644
index 0000000..39f1c77
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/index.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% block title %}Secrets{% endblock %}
+{% block content %}
+
+
+
+
Welcome
+
Are you ready to discover my secret?
+
Login
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/templates/login.html b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/login.html
new file mode 100644
index 0000000..8f3868c
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/login.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+{% from 'bootstrap5/form.html' import render_form %}
+{% block title %}Login{% endblock %}
+{% block content %}
+
+
Login
+ {{ render_form(form) }}
+
+{% endblock %}
diff --git a/Visual Studio Code Projects/day-61-flask-secrets-end/templates/success.html b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/success.html
new file mode 100644
index 0000000..4173d4c
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-flask-secrets-end/templates/success.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+{% block title %}Access Granted{% endblock %}
+{% block content %}
+
+{% endblock %}
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/main.py b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/main.py
new file mode 100644
index 0000000..da2e4a3
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/main.py
@@ -0,0 +1,26 @@
+from flask import Flask, render_template
+
+'''
+Red underlines? Install the required packages first:
+Open the Terminal in PyCharm (bottom left).
+
+On Windows type:
+python -m pip install -r requirements.txt
+
+On MacOS type:
+pip3 install -r requirements.txt
+
+This will install the packages from requirements.txt for this project.
+'''
+
+
+app = Flask(__name__)
+
+
+@app.route("/")
+def home():
+ return render_template('index.html')
+
+
+if __name__ == '__main__':
+ app.run(debug=True)
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/requirements.txt b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/requirements.txt
new file mode 100644
index 0000000..cc0938d
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/requirements.txt
@@ -0,0 +1,5 @@
+Bootstrap_Flask==2.2.0
+Flask==2.3.2
+WTForms==3.0.1
+Flask_WTF==1.2.1
+Werkzeug==3.0.0
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/denied.html b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/denied.html
new file mode 100644
index 0000000..0fd51d2
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/denied.html
@@ -0,0 +1,13 @@
+
+
+
+ Access Denied
+
+
+
+
+
\ No newline at end of file
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/index.html b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/index.html
new file mode 100644
index 0000000..7fdf62d
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/index.html
@@ -0,0 +1,17 @@
+
+
+
+ Secrets
+
+
+
+
+
Welcome
+
Are you ready to discover my secret?
+
Login
+
+
+
+
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/login.html b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/login.html
new file mode 100644
index 0000000..2a370a9
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/login.html
@@ -0,0 +1,13 @@
+
+
+
+
+ Login
+
+
+
+
Login
+
+
+
+
\ No newline at end of file
diff --git a/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/success.html b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/success.html
new file mode 100644
index 0000000..d7df023
--- /dev/null
+++ b/Visual Studio Code Projects/day-61-starting-files-flask-secrets/templates/success.html
@@ -0,0 +1,13 @@
+
+
+
+ Success
+
+
+
+
+
\ No newline at end of file