From 0af071992bd33719918bd76b06d262d94c423277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Gdula?= Date: Fri, 5 May 2023 02:11:10 +0300 Subject: [PATCH] Add base template and unuasble style --- Highscore-Server/Dockerfile | 2 +- .../{highscore => server}/config.py | 3 +- .../{highscore => server}/extensions.py | 0 .../{highscore => server}/models.py | 0 Highscore-Server/{highscore => server}/run.sh | 6 +-- .../{highscore => server}/server.py | 0 Highscore-Server/server/templates/base.html | 53 +++++++++++++++++++ Highscore-Server/server/templates/scores.html | 29 ++++++++++ .../{highscore => server}/views.py | 37 +------------ docker-compose.yml | 17 ++---- 10 files changed, 94 insertions(+), 53 deletions(-) rename Highscore-Server/{highscore => server}/config.py (90%) rename Highscore-Server/{highscore => server}/extensions.py (100%) rename Highscore-Server/{highscore => server}/models.py (100%) rename Highscore-Server/{highscore => server}/run.sh (79%) rename Highscore-Server/{highscore => server}/server.py (100%) create mode 100644 Highscore-Server/server/templates/base.html create mode 100644 Highscore-Server/server/templates/scores.html rename Highscore-Server/{highscore => server}/views.py (62%) diff --git a/Highscore-Server/Dockerfile b/Highscore-Server/Dockerfile index 2ffcbaf..81022c2 100644 --- a/Highscore-Server/Dockerfile +++ b/Highscore-Server/Dockerfile @@ -10,7 +10,7 @@ COPY requirements.txt requirements.txt RUN pip install -r requirements.txt RUN mkdir /storage -COPY ./highscore . +COPY ./server . RUN chmod +x ./run.sh CMD ["./run.sh"] diff --git a/Highscore-Server/highscore/config.py b/Highscore-Server/server/config.py similarity index 90% rename from Highscore-Server/highscore/config.py rename to Highscore-Server/server/config.py index dc7c0d8..49dea54 100644 --- a/Highscore-Server/highscore/config.py +++ b/Highscore-Server/server/config.py @@ -10,10 +10,9 @@ BEARER_TOKEN = env('BEARER_TOKEN') user = env('DB_USER') password = env('DB_PASSWORD') host = env('DB_HOST') -port = env('DB_PORT') database = env('DB_NAME') -SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{user}:{password}@{host}:{port}/{database}" +SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{user}:{password}@{host}:5432/{database}" SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_POOL_RECYCLE = 621 diff --git a/Highscore-Server/highscore/extensions.py b/Highscore-Server/server/extensions.py similarity index 100% rename from Highscore-Server/highscore/extensions.py rename to Highscore-Server/server/extensions.py diff --git a/Highscore-Server/highscore/models.py b/Highscore-Server/server/models.py similarity index 100% rename from Highscore-Server/highscore/models.py rename to Highscore-Server/server/models.py diff --git a/Highscore-Server/highscore/run.sh b/Highscore-Server/server/run.sh similarity index 79% rename from Highscore-Server/highscore/run.sh rename to Highscore-Server/server/run.sh index 9199757..0fd728f 100644 --- a/Highscore-Server/highscore/run.sh +++ b/Highscore-Server/server/run.sh @@ -1,7 +1,7 @@ #!/bin/sh # Wait for database to start -until pg_isready -d $DB_NAME -h $DB_HOST -p $DB_PORT -U $DB_USER +until pg_isready -d $DB_NAME -h $DB_HOST -U $DB_USER do echo "Waiting for database to start... (5s)" sleep 5 @@ -10,14 +10,14 @@ done echo "Database is ready!" # Check if migrastions folder exists -if [ ! -d "migrations" ] +if [ ! -d "/data/storage/migrations" ]; then echo "Creating tables..." flask --app server db init fi # Check if there are any changes to the database -if -n flask --app server db check +if $(flask --app server db check); then echo "Database changes detected! Migrating..." flask --app server db migrate diff --git a/Highscore-Server/highscore/server.py b/Highscore-Server/server/server.py similarity index 100% rename from Highscore-Server/highscore/server.py rename to Highscore-Server/server/server.py diff --git a/Highscore-Server/server/templates/base.html b/Highscore-Server/server/templates/base.html new file mode 100644 index 0000000..e1be034 --- /dev/null +++ b/Highscore-Server/server/templates/base.html @@ -0,0 +1,53 @@ + + + + + + + Front Rooms Highscores + + + +
+

