diff --git a/backend/db/database.py b/backend/db/database.py index 2114568..5000a1c 100644 --- a/backend/db/database.py +++ b/backend/db/database.py @@ -2,7 +2,7 @@ from databases import Database from sqlalchemy import create_engine, MetaData from sqlalchemy.orm import declarative_base -from backend.config import settings +from ..config import settings # for Alembic migrations and sync operations engine = create_engine(settings.database_url) diff --git a/backend/main.py b/backend/main.py index da43c69..c916fcd 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,9 +1,9 @@ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware -from backend.config import settings -from backend.db import database, Base, engine -from backend.routes import shortener_router +from .config import settings +from .db import database, Base, engine +from .routes import shortener_router app = FastAPI() diff --git a/backend/models/url.py b/backend/models/url.py index 5e39fe5..6600a61 100644 --- a/backend/models/url.py +++ b/backend/models/url.py @@ -1,6 +1,6 @@ from sqlalchemy import Column, Integer, String -from backend.db.database import Base +from ..db.database import Base class Url(Base): __tablename__ = "urls" diff --git a/backend/routes/shortener.py b/backend/routes/shortener.py index 950a416..e224edd 100644 --- a/backend/routes/shortener.py +++ b/backend/routes/shortener.py @@ -1,11 +1,11 @@ from fastapi import APIRouter, HTTPException from fastapi.responses import RedirectResponse -from backend.db import database -from backend.exceptions import ShortcodeNotFound, ShortcodeConflict -from backend.utils import encoder -from backend.schemas import UrlPayload -from backend.services import UrlService +from ..db import database +from ..exceptions import ShortcodeNotFound, ShortcodeConflict +from ..utils import encoder +from ..schemas import UrlPayload +from ..services import UrlService router = APIRouter() url_service = UrlService(db=database) diff --git a/backend/services/url_service.py b/backend/services/url_service.py index f6ffa2d..b4ca280 100644 --- a/backend/services/url_service.py +++ b/backend/services/url_service.py @@ -1,9 +1,9 @@ from sqlalchemy import select, insert from sqlalchemy.exc import IntegrityError -from backend.utils import encoder -from backend.models import Url -from backend.exceptions import ShortcodeConflict, ShortcodeNotFound +from ..utils import encoder +from ..models import Url +from ..exceptions import ShortcodeConflict, ShortcodeNotFound class UrlService: def __init__(self, db): diff --git a/backend/utils/encoder.py b/backend/utils/encoder.py index 30755cd..8a4fbd2 100644 --- a/backend/utils/encoder.py +++ b/backend/utils/encoder.py @@ -1,6 +1,6 @@ from hashids import Hashids -from backend.config import settings +from ..config import settings class ShortCodeEncoder: def __init__(self, salt=None, alphabet=None, min_length=6): diff --git a/generate_configs.py b/generate_configs.py index d55f0fc..4ad4bf3 100644 --- a/generate_configs.py +++ b/generate_configs.py @@ -18,7 +18,7 @@ while True: db_user = "minxa" db_password = secrets.token_urlsafe(16) db_name = "minxadb" -db_host = "minxa-db" +db_host = "db" db_port = 5432 hashids_salt = secrets.token_urlsafe(32) @@ -53,10 +53,9 @@ frontend_env_path.write_text(frontend_env) print(f"✅ frontend/.env written") # === Generate docker-compose.generated.yml === # -compose_yml = f"""version: "3.9" - +compose_yml = f""" services: - minxa-db: + db: image: postgres:16 environment: POSTGRES_USER: {db_user} @@ -72,26 +71,26 @@ services: networks: - appnet - minxa-backend: + backend: build: context: ./backend env_file: - ./backend/.env depends_on: - minxa-db: + db: condition: service_healthy ports: - "8000:8000" networks: - appnet - minxa-frontend: + frontend: build: context: ./frontend env_file: - ./frontend/.env depends_on: - - minxa-backend + - backend ports: - "3000:80" networks: