From 64f83896cbac2e380cdb28a6f0a4172c0dc232e1 Mon Sep 17 00:00:00 2001
From: Junhao Zhou <zhouj70@cardiff.ac.uk>
Date: Sat, 29 Apr 2023 14:10:15 +0000
Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E5=88=A0=E9=99=A4=20templates/add=5Fq?=
 =?UTF-8?q?uestion.html,=20templates/edit=5Fquestion.html,=20templates/ind?=
 =?UTF-8?q?ex.html,=20templates/layout.html,=20templates/questions.html,?=
 =?UTF-8?q?=20README.md,=20app.py?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md                    | 47 ---------------------------
 app.py                       | 63 ------------------------------------
 templates/add_question.html  | 37 ---------------------
 templates/edit_question.html | 34 -------------------
 templates/index.html         |  4 ---
 templates/layout.html        | 36 ---------------------
 templates/questions.html     | 35 --------------------
 7 files changed, 256 deletions(-)
 delete mode 100644 README.md
 delete mode 100644 app.py
 delete mode 100644 templates/add_question.html
 delete mode 100644 templates/edit_question.html
 delete mode 100644 templates/index.html
 delete mode 100644 templates/layout.html
 delete mode 100644 templates/questions.html

diff --git a/README.md b/README.md
deleted file mode 100644
index 3accb97..0000000
--- a/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Flask - Labs
-
-This repository covers exercises in Flask labs.
-
-Click on the relevant tag to access a snapshot of the state of the Blog project at a particular point of the lab tasks completion.
-
-## Contents:
-
-| Lab |      Functionality                | Git Tag |
-|------|---------------------------|---------|
-| 1.1 | Basic "Hello World!" page | [part 1.1](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_1.1) |
-| 1.2 | Basic templating, routes, navigation and styling | [part 1.2](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_1.2) |
-| 1.3 | Reorganising the project for Blogging Website | [part 1.3](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_1.3) |
-| 2.1 | Blogging Website: database implementation, dynamic home page| [part 2.1](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_2.1) |
-| 2.2 | Blogging Website: individual post pages| [part 2.2](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_2.2) |
-| 3.1 | Blogging Website: user accounts | [part 3.1](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_3.1) |
-| 3.2 | Blogging Website: validation | [part 3.2](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_3.2) |
-| 4.0 | Blogging Website: deployment on OpenShift | [part 4.0](https://git.cardiff.ac.uk/scmne/flask-labs/-/tree/part_4.0) |
-
-## Initial Project Setup Required:
-
-- activation of virtual environment (see the lab instructions)
-- installation of the necessary project dependencies
-
-### Project Dependencies:
-
-* to install a particular library:
-```
-pip install <LIBRARY>
-```
-&nbsp;&nbsp;&nbsp; e.g.: ```  pip install flask  ```
-
-* to install all dependencies recursively from ```requirements.txt``` file:
-```sh
-pip install -r requirements.txt
-```
-
-* to see all installed dependencies in the console:
-```console
-pip freeze
-```
-
-* to save the project dependencies in ```requirements.txt``` file:
-
-```console
-pip freeze > requirements.txt
-```
diff --git a/app.py b/app.py
deleted file mode 100644
index 2c4e1d6..0000000
--- a/app.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from flask import Flask, render_template, request, redirect, url_for
-from flask_sqlalchemy import SQLAlchemy
-import os
-
-app = Flask(__name__)
-
-DB_URI = os.environ.get('DATABASE_URI')
-
-if DB_URI is None:
-    raise ValueError('No database URI set in environment variable DATABASE_URI')
-
-app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
-
-db = SQLAlchemy(app)
-
-class Questions(db.Model):
-    id = db.Column(db.Integer, primary_key=True)
-    question = db.Column(db.String(255), nullable=False)
-    option1 = db.Column(db.String(255), nullable=False)
-    option2 = db.Column(db.String(255), nullable=False)
-    option3 = db.Column(db.String(255), nullable=False)
-    option4 = db.Column(db.String(255), nullable=False)
-    answer = db.Column(db.String(255), nullable=False)
-    feedback = db.Column(db.String(255))
-
-    def delete(self):
-        db.session.delete(self)
-        db.session.commit()
-
-@app.route('/')
-def index():
-    return render_template("index.html")
-
-@app.route('/questions')
-def questions():
-    questions = Questions.query.all()
-    return render_template("questions.html", questions=questions)
-
-@app.route('/add_question', methods=['GET', 'POST'])
-def add_question():
-    if request.method == 'POST':
-        question = request.form['question']
-        option1 = request.form['option1']
-        option2 = request.form['option2']
-        option3 = request.form['option3']
-        option4 = request.form['option4']
-        answer = request.form['answer']
-        feedback = request.form['feedback']
-        new_question = Questions(question=question, option1=option1, option2=option2, option3=option3, option4=option4, answer=answer, feedback=feedback)
-        db.session.add(new_question)
-        db.session.commit()
-        return redirect(url_for('questions'))
-    return render_template("add_question.html")
-
-@app.route('/delete_question/<int:id>', methods=['POST'])
-def delete_question(id):
-    question = Questions.query.get(id)
-    question.delete()
-    return redirect(url_for('questions'))
-
-
-if __name__ == '__main__':
-    app.run(debug=True)
diff --git a/templates/add_question.html b/templates/add_question.html
deleted file mode 100644
index e5ca0f1..0000000
--- a/templates/add_question.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{% extends "layout.html" %}
-{% block content %}
-<div class="container">
-    <h1 class="mt-3">Add Question</h1>
-    <form method="POST" action="{{ url_for('add_question') }}" class="mt-3">
-        <div class="form-group">
-            <label for="question">Question:</label>
-            <input type="text" name="question" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="option1">Option 1:</label>
-            <input type="text" name="option1" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="option2">Option 2:</label>
-            <input type="text" name="option2" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="option3">Option 3:</label>
-            <input type="text" name="option3" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="option4">Option 4:</label>
-            <input type="text" name="option4" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="answer">Answer:</label>
-            <input type="text" name="answer" class="form-control" required>
-        </div>
-        <div class="form-group">
-            <label for="feedback">Feedback:</label>
-            <input type="text" name="feedback" class="form-control">
-        </div>
-        <button type="submit" class="btn btn-primary">Add Question</button>
-    </form>
-</div>
-{% endblock content %}
\ No newline at end of file
diff --git a/templates/edit_question.html b/templates/edit_question.html
deleted file mode 100644
index 70b07e3..0000000
--- a/templates/edit_question.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>Edit Question</title>
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
-  </head>
-  <body>
-    <h1>Edit Question</h1>
-    <form method="POST" action="{{ url_for('edit_question', question_id=question.id) }}">
-      <label for="question">Question:</label>
-      <input type="text" name="question" value="{{ question.question }}" required>
-      <br>
-      <label for="option1">Option 1:</label>
-      <input type="text" name="option1" value="{{ question.option1 }}" required>
-      <br>
-      <label for="option2">Option 2:</label>
-      <input type="text" name="option2" value="{{ question.option2 }}" required>
-      <br>
-      <label for="option3">Option 3:</label>
-      <input type="text" name="option3" value="{{ question.option3 }}" required>
-      <br>
-      <label for="option4">Option 4:</label>
-      <input type="text" name="option4" value="{{ question.option4 }}" required>
-      <br>
-      <label for="answer">Answer:</label>
-      <input type="text" name="answer" value="{{ question.answer }}" required>
-      <br>
-      <label for="feedback">Feedback:</label>
-      <input type="text" name="feedback" value="{{ question.feedback }}">
-      <br>
-      <button type="submit">Update Question</button>
-    </form>
-  </body>
-</html>
diff --git a/templates/index.html b/templates/index.html
deleted file mode 100644
index ea08f86..0000000
--- a/templates/index.html
+++ /dev/null
@@ -1,4 +0,0 @@
-{% extends "layout.html" %}
-{% block content %}
-
-{% endblock content %}
\ No newline at end of file
diff --git a/templates/layout.html b/templates/layout.html
deleted file mode 100644
index b99a997..0000000
--- a/templates/layout.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <link
-      rel="stylesheet"
-      href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
-      integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
-      crossorigin="anonymous"
-    />
-    <link
-      rel="stylesheet"
-      href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
-      crossorigin="anonymous"
-    />
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Document</title>
-</head>
-<body>
-    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
-       
-        <div class="collapse navbar-collapse" id="navbar">
-          <div class="navbar-nav">
-      <a href="{{ url_for('index') }}" class="nav-item nav-link">Home</a>
-      <a href="{{ url_for('questions') }}" class="nav-item nav-link">Delete question</a>
-      <a href="{{ url_for('add_question') }}" class="nav-item nav-link">Add question</a>
-</div>
-        </div>
-      </nav>
-    <div id="content">
-        {% block content %}
-        {% endblock %}
-    </div>
-</body>
-</html>
\ No newline at end of file
diff --git a/templates/questions.html b/templates/questions.html
deleted file mode 100644
index e86a34c..0000000
--- a/templates/questions.html
+++ /dev/null
@@ -1,35 +0,0 @@
-{% extends "layout.html" %}
-{% block content %}
-<div class="container">
-	<table class="table table-bordered">
-		<thead>
-			<tr>
-				<th>Question</th>
-				<th>Option 1</th>
-				<th>Option 2</th>
-				<th>Option 3</th>
-				<th>Option 4</th>
-				<th>Answer</th>
-                <th>Action</th>
-			</tr>
-		</thead>
-		<tbody>
-			{% for question in questions %}
-				<tr>
-					<td>{{ question.question }}</td>
-					<td>{{ question.option1 }}</td>
-					<td>{{ question.option2 }}</td>
-					<td>{{ question.option3 }}</td>
-					<td>{{ question.option4 }}</td>
-                    <td>{{ question.answer }}</td>
-					<td>
-						<form method="POST" action="{{ url_for('delete_question', id=question.id) }}">
-							<button class="btn btn-danger" type="submit">Delete</button>
-						</form>
-					</td>
-				</tr>
-			{% endfor %}
-		</tbody>
-	</table>
-</div>
-{% endblock content %}
\ No newline at end of file
-- 
GitLab