Front Rooms Highscores

+

Created by Bradley, Mia, Bartek & MichaƂ

+ + + + {% block content %}{% endblock %} +
+ + \ No newline at end of file diff --git a/Highscore-Server/server/templates/scores.html b/Highscore-Server/server/templates/scores.html new file mode 100644 index 0000000..f996784 --- /dev/null +++ b/Highscore-Server/server/templates/scores.html @@ -0,0 +1,29 @@ +{% extends "base.html" %} +{% block content %} +{% if show_sub %} + +{% endif %} + + + + + + + + + {% for score in top_scores %} + + + + + + + {% endfor %} +
ScoreDifficultyAchievementsPlayer
{{ score.score }}{{ score.difficulty }}{{ score.achievements }}{{ score.user.steam_name }}
+{% endblock %} \ No newline at end of file diff --git a/Highscore-Server/highscore/views.py b/Highscore-Server/server/views.py similarity index 62% rename from Highscore-Server/highscore/views.py rename to Highscore-Server/server/views.py index 0dbb625..01d4c7f 100644 --- a/Highscore-Server/highscore/views.py +++ b/Highscore-Server/server/views.py @@ -1,4 +1,4 @@ -from flask import Blueprint, jsonify, render_template_string, request, abort +from flask import Blueprint, jsonify, request, render_template from flask_wtf import FlaskForm from wtforms import StringField, IntegerField from wtforms.validators import DataRequired @@ -23,40 +23,7 @@ class ScoreForm(FlaskForm): @cache.cached(timeout=60) def index(): top_scores = Scores.query.order_by(Scores.score.desc()).limit(10).all() - users = Users.query.all() - return render_template_string(''' -

Top Scores

- - - - - - - - {% for score in top_scores %} - - - - - - - {% endfor %} -
ScoreDifficultyAchievementsPlayer
{{ score.score }}{{ score.difficulty }}{{ score.achievements }}{{ score.user.steam_name }}
- -

Players

- - - - - - {% for user in users %} - - - - - {% endfor %} -
Steam IDSteam Name
{{ user.steam_uuid }}{{ user.steam_name }}
- ''', top_scores=top_scores, users=users) + return render_template('scores.html', top_scores=top_scores, show_sub=True) @blueprint.route('/post', methods=['POST']) diff --git a/docker-compose.yml b/docker-compose.yml index 0665a09..b49c2a0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: caddy: image: caddy:alpine - restart: always + restart: unless-stopped ports: - 80:80 - 443:443 @@ -18,33 +18,26 @@ services: db: image: postgres:alpine - restart: always - ports: - - 5432:5432 + restart: unless-stopped volumes: - ./Postgres/data:/var/lib/postgresql/data environment: - POSTGRES_USER: root + POSTGRES_USER: pguser POSTGRES_PASSWORD: secret POSTGRES_DB: database - POSTGRES_PORT: 5432 links: - highscore highscore: build: ./Highscore-Server - restart: always + restart: unless-stopped volumes: - ./Highscore-Server/data:/data/storage - ./Highscore-Server/logs:/data/logs - # Pass in the code to the container so I don't - # have to rebuild it every time during development - - ./Highscore-Server/highscore:/data/highscore environment: FLASK_KEY: secret BEARER_TOKEN: 1234 - DB_USER: root + DB_USER: pguser DB_PASSWORD: secret DB_HOST: db - DB_PORT: 5432 DB_NAME: database