From 0c7a5375027391e9c0ca239f65399f930889bf15 Mon Sep 17 00:00:00 2001 From: geekiot Date: Sat, 18 Oct 2025 22:40:10 +0500 Subject: [PATCH] Add [architecture]: add base src/ project arch --- src/bot/__init__.py | 11 +++++++++++ src/bot/handlers/__init__.py | 1 + src/bot/handlers/callbacks/__init__.py | 1 + src/bot/handlers/commands/__init__.py | 1 + src/bot/handlers/filters/__init__.py | 1 + src/bot/handlers/keyboards/__init__.py | 1 + src/bot/handlers/states/__init__.py | 1 + src/bot/middlewares/__init__.py | 1 + src/bot/services/__init__.py | 1 + src/db/__init__.py | 4 ++++ src/db/models.py | 0 src/db/session.py | 3 +++ src/main.py | 16 ++++++++++++++-- src/redis/__init__.py | 4 ++++ src/redis/session.py | 3 +++ 15 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 src/bot/__init__.py create mode 100644 src/bot/handlers/__init__.py create mode 100644 src/bot/handlers/callbacks/__init__.py create mode 100644 src/bot/handlers/commands/__init__.py create mode 100644 src/bot/handlers/filters/__init__.py create mode 100644 src/bot/handlers/keyboards/__init__.py create mode 100644 src/bot/handlers/states/__init__.py create mode 100644 src/bot/middlewares/__init__.py create mode 100644 src/bot/services/__init__.py create mode 100644 src/db/__init__.py create mode 100644 src/db/models.py create mode 100644 src/db/session.py create mode 100644 src/redis/__init__.py create mode 100644 src/redis/session.py diff --git a/src/bot/__init__.py b/src/bot/__init__.py new file mode 100644 index 0000000..0105cbe --- /dev/null +++ b/src/bot/__init__.py @@ -0,0 +1,11 @@ +__all__ = ["start_bot"] + + +from redis.asyncio.client import Redis +from sqlalchemy.ext.asyncio import AsyncSession + + +async def start_bot( + redis_client: Redis, + database_session: AsyncSession, +) -> None: ... diff --git a/src/bot/handlers/__init__.py b/src/bot/handlers/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/handlers/callbacks/__init__.py b/src/bot/handlers/callbacks/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/callbacks/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/handlers/commands/__init__.py b/src/bot/handlers/commands/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/commands/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/handlers/filters/__init__.py b/src/bot/handlers/filters/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/filters/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/handlers/keyboards/__init__.py b/src/bot/handlers/keyboards/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/keyboards/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/handlers/states/__init__.py b/src/bot/handlers/states/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/handlers/states/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/middlewares/__init__.py b/src/bot/middlewares/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/middlewares/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/bot/services/__init__.py b/src/bot/services/__init__.py new file mode 100644 index 0000000..a9a2c5b --- /dev/null +++ b/src/bot/services/__init__.py @@ -0,0 +1 @@ +__all__ = [] diff --git a/src/db/__init__.py b/src/db/__init__.py new file mode 100644 index 0000000..1727ba2 --- /dev/null +++ b/src/db/__init__.py @@ -0,0 +1,4 @@ +__all__ = ["session"] + + +from .session import session diff --git a/src/db/models.py b/src/db/models.py new file mode 100644 index 0000000..e69de29 diff --git a/src/db/session.py b/src/db/session.py new file mode 100644 index 0000000..7431e3b --- /dev/null +++ b/src/db/session.py @@ -0,0 +1,3 @@ +from sqlalchemy.ext.asyncio import AsyncSession + +session: AsyncSession = ... diff --git a/src/main.py b/src/main.py index cb453c0..3b4719f 100644 --- a/src/main.py +++ b/src/main.py @@ -1,5 +1,17 @@ -def main(): - print("Hello from urfu-daddy!") +import asyncio + +from .bot import start_bot +from .db import session +from .redis import client + + +def main() -> None: + asyncio.run( + start_bot( + redis_client=client, + database_session=session, + ) + ) if __name__ == "__main__": diff --git a/src/redis/__init__.py b/src/redis/__init__.py new file mode 100644 index 0000000..9e2cbb6 --- /dev/null +++ b/src/redis/__init__.py @@ -0,0 +1,4 @@ +__all__ = ["client"] + + +from .session import client diff --git a/src/redis/session.py b/src/redis/session.py new file mode 100644 index 0000000..880f6e0 --- /dev/null +++ b/src/redis/session.py @@ -0,0 +1,3 @@ +from redis.asyncio.client import Redis + +client: Redis = ...