diff --git a/.flaskenv b/.flaskenv deleted file mode 100644 index d85c341..0000000 --- a/.flaskenv +++ /dev/null @@ -1,2 +0,0 @@ -FLASK_APP=core.blueprints.__init__ -FLASK_DEBUG=True \ No newline at end of file diff --git a/database/__pycache__/database.cpython-310.pyc b/database/__pycache__/database.cpython-310.pyc deleted file mode 100644 index 1830151..0000000 Binary files a/database/__pycache__/database.cpython-310.pyc and /dev/null differ diff --git a/database/__pycache__/database.cpython-312.pyc b/database/__pycache__/database.cpython-312.pyc deleted file mode 100644 index 33db197..0000000 Binary files a/database/__pycache__/database.cpython-312.pyc and /dev/null differ diff --git a/database/__pycache__/database.cpython-313.pyc b/database/__pycache__/database.cpython-313.pyc deleted file mode 100644 index a0c5df9..0000000 Binary files a/database/__pycache__/database.cpython-313.pyc and /dev/null differ diff --git a/docker-compose.yml b/docker-compose.yml index de39df5..d4c57b7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,7 @@ services: context: ./nginx ports: - "1935:1935" # RTMP + - "8080:8080" depends_on: - flask networks: @@ -12,7 +13,7 @@ services: flask: build: - context: ./core + context: ./web_server ports: - "5000:5000" networks: diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 5e276d2..7830c79 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -1,26 +1,7 @@ -FROM ubuntu:22.04 +FROM tiangolo/nginx-rtmp -# Install dependencies -RUN apt-get update && apt-get install -y \ - build-essential \ - libpcre3 libpcre3-dev \ - libssl-dev \ - zlib1g-dev \ - wget git - -# Download and build NGINX with RTMP -RUN wget http://nginx.org/download/nginx-1.25.2.tar.gz && \ - tar -xzvf nginx-1.25.2.tar.gz && \ - git clone https://github.com/arut/nginx-rtmp-module.git && \ - cd nginx-1.25.2 && \ - ./configure --add-module=../nginx-rtmp-module --with-http_ssl_module && \ - make && make install - -# Copy custom NGINX configuration COPY nginx.conf /etc/nginx/nginx.conf +EXPOSE 1935 8080 -# Expose RTMP and HTTP ports -EXPOSE 1935 - -# Start NGINX -CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"] +# Start the Nginx server +CMD [ "nginx", "-g", "daemon off;" ] diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 80f8cfd..029e39a 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -1,12 +1,43 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + rtmp { + server { - listen 1935; - chunk_size 4096; + listen 1935; # RTMP listen port application live { live on; - record off; + + # HLS Configuration (optional) + hls on; # Enable HLS conversion + hls_path /tmp/hls; # Path to store HLS files (use an absolute path) + hls_nested on; + hls_fragment 5s; # Duration of each HLS segment + hls_playlist_length 30s; # Length of HLS playlist (total duration) } } } +http { + # Enable HLS + server { + listen 8080; + + location /hls/ { + types { + application/vnd.apple.mpegurl m3u8; + video/mp2t ts; + } + + root /tmp; + add_header Cache-Control no-cache; + add_header Access-Control-Allow-Origin *; + + autoindex on; # Enable directory indexing + } + } +} diff --git a/web_server/.flaskenv b/web_server/.flaskenv new file mode 100644 index 0000000..0664964 --- /dev/null +++ b/web_server/.flaskenv @@ -0,0 +1,2 @@ +FLASK_APP=blueprints.__init__ +FLASK_DEBUG=True \ No newline at end of file diff --git a/core/Dockerfile b/web_server/Dockerfile similarity index 54% rename from core/Dockerfile rename to web_server/Dockerfile index 83a7577..a63ac40 100644 --- a/core/Dockerfile +++ b/web_server/Dockerfile @@ -1,7 +1,7 @@ FROM python:3.10 -# Set working directory -WORKDIR /core +# Set the working directory +WORKDIR /web_server # Install dependencies COPY requirements.txt requirements.txt @@ -10,8 +10,12 @@ RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY . . +# Set environment variables +ENV FLASK_APP=blueprints.__init__ +ENV FLASK_DEBUG=True + # Expose Flask's port EXPOSE 5000 # Start the Flask app -CMD ["python", "app.py"] +CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"] diff --git a/core/__pycache__/app.cpython-310.pyc b/web_server/__pycache__/app.cpython-310.pyc similarity index 100% rename from core/__pycache__/app.cpython-310.pyc rename to web_server/__pycache__/app.cpython-310.pyc diff --git a/core/__pycache__/app.cpython-313.pyc b/web_server/__pycache__/app.cpython-313.pyc similarity index 100% rename from core/__pycache__/app.cpython-313.pyc rename to web_server/__pycache__/app.cpython-313.pyc diff --git a/core/__pycache__/database.cpython-310.pyc b/web_server/__pycache__/database.cpython-310.pyc similarity index 100% rename from core/__pycache__/database.cpython-310.pyc rename to web_server/__pycache__/database.cpython-310.pyc diff --git a/core/__pycache__/forms.cpython-310.pyc b/web_server/__pycache__/forms.cpython-310.pyc similarity index 100% rename from core/__pycache__/forms.cpython-310.pyc rename to web_server/__pycache__/forms.cpython-310.pyc diff --git a/web_server/__pycache__/forms.cpython-311.pyc b/web_server/__pycache__/forms.cpython-311.pyc new file mode 100644 index 0000000..b43734c Binary files /dev/null and b/web_server/__pycache__/forms.cpython-311.pyc differ diff --git a/core/__pycache__/forms.cpython-312.pyc b/web_server/__pycache__/forms.cpython-312.pyc similarity index 100% rename from core/__pycache__/forms.cpython-312.pyc rename to web_server/__pycache__/forms.cpython-312.pyc diff --git a/core/__pycache__/forms.cpython-313.pyc b/web_server/__pycache__/forms.cpython-313.pyc similarity index 100% rename from core/__pycache__/forms.cpython-313.pyc rename to web_server/__pycache__/forms.cpython-313.pyc diff --git a/core/blueprints/__init__.py b/web_server/blueprints/__init__.py similarity index 57% rename from core/blueprints/__init__.py rename to web_server/blueprints/__init__.py index 320dcde..544c8b3 100644 --- a/core/blueprints/__init__.py +++ b/web_server/blueprints/__init__.py @@ -1,9 +1,9 @@ from flask import Flask from flask_session import Session -from core.blueprints.utils import logged_in_user +from blueprints.utils import logged_in_user def create_app(): - app = Flask(__name__, template_folder="../../ui/templates/", static_folder="../../ui/static") + app = Flask(__name__, template_folder="../ui/templates/", static_folder="../ui/static/") app.config["SECRET_KEY"] = "" app.config["SESSION_PERMANENT"] = False app.config["SESSION_TYPE"] = "filesystem" @@ -12,9 +12,9 @@ def create_app(): app.before_request(logged_in_user) with app.app_context(): - from core.blueprints.authentication import auth_bp - from core.blueprints.main import main_bp - from core.blueprints.stripe import stripe_bp + from blueprints.authentication import auth_bp + from blueprints.main import main_bp + from blueprints.stripe import stripe_bp app.register_blueprint(auth_bp) app.register_blueprint(main_bp) diff --git a/core/blueprints/__pycache__/__init__.cpython-310.pyc b/web_server/blueprints/__pycache__/__init__.cpython-310.pyc similarity index 100% rename from core/blueprints/__pycache__/__init__.cpython-310.pyc rename to web_server/blueprints/__pycache__/__init__.cpython-310.pyc diff --git a/web_server/blueprints/__pycache__/__init__.cpython-311.pyc b/web_server/blueprints/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..f61cd3c Binary files /dev/null and b/web_server/blueprints/__pycache__/__init__.cpython-311.pyc differ diff --git a/core/blueprints/__pycache__/__init__.cpython-312.pyc b/web_server/blueprints/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from core/blueprints/__pycache__/__init__.cpython-312.pyc rename to web_server/blueprints/__pycache__/__init__.cpython-312.pyc diff --git a/core/blueprints/__pycache__/app.cpython-310.pyc b/web_server/blueprints/__pycache__/app.cpython-310.pyc similarity index 100% rename from core/blueprints/__pycache__/app.cpython-310.pyc rename to web_server/blueprints/__pycache__/app.cpython-310.pyc diff --git a/core/blueprints/__pycache__/authentication.cpython-310.pyc b/web_server/blueprints/__pycache__/authentication.cpython-310.pyc similarity index 100% rename from core/blueprints/__pycache__/authentication.cpython-310.pyc rename to web_server/blueprints/__pycache__/authentication.cpython-310.pyc diff --git a/web_server/blueprints/__pycache__/authentication.cpython-311.pyc b/web_server/blueprints/__pycache__/authentication.cpython-311.pyc new file mode 100644 index 0000000..3b2c39f Binary files /dev/null and b/web_server/blueprints/__pycache__/authentication.cpython-311.pyc differ diff --git a/core/blueprints/__pycache__/authentication.cpython-312.pyc b/web_server/blueprints/__pycache__/authentication.cpython-312.pyc similarity index 100% rename from core/blueprints/__pycache__/authentication.cpython-312.pyc rename to web_server/blueprints/__pycache__/authentication.cpython-312.pyc diff --git a/core/blueprints/__pycache__/main.cpython-310.pyc b/web_server/blueprints/__pycache__/main.cpython-310.pyc similarity index 100% rename from core/blueprints/__pycache__/main.cpython-310.pyc rename to web_server/blueprints/__pycache__/main.cpython-310.pyc diff --git a/web_server/blueprints/__pycache__/main.cpython-311.pyc b/web_server/blueprints/__pycache__/main.cpython-311.pyc new file mode 100644 index 0000000..8984fc6 Binary files /dev/null and b/web_server/blueprints/__pycache__/main.cpython-311.pyc differ diff --git a/core/blueprints/__pycache__/main.cpython-312.pyc b/web_server/blueprints/__pycache__/main.cpython-312.pyc similarity index 100% rename from core/blueprints/__pycache__/main.cpython-312.pyc rename to web_server/blueprints/__pycache__/main.cpython-312.pyc diff --git a/web_server/blueprints/__pycache__/stripe.cpython-311.pyc b/web_server/blueprints/__pycache__/stripe.cpython-311.pyc new file mode 100644 index 0000000..6cda2eb Binary files /dev/null and b/web_server/blueprints/__pycache__/stripe.cpython-311.pyc differ diff --git a/core/blueprints/__pycache__/stripe.cpython-312.pyc b/web_server/blueprints/__pycache__/stripe.cpython-312.pyc similarity index 100% rename from core/blueprints/__pycache__/stripe.cpython-312.pyc rename to web_server/blueprints/__pycache__/stripe.cpython-312.pyc diff --git a/core/blueprints/__pycache__/utils.cpython-310.pyc b/web_server/blueprints/__pycache__/utils.cpython-310.pyc similarity index 100% rename from core/blueprints/__pycache__/utils.cpython-310.pyc rename to web_server/blueprints/__pycache__/utils.cpython-310.pyc diff --git a/web_server/blueprints/__pycache__/utils.cpython-311.pyc b/web_server/blueprints/__pycache__/utils.cpython-311.pyc new file mode 100644 index 0000000..ac5bb2e Binary files /dev/null and b/web_server/blueprints/__pycache__/utils.cpython-311.pyc differ diff --git a/core/blueprints/__pycache__/utils.cpython-312.pyc b/web_server/blueprints/__pycache__/utils.cpython-312.pyc similarity index 100% rename from core/blueprints/__pycache__/utils.cpython-312.pyc rename to web_server/blueprints/__pycache__/utils.cpython-312.pyc diff --git a/core/blueprints/authentication.py b/web_server/blueprints/authentication.py similarity index 97% rename from core/blueprints/authentication.py rename to web_server/blueprints/authentication.py index fc2677f..b661021 100644 --- a/core/blueprints/authentication.py +++ b/web_server/blueprints/authentication.py @@ -1,8 +1,8 @@ from flask import Blueprint, render_template, session, request, url_for, redirect, g from werkzeug.security import generate_password_hash, check_password_hash -from core.forms import SignupForm, LoginForm +from forms import SignupForm, LoginForm from database.database import Database -from core.blueprints.utils import login_required +from blueprints.utils import login_required auth_bp = Blueprint("auth", __name__) diff --git a/core/blueprints/main.py b/web_server/blueprints/main.py similarity index 100% rename from core/blueprints/main.py rename to web_server/blueprints/main.py diff --git a/core/blueprints/stripe.py b/web_server/blueprints/stripe.py similarity index 97% rename from core/blueprints/stripe.py rename to web_server/blueprints/stripe.py index 07a8cde..a3bcf71 100644 --- a/core/blueprints/stripe.py +++ b/web_server/blueprints/stripe.py @@ -1,38 +1,38 @@ -from flask import render_template, Blueprint, request, jsonify - -import stripe - -stripe_bp = Blueprint("stripe", __name__) - -stripe.api_key = 'sk_test_51QikGlGk6yuk3uA8muEMPjMhUvbZWZiMCYQArZRXcFVn26hbt1kTz5yUVWkk3RQlltArbAXmVmkfEHU2z1Ch5Obv00Y03oT127' - -@stripe_bp.route('/create-checkout-session', methods=['POST']) -def create_checkout_session(): - try: - session = stripe.checkout.Session.create( - ui_mode = 'embedded', - payment_method_types=['card'], - line_items=[ - { - 'price': 'price_1QikNCGk6yuk3uA86mZf3dmM', #Subscription ID - 'quantity': 1, - }, - ], - mode='subscription', - redirect_on_completion = 'never' - ) - except Exception as e: - print(e) - return str(e) - - return jsonify(clientSecret=session.client_secret) - -@stripe_bp.route('/session-status', methods=['GET']) # check for payment status -def session_status(): - session = stripe.checkout.Session.retrieve(request.args.get('session_id')) - - return jsonify(status=session.status, customer_email=session.customer_details.email) - -@stripe_bp.route('/checkout', methods=['GET']) -def checkout(): +from flask import render_template, Blueprint, request, jsonify + +import stripe + +stripe_bp = Blueprint("stripe", __name__) + +stripe.api_key = 'sk_test_51QikGlGk6yuk3uA8muEMPjMhUvbZWZiMCYQArZRXcFVn26hbt1kTz5yUVWkk3RQlltArbAXmVmkfEHU2z1Ch5Obv00Y03oT127' + +@stripe_bp.route('/create-checkout-session', methods=['POST']) +def create_checkout_session(): + try: + session = stripe.checkout.Session.create( + ui_mode = 'embedded', + payment_method_types=['card'], + line_items=[ + { + 'price': 'price_1QikNCGk6yuk3uA86mZf3dmM', #Subscription ID + 'quantity': 1, + }, + ], + mode='subscription', + redirect_on_completion = 'never' + ) + except Exception as e: + print(e) + return str(e) + + return jsonify(clientSecret=session.client_secret) + +@stripe_bp.route('/session-status', methods=['GET']) # check for payment status +def session_status(): + session = stripe.checkout.Session.retrieve(request.args.get('session_id')) + + return jsonify(status=session.status, customer_email=session.customer_details.email) + +@stripe_bp.route('/checkout', methods=['GET']) +def checkout(): return render_template("checkout.html") \ No newline at end of file diff --git a/core/blueprints/utils.py b/web_server/blueprints/utils.py similarity index 100% rename from core/blueprints/utils.py rename to web_server/blueprints/utils.py diff --git a/web_server/database/__pycache__/database.cpython-311.pyc b/web_server/database/__pycache__/database.cpython-311.pyc new file mode 100644 index 0000000..b96531b Binary files /dev/null and b/web_server/database/__pycache__/database.cpython-311.pyc differ diff --git a/database/app.db b/web_server/database/app.db similarity index 100% rename from database/app.db rename to web_server/database/app.db diff --git a/database/database.py b/web_server/database/database.py similarity index 100% rename from database/database.py rename to web_server/database/database.py diff --git a/database/requirements.txt b/web_server/database/requirements.txt similarity index 100% rename from database/requirements.txt rename to web_server/database/requirements.txt diff --git a/database/schema.sql b/web_server/database/schema.sql similarity index 100% rename from database/schema.sql rename to web_server/database/schema.sql diff --git a/flask_session/2029240f6d1128be89ddc32729463129 b/web_server/flask_session/2029240f6d1128be89ddc32729463129 similarity index 100% rename from flask_session/2029240f6d1128be89ddc32729463129 rename to web_server/flask_session/2029240f6d1128be89ddc32729463129 diff --git a/flask_session/bd9d4040a2dcd9c9d4ed85d3dc2d6ba7 b/web_server/flask_session/bd9d4040a2dcd9c9d4ed85d3dc2d6ba7 similarity index 100% rename from flask_session/bd9d4040a2dcd9c9d4ed85d3dc2d6ba7 rename to web_server/flask_session/bd9d4040a2dcd9c9d4ed85d3dc2d6ba7 diff --git a/core/forms.py b/web_server/forms.py similarity index 100% rename from core/forms.py rename to web_server/forms.py diff --git a/react-flask/.gitignore b/web_server/react-flask/.gitignore similarity index 100% rename from react-flask/.gitignore rename to web_server/react-flask/.gitignore diff --git a/react-flask/README.md b/web_server/react-flask/README.md similarity index 100% rename from react-flask/README.md rename to web_server/react-flask/README.md diff --git a/react-flask/package-lock.json b/web_server/react-flask/package-lock.json similarity index 100% rename from react-flask/package-lock.json rename to web_server/react-flask/package-lock.json diff --git a/react-flask/package.json b/web_server/react-flask/package.json similarity index 100% rename from react-flask/package.json rename to web_server/react-flask/package.json diff --git a/react-flask/public/favicon.ico b/web_server/react-flask/public/favicon.ico similarity index 100% rename from react-flask/public/favicon.ico rename to web_server/react-flask/public/favicon.ico diff --git a/react-flask/public/index.html b/web_server/react-flask/public/index.html similarity index 100% rename from react-flask/public/index.html rename to web_server/react-flask/public/index.html diff --git a/react-flask/public/logo192.png b/web_server/react-flask/public/logo192.png similarity index 100% rename from react-flask/public/logo192.png rename to web_server/react-flask/public/logo192.png diff --git a/react-flask/public/logo512.png b/web_server/react-flask/public/logo512.png similarity index 100% rename from react-flask/public/logo512.png rename to web_server/react-flask/public/logo512.png diff --git a/react-flask/public/manifest.json b/web_server/react-flask/public/manifest.json similarity index 100% rename from react-flask/public/manifest.json rename to web_server/react-flask/public/manifest.json diff --git a/react-flask/public/robots.txt b/web_server/react-flask/public/robots.txt similarity index 100% rename from react-flask/public/robots.txt rename to web_server/react-flask/public/robots.txt diff --git a/react-flask/src/App.css b/web_server/react-flask/src/App.css similarity index 100% rename from react-flask/src/App.css rename to web_server/react-flask/src/App.css diff --git a/react-flask/src/App.js b/web_server/react-flask/src/App.js similarity index 100% rename from react-flask/src/App.js rename to web_server/react-flask/src/App.js diff --git a/react-flask/src/App.test.js b/web_server/react-flask/src/App.test.js similarity index 100% rename from react-flask/src/App.test.js rename to web_server/react-flask/src/App.test.js diff --git a/react-flask/src/index.css b/web_server/react-flask/src/index.css similarity index 100% rename from react-flask/src/index.css rename to web_server/react-flask/src/index.css diff --git a/react-flask/src/index.js b/web_server/react-flask/src/index.js similarity index 100% rename from react-flask/src/index.js rename to web_server/react-flask/src/index.js diff --git a/react-flask/src/logo.svg b/web_server/react-flask/src/logo.svg similarity index 100% rename from react-flask/src/logo.svg rename to web_server/react-flask/src/logo.svg diff --git a/react-flask/src/reportWebVitals.js b/web_server/react-flask/src/reportWebVitals.js similarity index 100% rename from react-flask/src/reportWebVitals.js rename to web_server/react-flask/src/reportWebVitals.js diff --git a/react-flask/src/setupTests.js b/web_server/react-flask/src/setupTests.js similarity index 100% rename from react-flask/src/setupTests.js rename to web_server/react-flask/src/setupTests.js diff --git a/requirements.txt b/web_server/requirements.txt similarity index 94% rename from requirements.txt rename to web_server/requirements.txt index a7785f5..853ebd4 100644 --- a/requirements.txt +++ b/web_server/requirements.txt @@ -1,20 +1,20 @@ -blinker==1.9.0 -cachelib==0.13.0 -certifi==2024.12.14 -charset-normalizer==3.4.1 -click==8.1.8 -colorama==0.4.6 -Flask==3.1.0 -Flask-Session==0.8.0 -Flask-WTF==1.2.2 -idna==3.10 -itsdangerous==2.2.0 -Jinja2==3.1.5 -MarkupSafe==3.0.2 -msgspec==0.19.0 -requests==2.32.3 -stripe==11.4.1 -typing_extensions==4.12.2 -urllib3==2.3.0 -Werkzeug==3.1.3 -WTForms==3.2.1 +blinker==1.9.0 +cachelib==0.13.0 +certifi==2024.12.14 +charset-normalizer==3.4.1 +click==8.1.8 +colorama==0.4.6 +Flask==3.1.0 +Flask-Session==0.8.0 +Flask-WTF==1.2.2 +idna==3.10 +itsdangerous==2.2.0 +Jinja2==3.1.5 +MarkupSafe==3.0.2 +msgspec==0.19.0 +requests==2.32.3 +stripe==11.4.1 +typing_extensions==4.12.2 +urllib3==2.3.0 +Werkzeug==3.1.3 +WTForms==3.2.1 diff --git a/ui/static/checkout.js b/web_server/ui/static/checkout.js similarity index 96% rename from ui/static/checkout.js rename to web_server/ui/static/checkout.js index ea934a2..4060c64 100644 --- a/ui/static/checkout.js +++ b/web_server/ui/static/checkout.js @@ -1,21 +1,21 @@ -const stripe = Stripe("pk_test_51QikGlGk6yuk3uA8MT3uQrPMpUqJlKzkxfbrfrd34yXolWSbJYEFWm674s2aUydZyjjS0W2oByEJTV0LXMs1pWTk002ioHxQl6"); - -initialize(); - -// Create a Checkout Session -async function initialize() { - const fetchClientSecret = async () => { - const response = await fetch("/create-checkout-session", { - method: "POST", - }); - const { clientSecret } = await response.json(); - return clientSecret; - }; - - const checkout = await stripe.initEmbeddedCheckout({ - fetchClientSecret, - }); - - // Mount Checkout - checkout.mount('#checkout'); +const stripe = Stripe("pk_test_51QikGlGk6yuk3uA8MT3uQrPMpUqJlKzkxfbrfrd34yXolWSbJYEFWm674s2aUydZyjjS0W2oByEJTV0LXMs1pWTk002ioHxQl6"); + +initialize(); + +// Create a Checkout Session +async function initialize() { + const fetchClientSecret = async () => { + const response = await fetch("/create-checkout-session", { + method: "POST", + }); + const { clientSecret } = await response.json(); + return clientSecret; + }; + + const checkout = await stripe.initEmbeddedCheckout({ + fetchClientSecret, + }); + + // Mount Checkout + checkout.mount('#checkout'); } \ No newline at end of file diff --git a/ui/static/styles.css b/web_server/ui/static/styles.css similarity index 100% rename from ui/static/styles.css rename to web_server/ui/static/styles.css diff --git a/ui/templates/base.html b/web_server/ui/templates/base.html similarity index 100% rename from ui/templates/base.html rename to web_server/ui/templates/base.html diff --git a/ui/templates/checkout.html b/web_server/ui/templates/checkout.html similarity index 96% rename from ui/templates/checkout.html rename to web_server/ui/templates/checkout.html index d878fa9..a706835 100644 --- a/ui/templates/checkout.html +++ b/web_server/ui/templates/checkout.html @@ -1,15 +1,15 @@ -{% extends "base.html" %} - -{% block header_config %} - - - - -{% endblock %} - -{% block main_content %} - -
- -
+{% extends "base.html" %} + +{% block header_config %} + + + + +{% endblock %} + +{% block main_content %} + +
+ +
{% endblock %} \ No newline at end of file diff --git a/ui/templates/index.html b/web_server/ui/templates/index.html similarity index 100% rename from ui/templates/index.html rename to web_server/ui/templates/index.html diff --git a/ui/templates/login.html b/web_server/ui/templates/login.html similarity index 100% rename from ui/templates/login.html rename to web_server/ui/templates/login.html diff --git a/ui/templates/signup.html b/web_server/ui/templates/signup.html similarity index 100% rename from ui/templates/signup.html rename to web_server/ui/templates/signup.html diff --git a/ui/templates/video.html b/web_server/ui/templates/video.html similarity index 100% rename from ui/templates/video.html rename to web_server/ui/templates/video.html