From 921544b76fcc8dd2adedb62866a5293970a03314 Mon Sep 17 00:00:00 2001 From: cami Date: Tue, 22 Jun 2021 00:58:08 +0200 Subject: [PATCH] Added a working backend container --- backend/Dockerfile | 20 +++++---------- backend/Dockerfile.bak | 19 ++++++++++++++ backend/Dockerfile.prod | 12 +++++++++ backend/requirements.txt | 4 +++ backend/src/app.py | 26 +++++++++++++++++++ docker-compose.yml | 3 ++- frontend/issues.sh | 30 ++++++++++++++++++++++ frontend/package.json | 2 +- frontend/src/components/pages/Manual.js | 12 +++++++++ frontend/src/components/pages/Register.js | 31 +++++++++++++++++++++++ 10 files changed, 143 insertions(+), 16 deletions(-) create mode 100644 backend/Dockerfile.bak create mode 100644 backend/Dockerfile.prod create mode 100644 frontend/issues.sh create mode 100644 frontend/src/components/pages/Manual.js create mode 100644 frontend/src/components/pages/Register.js diff --git a/backend/Dockerfile b/backend/Dockerfile index 6dfe114..10162a5 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,19 +1,11 @@ -# For more information, please refer to https://aka.ms/vscode-docker-python -FROM python:3.9 +FROM python -EXPOSE 5000 +WORKDIR /opt/ -# Keeps Python from generating .pyc files in the container -ENV PYTHONDONTWRITEBYTECODE 1 +COPY requirements.txt . -# Turns off buffering for easier container logging -ENV PYTHONUNBUFFERED 1 +RUN pip install -r requirements.txt -# Install pip requirements -ADD requirements.txt . -RUN python -m pip install -r requirements.txt - -WORKDIR /app -ADD . /app +COPY /src . -CMD ["flask", "run"] +CMD [ "python", "app.py" ] diff --git a/backend/Dockerfile.bak b/backend/Dockerfile.bak new file mode 100644 index 0000000..7fa027a --- /dev/null +++ b/backend/Dockerfile.bak @@ -0,0 +1,19 @@ +# For more information, please refer to https://aka.ms/vscode-docker-python +FROM python:3.9 + +#EXPOSE 5000 + +# Keeps Python from generating .pyc files in the container +#ENV PYTHONDONTWRITEBYTECODE 1 + +# Turns off buffering for easier container logging +# ENV PYTHONUNBUFFERED 1 + +# Install pip requirements +ADD requirements.txt . +RUN python -m pip install -r requirements.txt + +WORKDIR /app +ADD . /app + +CMD ["flask", "run"] diff --git a/backend/Dockerfile.prod b/backend/Dockerfile.prod new file mode 100644 index 0000000..3eba885 --- /dev/null +++ b/backend/Dockerfile.prod @@ -0,0 +1,12 @@ +FROM python + +WORKDIR /opt/demo/ + +COPY requirements.txt . + +RUN apt-get -y update && apt-get -y upgrade +RUN pip install -r requirements.txt + +COPY /src . + +CMD [ "python", "main.py" ] diff --git a/backend/requirements.txt b/backend/requirements.txt index 11b010b..336fcb4 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,7 +1,11 @@ click==7.1.2 Flask==1.1.2 +Flask-Login==0.5.0 +Flask-SQLAlchemy==2.5.1 +greenlet==1.1.0 itsdangerous==1.1.0 Jinja2==2.11.3 MarkupSafe==1.1.1 python-dotenv==0.17.1 +SQLAlchemy==1.4.15 Werkzeug==1.0.1 diff --git a/backend/src/app.py b/backend/src/app.py index 07fc55a..66747a3 100644 --- a/backend/src/app.py +++ b/backend/src/app.py @@ -1,8 +1,34 @@ import time from flask import Flask +import os + app = Flask(__name__) +# Read environment variables +if "DEBUG" in os.environ and os.environ["DEBUG"] == 'yes': + debug = True +else: + debug = False +if "HOST" in os.environ: + host = os.environ["HOST"] +else: + host = '0.0.0.0' +if "PORT" in os.environ: + port = int(os.environ["PORT"]) +else: + port = 5000 + + + +@app.route('/') +def home(): + return "Hello World" + @app.route('/time') def get_current_time(): return {'time': time.time()} + + +if __name__ == '__main__': + app.run(debug=debug, host=host, port=port) diff --git a/docker-compose.yml b/docker-compose.yml index 2e20a3f..2d3f675 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,5 +24,6 @@ services: ports: - 5000:5000 environment: + DEBUG: "yes" PORT: 5000 - FLASK_DEBUG: 1 + HOST: "0.0.0.0" diff --git a/frontend/issues.sh b/frontend/issues.sh new file mode 100644 index 0000000..86fb9c1 --- /dev/null +++ b/frontend/issues.sh @@ -0,0 +1,30 @@ +# Labels: backend, bug, content, design, duplicate, enhancement, frontend, help wanted, invalid, question, wontfix, +ISSUE_TITLE="Buttons gleichmässig darstellen" +DESC="Die Buttons sollen alle die gleiche Breite haben" +LABELS="design,frontend,enhancement" +DEADLINE="2021-06-23" +tea issue create --title "${ISSUE_TITLE}" --description "${DESC}" --labels "${LABELS}" --deadline "${DEADLINE}" + +ISSUE_TITLE="login backend implementieren" +DESC="" +LABELS="backend,enhancement" +DEADLINE="2021-06-25" +tea issue create --title "${ISSUE_TITLE}" --description "${DESC}" --labels "${LABELS}" --deadline "${DEADLINE}" + +ISSUE_TITLE="registrieren implementieren backend" +DESC="" +LABELS="backend,enhancement" +DEADLINE="2021-06-25" +tea issue create --title "${ISSUE_TITLE}" --description "${DESC}" --labels "${LABELS}" --deadline "${DEADLINE}" + +ISSUE_TITLE="Umfrage erstellen (für neue Teilnehmer)" +DESC="" +LABELS="frontend,enhancement,backend" +DEADLINE="2021-06-25" +tea issue create --title "${ISSUE_TITLE}" --description "${DESC}" --labels "${LABELS}" --deadline "${DEADLINE}" + +ISSUE_TITLE="Datenerhebung der Maus und Tastatur" +DESC="" +LABELS="frontend,backend,enhancement" +DEADLINE="2021-06-27" +tea issue create --title "${ISSUE_TITLE}" --description "${DESC}" --labels "${LABELS}" --deadline "${DEADLINE}" diff --git a/frontend/package.json b/frontend/package.json index 6bbf714..b2f204f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -39,5 +39,5 @@ "last 1 safari version" ] }, - "proxy": "http://127.0.0.1:5000" + "proxy": "http://localhost:5000" } diff --git a/frontend/src/components/pages/Manual.js b/frontend/src/components/pages/Manual.js new file mode 100644 index 0000000..f35e5fd --- /dev/null +++ b/frontend/src/components/pages/Manual.js @@ -0,0 +1,12 @@ +import React from "react"; +import "../../App.css"; +import Footer from "../../Footer"; + +export default function Manual() { + return ( + <> +

Anleitung / Bedienungshinweise

+