diff --git a/docker-compose.yml b/docker-compose.yml index a1e7174..32ce5f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,14 +15,22 @@ services: build: context: ./web_server ports: - - "5000:5000" + - "5000" networks: - app_network env_file: - .env environment: - - FLASK_APP=backend.blueprints.__init__ + - FLASK_APP=blueprints.__init__ - FLASK_DEBUG=True + + frontend: + build: + context: ./frontend + ports: + - "5173:5173" + networks: + - app_network networks: app_network: diff --git a/web_server/frontend/.env.example b/frontend/.env.example similarity index 100% rename from web_server/frontend/.env.example rename to frontend/.env.example diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..6dd0237 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,20 @@ +# Use the latest LTS version of Node.js +FROM node:18-alpine + +# Set the working directory inside the container +WORKDIR /frontend + +# Copy package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of your application files +COPY . . + +# Expose the port your app runs on +EXPOSE 5173 + +# Define the command to run your app +CMD ["npm", "run", "dev"] \ No newline at end of file diff --git a/web_server/frontend/eslint.config.js b/frontend/eslint.config.js similarity index 100% rename from web_server/frontend/eslint.config.js rename to frontend/eslint.config.js diff --git a/web_server/frontend/index.html b/frontend/index.html similarity index 100% rename from web_server/frontend/index.html rename to frontend/index.html diff --git a/web_server/frontend/package-lock.json b/frontend/package-lock.json similarity index 100% rename from web_server/frontend/package-lock.json rename to frontend/package-lock.json diff --git a/web_server/frontend/package.json b/frontend/package.json similarity index 94% rename from web_server/frontend/package.json rename to frontend/package.json index 5721243..0308d18 100644 --- a/web_server/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "tailwindcss": "^3.4.17", "typescript": "~5.6.2", "typescript-eslint": "^8.18.2", - "vite": "^6.0.5" + "vite": "^6.0.5", + "lucide-react": "0.473.0" } } diff --git a/web_server/frontend/postcss.config.js b/frontend/postcss.config.js similarity index 100% rename from web_server/frontend/postcss.config.js rename to frontend/postcss.config.js diff --git a/web_server/frontend/public/images/art.jpg b/frontend/public/images/art.jpg similarity index 100% rename from web_server/frontend/public/images/art.jpg rename to frontend/public/images/art.jpg diff --git a/web_server/frontend/public/images/background-pattern.svg b/frontend/public/images/background-pattern.svg similarity index 100% rename from web_server/frontend/public/images/background-pattern.svg rename to frontend/public/images/background-pattern.svg diff --git a/web_server/frontend/public/images/dance_game.png b/frontend/public/images/dance_game.png similarity index 100% rename from web_server/frontend/public/images/dance_game.png rename to frontend/public/images/dance_game.png diff --git a/web_server/frontend/public/images/elf.webp b/frontend/public/images/elf.webp similarity index 100% rename from web_server/frontend/public/images/elf.webp rename to frontend/public/images/elf.webp diff --git a/web_server/frontend/public/images/monkey.png b/frontend/public/images/monkey.png similarity index 100% rename from web_server/frontend/public/images/monkey.png rename to frontend/public/images/monkey.png diff --git a/web_server/frontend/public/images/surface.jpeg b/frontend/public/images/surface.jpeg similarity index 100% rename from web_server/frontend/public/images/surface.jpeg rename to frontend/public/images/surface.jpeg diff --git a/web_server/frontend/src/App.tsx b/frontend/src/App.tsx similarity index 100% rename from web_server/frontend/src/App.tsx rename to frontend/src/App.tsx diff --git a/web_server/frontend/src/assets/styles/index.css b/frontend/src/assets/styles/index.css similarity index 100% rename from web_server/frontend/src/assets/styles/index.css rename to frontend/src/assets/styles/index.css diff --git a/web_server/frontend/src/components/Auth/LoginForm.tsx b/frontend/src/components/Auth/LoginForm.tsx similarity index 100% rename from web_server/frontend/src/components/Auth/LoginForm.tsx rename to frontend/src/components/Auth/LoginForm.tsx diff --git a/web_server/frontend/src/components/Auth/SignupForm.tsx b/frontend/src/components/Auth/SignupForm.tsx similarity index 100% rename from web_server/frontend/src/components/Auth/SignupForm.tsx rename to frontend/src/components/Auth/SignupForm.tsx diff --git a/web_server/frontend/src/components/Checkout/CheckoutForm.tsx b/frontend/src/components/Checkout/CheckoutForm.tsx similarity index 100% rename from web_server/frontend/src/components/Checkout/CheckoutForm.tsx rename to frontend/src/components/Checkout/CheckoutForm.tsx diff --git a/web_server/frontend/src/components/Layout/BaseLayout.tsx b/frontend/src/components/Layout/BaseLayout.tsx similarity index 100% rename from web_server/frontend/src/components/Layout/BaseLayout.tsx rename to frontend/src/components/Layout/BaseLayout.tsx diff --git a/web_server/frontend/src/components/Layout/Button.tsx b/frontend/src/components/Layout/Button.tsx similarity index 100% rename from web_server/frontend/src/components/Layout/Button.tsx rename to frontend/src/components/Layout/Button.tsx diff --git a/web_server/frontend/src/components/Layout/ListRow.tsx b/frontend/src/components/Layout/ListRow.tsx similarity index 100% rename from web_server/frontend/src/components/Layout/ListRow.tsx rename to frontend/src/components/Layout/ListRow.tsx diff --git a/web_server/frontend/src/components/Layout/Logo.tsx b/frontend/src/components/Layout/Logo.tsx similarity index 100% rename from web_server/frontend/src/components/Layout/Logo.tsx rename to frontend/src/components/Layout/Logo.tsx diff --git a/web_server/frontend/src/components/Layout/Navbar.tsx b/frontend/src/components/Layout/Navbar.tsx similarity index 100% rename from web_server/frontend/src/components/Layout/Navbar.tsx rename to frontend/src/components/Layout/Navbar.tsx diff --git a/web_server/frontend/src/components/Stream/Thumbnail.tsx b/frontend/src/components/Stream/Thumbnail.tsx similarity index 100% rename from web_server/frontend/src/components/Stream/Thumbnail.tsx rename to frontend/src/components/Stream/Thumbnail.tsx diff --git a/web_server/frontend/src/components/Video/VideoPlayer.tsx b/frontend/src/components/Video/VideoPlayer.tsx similarity index 100% rename from web_server/frontend/src/components/Video/VideoPlayer.tsx rename to frontend/src/components/Video/VideoPlayer.tsx diff --git a/web_server/frontend/src/main.tsx b/frontend/src/main.tsx similarity index 100% rename from web_server/frontend/src/main.tsx rename to frontend/src/main.tsx diff --git a/web_server/frontend/src/pages/CheckoutPage.tsx b/frontend/src/pages/CheckoutPage.tsx similarity index 100% rename from web_server/frontend/src/pages/CheckoutPage.tsx rename to frontend/src/pages/CheckoutPage.tsx diff --git a/web_server/frontend/src/pages/HomePage.tsx b/frontend/src/pages/HomePage.tsx similarity index 100% rename from web_server/frontend/src/pages/HomePage.tsx rename to frontend/src/pages/HomePage.tsx diff --git a/web_server/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx similarity index 100% rename from web_server/frontend/src/pages/LoginPage.tsx rename to frontend/src/pages/LoginPage.tsx diff --git a/web_server/frontend/src/pages/NotFoundPage.tsx b/frontend/src/pages/NotFoundPage.tsx similarity index 100% rename from web_server/frontend/src/pages/NotFoundPage.tsx rename to frontend/src/pages/NotFoundPage.tsx diff --git a/web_server/frontend/src/pages/SignupPage.tsx b/frontend/src/pages/SignupPage.tsx similarity index 100% rename from web_server/frontend/src/pages/SignupPage.tsx rename to frontend/src/pages/SignupPage.tsx diff --git a/web_server/frontend/src/pages/VideoPage.tsx b/frontend/src/pages/VideoPage.tsx similarity index 100% rename from web_server/frontend/src/pages/VideoPage.tsx rename to frontend/src/pages/VideoPage.tsx diff --git a/web_server/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts similarity index 100% rename from web_server/frontend/src/vite-env.d.ts rename to frontend/src/vite-env.d.ts diff --git a/web_server/frontend/tailwind.config.js b/frontend/tailwind.config.js similarity index 100% rename from web_server/frontend/tailwind.config.js rename to frontend/tailwind.config.js diff --git a/web_server/frontend/tsconfig.app.json b/frontend/tsconfig.app.json similarity index 100% rename from web_server/frontend/tsconfig.app.json rename to frontend/tsconfig.app.json diff --git a/web_server/frontend/tsconfig.json b/frontend/tsconfig.json similarity index 100% rename from web_server/frontend/tsconfig.json rename to frontend/tsconfig.json diff --git a/web_server/frontend/tsconfig.node.json b/frontend/tsconfig.node.json similarity index 100% rename from web_server/frontend/tsconfig.node.json rename to frontend/tsconfig.node.json diff --git a/web_server/frontend/vite.config.ts b/frontend/vite.config.ts similarity index 100% rename from web_server/frontend/vite.config.ts rename to frontend/vite.config.ts diff --git a/web_server/backend/.env.example b/web_server/.env.example similarity index 100% rename from web_server/backend/.env.example rename to web_server/.env.example diff --git a/web_server/Dockerfile b/web_server/Dockerfile index 0105e45..364abc2 100644 --- a/web_server/Dockerfile +++ b/web_server/Dockerfile @@ -19,8 +19,8 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . # Set environment variables -ENV FLASK_APP=backend.blueprints.__init__ +ENV FLASK_APP=blueprints.__init__ ENV FLASK_DEBUG=True # Start the Flask app -CMD ["gunicorn", "-b", "0.0.0.0:5000", "backend.blueprints.__init__:create_app()"] +CMD ["gunicorn", "-b", "0.0.0.0:5000", "blueprints.__init__:create_app()"] diff --git a/web_server/backend/blueprints/__init__.py b/web_server/blueprints/__init__.py similarity index 77% rename from web_server/backend/blueprints/__init__.py rename to web_server/blueprints/__init__.py index a45df00..5277f00 100644 --- a/web_server/backend/blueprints/__init__.py +++ b/web_server/blueprints/__init__.py @@ -1,6 +1,6 @@ from flask import Flask from flask_session import Session -from backend.blueprints.utils import logged_in_user +from blueprints.utils import logged_in_user from flask_cors import CORS import os @@ -21,9 +21,9 @@ def create_app(): app.before_request(logged_in_user) with app.app_context(): - from backend.blueprints.authentication import auth_bp - from backend.blueprints.main import main_bp - from backend.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/web_server/backend/blueprints/authentication.py b/web_server/blueprints/authentication.py similarity index 95% rename from web_server/backend/blueprints/authentication.py rename to web_server/blueprints/authentication.py index fdb7375..b661021 100644 --- a/web_server/backend/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 backend.forms import SignupForm, LoginForm -from backend.database.database import Database -from backend.blueprints.utils import login_required +from forms import SignupForm, LoginForm +from database.database import Database +from blueprints.utils import login_required auth_bp = Blueprint("auth", __name__) diff --git a/web_server/backend/blueprints/main.py b/web_server/blueprints/main.py similarity index 100% rename from web_server/backend/blueprints/main.py rename to web_server/blueprints/main.py diff --git a/web_server/backend/blueprints/stripe.py b/web_server/blueprints/stripe.py similarity index 100% rename from web_server/backend/blueprints/stripe.py rename to web_server/blueprints/stripe.py diff --git a/web_server/backend/blueprints/templates/video.html b/web_server/blueprints/templates/video.html similarity index 100% rename from web_server/backend/blueprints/templates/video.html rename to web_server/blueprints/templates/video.html diff --git a/web_server/backend/blueprints/utils.py b/web_server/blueprints/utils.py similarity index 100% rename from web_server/backend/blueprints/utils.py rename to web_server/blueprints/utils.py diff --git a/web_server/backend/database/database.py b/web_server/database/database.py similarity index 100% rename from web_server/backend/database/database.py rename to web_server/database/database.py diff --git a/web_server/backend/database/schema.sql b/web_server/database/schema.sql similarity index 100% rename from web_server/backend/database/schema.sql rename to web_server/database/schema.sql diff --git a/web_server/backend/forms.py b/web_server/forms.py similarity index 100% rename from web_server/backend/forms.py rename to web_server/forms.py