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 %}
+
+
+
+ Score |
+ Difficulty |
+ Achievements |
+ Player |
+
+ {% for score in top_scores %}
+
+ {{ score.score }} |
+ {{ score.difficulty }} |
+ {{ score.achievements }} |
+ {{ score.user.steam_name }} |
+
+ {% endfor %}
+
+{% 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
-
-
- Score |
- Difficulty |
- Achievements |
- Player |
-
- {% for score in top_scores %}
-
- {{ score.score }} |
- {{ score.difficulty }} |
- {{ score.achievements }} |
- {{ score.user.steam_name }} |
-
- {% endfor %}
-
-
- Players
-
-
- Steam ID |
- Steam Name |
-
- {% for user in users %}
-
- {{ user.steam_uuid }} |
- {{ user.steam_name }} |
-
- {% endfor %}
-
- ''', 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