diff --git a/.vscode/settings.json b/.vscode/settings.json index ba435c7..4d6f196 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,8 +1,7 @@ { "editor.codeActionsOnSave": { "source.organizeImports": "always", - "source.fixAll": "always", - "source.fixAll.eslint": "explicit" + "source.fixAll": "always" }, "editor.suggest.preview": true, "editor.inlayHints.enabled": "offUnlessPressed", diff --git a/Taskfile.yml b/Taskfile.yml index c9116f5..f6eb772 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -15,9 +15,9 @@ tasks: py:dev: desc: runs the backend server cmds: - - poetry run python fuware/app.py + - poetry run python backend/app.py ui:dev: desc: runs the frontend server - dir: fuware-fe + dir: frontend cmds: - pnpm dev diff --git a/alembic/env.py b/alembic/env.py index c210583..6176ca7 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -5,8 +5,8 @@ from sqlalchemy import pool from alembic import context -from fuware.core.config import get_app_settings -from fuware.db.models._model_base import SqlAlchemyBase +from backend.core.config import get_app_settings +from backend.db.models._model_base import SqlAlchemyBase # this is the Alembic Config object, which provides # access to the values within the .ini file in use. diff --git a/fuware/__init__.py b/backend/__init__.py similarity index 100% rename from fuware/__init__.py rename to backend/__init__.py diff --git a/fuware/app.py b/backend/app.py similarity index 89% rename from fuware/app.py rename to backend/app.py index d7b7ed9..50393d5 100644 --- a/fuware/app.py +++ b/backend/app.py @@ -1,15 +1,14 @@ from collections.abc import AsyncGenerator from contextlib import asynccontextmanager -from mimetypes import init from fastapi import FastAPI, Request, HTTPException from fastapi.responses import JSONResponse from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.gzip import GZipMiddleware -from fuware.core.config import get_app_settings -from fuware.core.root_logger import get_logger -from fuware.routes import router -from fuware import __version__ +from backend.core.config import get_app_settings +from backend.core.root_logger import get_logger +from backend.routes import router +from backend import __version__ import uvicorn settings = get_app_settings() @@ -22,7 +21,7 @@ fuware is a web application for managing your hours items and tracking them. @asynccontextmanager async def lifespan_fn(_: FastAPI) -> AsyncGenerator[None, None]: logger.info("start: database initialization") - import fuware.db.init_db as init_db + import backend.db.init_db as init_db init_db.main() logger.info("end: database initialization") diff --git a/fuware/core/__init__.py b/backend/core/__init__.py similarity index 100% rename from fuware/core/__init__.py rename to backend/core/__init__.py diff --git a/fuware/core/config.py b/backend/core/config.py similarity index 91% rename from fuware/core/config.py rename to backend/core/config.py index 0d5ebe9..44fb3e6 100644 --- a/fuware/core/config.py +++ b/backend/core/config.py @@ -4,7 +4,7 @@ from pathlib import Path from dotenv import load_dotenv -from fuware.core.settings.settings import AppSettings, app_settings_constructor +from backend.core.settings import AppSettings, app_settings_constructor CWD = Path(__file__).parent BASE_DIR = CWD.parent.parent diff --git a/fuware/core/dependencies/__init__.py b/backend/core/dependencies/__init__.py similarity index 100% rename from fuware/core/dependencies/__init__.py rename to backend/core/dependencies/__init__.py diff --git a/fuware/core/dependencies/dependencies.py b/backend/core/dependencies/dependencies.py similarity index 94% rename from fuware/core/dependencies/dependencies.py rename to backend/core/dependencies/dependencies.py index 8202e1f..ab21bf5 100644 --- a/fuware/core/dependencies/dependencies.py +++ b/backend/core/dependencies/dependencies.py @@ -1,11 +1,11 @@ from fastapi import Depends, HTTPException, Request, status from fastapi.security import OAuth2PasswordBearer -from fuware.core.config import get_app_settings -from fuware.core import MessageCode +from backend.core.config import get_app_settings +from backend.core import MessageCode import jwt -from fuware.services.user.user_service import UserService +from backend.services.user.user_service import UserService oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/token") oauth2_scheme_soft_fail = OAuth2PasswordBearer(tokenUrl="/api/auth/token", auto_error=False) diff --git a/fuware/core/logger/config.py b/backend/core/logger/config.py similarity index 100% rename from fuware/core/logger/config.py rename to backend/core/logger/config.py diff --git a/fuware/core/logger/logconf.dev.json b/backend/core/logger/logconf.dev.json similarity index 100% rename from fuware/core/logger/logconf.dev.json rename to backend/core/logger/logconf.dev.json diff --git a/fuware/core/logger/logconf.prod.json b/backend/core/logger/logconf.prod.json similarity index 100% rename from fuware/core/logger/logconf.prod.json rename to backend/core/logger/logconf.prod.json diff --git a/fuware/core/logger/logconf.test.json b/backend/core/logger/logconf.test.json similarity index 100% rename from fuware/core/logger/logconf.test.json rename to backend/core/logger/logconf.test.json diff --git a/fuware/core/message_code.py b/backend/core/message_code.py similarity index 100% rename from fuware/core/message_code.py rename to backend/core/message_code.py diff --git a/fuware/core/root_logger.py b/backend/core/root_logger.py similarity index 100% rename from fuware/core/root_logger.py rename to backend/core/root_logger.py diff --git a/fuware/core/security/__init__.py b/backend/core/security/__init__.py similarity index 100% rename from fuware/core/security/__init__.py rename to backend/core/security/__init__.py diff --git a/fuware/core/security/hasher.py b/backend/core/security/hasher.py similarity index 94% rename from fuware/core/security/hasher.py rename to backend/core/security/hasher.py index f8044fa..7cec06a 100644 --- a/fuware/core/security/hasher.py +++ b/backend/core/security/hasher.py @@ -2,7 +2,7 @@ from functools import lru_cache from typing import Protocol import bcrypt -from fuware.core.config import get_app_settings +from backend.core.config import get_app_settings class Hasher(Protocol): diff --git a/fuware/core/security/security.py b/backend/core/security/security.py similarity index 90% rename from fuware/core/security/security.py rename to backend/core/security/security.py index 558bb54..06186dd 100644 --- a/fuware/core/security/security.py +++ b/backend/core/security/security.py @@ -4,9 +4,9 @@ from pathlib import Path import jwt -from fuware.core.config import get_app_settings -from fuware.core import root_logger -from fuware.core.security.hasher import get_hasher +from backend.core.config import get_app_settings +from backend.core import root_logger +from backend.core.security.hasher import get_hasher ALGORITHM = "HS256" diff --git a/fuware/core/settings/__init__.py b/backend/core/settings/__init__.py similarity index 100% rename from fuware/core/settings/__init__.py rename to backend/core/settings/__init__.py diff --git a/fuware/core/settings/db_providers.py b/backend/core/settings/db_providers.py similarity index 100% rename from fuware/core/settings/db_providers.py rename to backend/core/settings/db_providers.py diff --git a/fuware/core/settings/settings.py b/backend/core/settings/settings.py similarity index 96% rename from fuware/core/settings/settings.py rename to backend/core/settings/settings.py index 63fbb13..08dbd1b 100644 --- a/fuware/core/settings/settings.py +++ b/backend/core/settings/settings.py @@ -1,5 +1,5 @@ from pathlib import Path -from fuware.core.settings.db_providers import AbstractDBProvider, SQLiteProvider +from backend.core.settings.db_providers import AbstractDBProvider, SQLiteProvider from pydantic_settings import BaseSettings # type: ignore diff --git a/fuware/db/__init__.py b/backend/db/__init__.py similarity index 100% rename from fuware/db/__init__.py rename to backend/db/__init__.py diff --git a/fuware/db/db_setup.py b/backend/db/db_setup.py similarity index 96% rename from fuware/db/db_setup.py rename to backend/db/db_setup.py index bc64ee7..73c5a01 100644 --- a/fuware/db/db_setup.py +++ b/backend/db/db_setup.py @@ -3,7 +3,7 @@ from contextlib import contextmanager from sqlalchemy.orm.session import Session from sqlalchemy import create_engine, event, Engine from sqlalchemy.orm import scoped_session, sessionmaker -from fuware.core.config import get_app_settings +from backend.core.config import get_app_settings settings = get_app_settings() diff --git a/fuware/db/init_db.py b/backend/db/init_db.py similarity index 89% rename from fuware/db/init_db.py rename to backend/db/init_db.py index b0de2b8..f2d768e 100644 --- a/fuware/db/init_db.py +++ b/backend/db/init_db.py @@ -7,12 +7,11 @@ from sqlalchemy import engine, orm, text from alembic import command, config, script from alembic.config import Config from alembic.runtime import migration -from fuware.core import root_logger -from fuware.core.config import get_app_settings -from fuware.db.db_setup import session_context -from fuware.repos.repository_users import RepositoryUsers -from fuware.repos.seeder import default_users_init -from fuware.db.models._model_base import Model +from backend.core import root_logger +from backend.core.config import get_app_settings +from backend.db.db_setup import session_context +from backend.repos.repository_users import RepositoryUsers +from backend.repos.seeder import default_users_init # from fuware.db.models import User PROJECT_DIR = Path(__file__).parent.parent.parent diff --git a/fuware/db/models/__init__.py b/backend/db/models/__init__.py similarity index 100% rename from fuware/db/models/__init__.py rename to backend/db/models/__init__.py diff --git a/fuware/db/models/_model_base.py b/backend/db/models/_model_base.py similarity index 87% rename from fuware/db/models/_model_base.py rename to backend/db/models/_model_base.py index 39b0424..8fc0eae 100644 --- a/fuware/db/models/_model_base.py +++ b/backend/db/models/_model_base.py @@ -1,10 +1,10 @@ from datetime import datetime -from sqlalchemy import DateTime, Integer +from sqlalchemy import DateTime from sqlalchemy.orm import declarative_base, Mapped, mapped_column from text_unidecode import unidecode -from fuware.db.db_setup import SessionLocal +from backend.db.db_setup import SessionLocal Model = declarative_base() Model.query = SessionLocal.query_property() diff --git a/fuware/db/models/users/__init__.py b/backend/db/models/users/__init__.py similarity index 100% rename from fuware/db/models/users/__init__.py rename to backend/db/models/users/__init__.py diff --git a/fuware/db/models/users/users.py b/backend/db/models/users/users.py similarity index 100% rename from fuware/db/models/users/users.py rename to backend/db/models/users/users.py diff --git a/fuware/main.py b/backend/main.py similarity index 85% rename from fuware/main.py rename to backend/main.py index bf762c7..b9e48df 100644 --- a/fuware/main.py +++ b/backend/main.py @@ -1,6 +1,6 @@ import uvicorn -from fuware.app import settings +from backend.app import settings def main(): diff --git a/fuware/repos/__init__.py b/backend/repos/__init__.py similarity index 100% rename from fuware/repos/__init__.py rename to backend/repos/__init__.py diff --git a/fuware/repos/repository_users.py b/backend/repos/repository_users.py similarity index 78% rename from fuware/repos/repository_users.py rename to backend/repos/repository_users.py index 443f2d0..acaee17 100644 --- a/fuware/repos/repository_users.py +++ b/backend/repos/repository_users.py @@ -1,11 +1,11 @@ -from fuware.core.config import get_app_settings -from fuware.core.security.security import hash_password -from fuware.db.models import User -from fuware.schemas import UserCreate +from backend.core.config import get_app_settings +from backend.core.security.security import hash_password +from backend.db.models import User +from backend.schemas import UserCreate from sqlalchemy.orm import Session from uuid import UUID -from fuware.schemas.user.user import UserSeeds +from backend.schemas.user.user import UserSeeds settings = get_app_settings() diff --git a/fuware/repos/seeder/__init__.py b/backend/repos/seeder/__init__.py similarity index 100% rename from fuware/repos/seeder/__init__.py rename to backend/repos/seeder/__init__.py diff --git a/fuware/repos/seeder/init_users.py b/backend/repos/seeder/init_users.py similarity index 73% rename from fuware/repos/seeder/init_users.py rename to backend/repos/seeder/init_users.py index 2be0506..f220730 100644 --- a/fuware/repos/seeder/init_users.py +++ b/backend/repos/seeder/init_users.py @@ -1,9 +1,9 @@ -from fuware.core.config import get_app_settings -from fuware.core.root_logger import get_logger -from fuware.repos.repository_users import RepositoryUsers +from backend.core.config import get_app_settings +from backend.core.root_logger import get_logger +from backend.repos.repository_users import RepositoryUsers from sqlalchemy.orm import Session -from fuware.schemas.user import UserSeeds +from backend.schemas.user import UserSeeds logger = get_logger("init_users") diff --git a/fuware/routes/__init__.py b/backend/routes/__init__.py similarity index 100% rename from fuware/routes/__init__.py rename to backend/routes/__init__.py diff --git a/fuware/routes/_base/routers.py b/backend/routes/_base/routers.py similarity index 84% rename from fuware/routes/_base/routers.py rename to backend/routes/_base/routers.py index 9324abb..f4a8a71 100644 --- a/fuware/routes/_base/routers.py +++ b/backend/routes/_base/routers.py @@ -1,7 +1,7 @@ from enum import Enum from fastapi import APIRouter, Depends -from fuware.core.dependencies import get_auth_user +from backend.core.dependencies import get_auth_user class PrivateAPIRouter(APIRouter): diff --git a/fuware/routes/auth/__init__.py b/backend/routes/auth/__init__.py similarity index 100% rename from fuware/routes/auth/__init__.py rename to backend/routes/auth/__init__.py diff --git a/fuware/routes/auth/auth.py b/backend/routes/auth/auth.py similarity index 89% rename from fuware/routes/auth/auth.py rename to backend/routes/auth/auth.py index 314fc65..6602d41 100644 --- a/fuware/routes/auth/auth.py +++ b/backend/routes/auth/auth.py @@ -5,12 +5,12 @@ from fastapi import APIRouter, Depends, HTTPException, Response, status # from fastapi.encoders import jsonable_encoder from fastapi.security import OAuth2PasswordRequestForm from sqlalchemy.orm import Session -from fuware.core.config import get_app_settings -from fuware.core.dependencies.dependencies import get_current_user -from fuware.core import MessageCode -from fuware.db.db_setup import generate_session -from fuware.schemas import ReturnValue, UserRequest, LoginResponse, UserCreate, PrivateUser -from fuware.services.user import UserService +from backend.core.config import get_app_settings +from backend.core.dependencies.dependencies import get_current_user +from backend.core import MessageCode +from backend.db.db_setup import generate_session +from backend.schemas import ReturnValue, UserRequest, LoginResponse, UserCreate, PrivateUser +from backend.services.user import UserService auth_router = APIRouter(tags=["Users: Authentication"]) diff --git a/fuware/routes/user/__init__.py b/backend/routes/user/__init__.py similarity index 100% rename from fuware/routes/user/__init__.py rename to backend/routes/user/__init__.py diff --git a/fuware/routes/user/user.py b/backend/routes/user/user.py similarity index 65% rename from fuware/routes/user/user.py rename to backend/routes/user/user.py index e864627..f171120 100644 --- a/fuware/routes/user/user.py +++ b/backend/routes/user/user.py @@ -1,12 +1,12 @@ from typing import Annotated, Any from fastapi import APIRouter, Depends from sqlalchemy.orm import Session -from fuware.core.config import get_app_settings -from fuware.core.dependencies import is_logged_in -from fuware.db.db_setup import generate_session -from fuware.schemas.common import ReturnValue -from fuware.schemas.user import ProfileResponse -from fuware.services.user import UserService +from backend.core.config import get_app_settings +from backend.core.dependencies import is_logged_in +from backend.db.db_setup import generate_session +from backend.schemas.common import ReturnValue +from backend.schemas.user import ProfileResponse +from backend.services.user import UserService public_router = APIRouter(tags=["Users: Info"]) diff --git a/fuware/schemas/__init__.py b/backend/schemas/__init__.py similarity index 100% rename from fuware/schemas/__init__.py rename to backend/schemas/__init__.py diff --git a/fuware/schemas/common.py b/backend/schemas/common.py similarity index 100% rename from fuware/schemas/common.py rename to backend/schemas/common.py diff --git a/fuware/schemas/fuware_model.py b/backend/schemas/fuware_model.py similarity index 100% rename from fuware/schemas/fuware_model.py rename to backend/schemas/fuware_model.py diff --git a/fuware/schemas/user/__init__.py b/backend/schemas/user/__init__.py similarity index 100% rename from fuware/schemas/user/__init__.py rename to backend/schemas/user/__init__.py diff --git a/fuware/schemas/user/user.py b/backend/schemas/user/user.py similarity index 91% rename from fuware/schemas/user/user.py rename to backend/schemas/user/user.py index bf43af0..709baf8 100644 --- a/fuware/schemas/user/user.py +++ b/backend/schemas/user/user.py @@ -3,7 +3,7 @@ from uuid import UUID from pydantic import ConfigDict from fastapi import Form -from fuware.schemas.fuware_model import FuwareModel +from backend.schemas.fuware_model import FuwareModel class UserBase(FuwareModel): username: str = Form(...) @@ -30,7 +30,6 @@ class PrivateUser(UserBase): class ProfileResponse(UserBase): name: str is_admin: bool - is_lock: bool created_at: datetime updated_at: datetime model_config = ConfigDict(from_attributes=True) diff --git a/fuware/services/__init__.py b/backend/services/__init__.py similarity index 100% rename from fuware/services/__init__.py rename to backend/services/__init__.py diff --git a/fuware/services/_base_service/__init__.py b/backend/services/_base_service/__init__.py similarity index 64% rename from fuware/services/_base_service/__init__.py rename to backend/services/_base_service/__init__.py index 9334f71..731d3a7 100644 --- a/fuware/services/_base_service/__init__.py +++ b/backend/services/_base_service/__init__.py @@ -1,4 +1,4 @@ -from fuware.core.config import get_app_settings +from backend.core.config import get_app_settings class BaseService: diff --git a/fuware/services/user/__init__.py b/backend/services/user/__init__.py similarity index 100% rename from fuware/services/user/__init__.py rename to backend/services/user/__init__.py diff --git a/fuware/services/user/user_service.py b/backend/services/user/user_service.py similarity index 77% rename from fuware/services/user/user_service.py rename to backend/services/user/user_service.py index 9377cea..c60f947 100644 --- a/fuware/services/user/user_service.py +++ b/backend/services/user/user_service.py @@ -1,10 +1,10 @@ from sqlalchemy.orm import Session -from fuware.core.security.hasher import get_hasher -from fuware.core.security import create_access_token -from fuware.core.security.security import create_refresh_token -from fuware.repos import RepositoryUsers -from fuware.schemas import UserRequest, UserCreate -from fuware.services._base_service import BaseService +from backend.core.security.hasher import get_hasher +from backend.core.security import create_access_token +from backend.core.security.security import create_refresh_token +from backend.repos import RepositoryUsers +from backend.schemas import UserRequest, UserCreate +from backend.services._base_service import BaseService class UserService(BaseService): def __init__(self): diff --git a/fuware-fe/.dockerignore b/frontend/.dockerignore similarity index 100% rename from fuware-fe/.dockerignore rename to frontend/.dockerignore diff --git a/fuware-fe/.eslintrc.cjs b/frontend/.eslintrc.cjs similarity index 100% rename from fuware-fe/.eslintrc.cjs rename to frontend/.eslintrc.cjs diff --git a/fuware-fe/.gitignore b/frontend/.gitignore similarity index 100% rename from fuware-fe/.gitignore rename to frontend/.gitignore diff --git a/fuware-fe/.lintstagedrc b/frontend/.lintstagedrc similarity index 100% rename from fuware-fe/.lintstagedrc rename to frontend/.lintstagedrc diff --git a/fuware-fe/.prettierignore b/frontend/.prettierignore similarity index 100% rename from fuware-fe/.prettierignore rename to frontend/.prettierignore diff --git a/fuware-fe/.prettierrc b/frontend/.prettierrc similarity index 100% rename from fuware-fe/.prettierrc rename to frontend/.prettierrc diff --git a/fuware-fe/Dockerfile b/frontend/Dockerfile similarity index 100% rename from fuware-fe/Dockerfile rename to frontend/Dockerfile diff --git a/fuware-fe/index.html b/frontend/index.html similarity index 93% rename from fuware-fe/index.html rename to frontend/index.html index d155b08..9beb395 100644 --- a/fuware-fe/index.html +++ b/frontend/index.html @@ -8,7 +8,7 @@ href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet" /> -