From 06715f952b50e5045b6b28a8597772d18df4936d Mon Sep 17 00:00:00 2001 From: "Wayne H. Shephard" Date: Wed, 30 Sep 2026 00:21:17 +0300 Subject: [PATCH] backend on fastapi --- .#readme.md | 1 - .gitignore | 0 backend/database.py | 21 +++ backend/gym.db | Bin 0 -> 151552 bytes backend/main.py | 47 ++++++ backend/models.py | 171 ++++++++++++++++++++++ backend/requirements.txt | 5 + backend/routers/clients.py | 65 +++++++++ backend/routers/exercises.py | 99 +++++++++++++ backend/routers/metrics.py | 99 +++++++++++++ backend/routers/sync.py | 186 ++++++++++++++++++++++++ backend/routers/workouts.py | 152 ++++++++++++++++++++ backend/schemas.py | 267 +++++++++++++++++++++++++++++++++++ #readme.md# => readme.md | 1 + 14 files changed, 1113 insertions(+), 1 deletion(-) delete mode 120000 .#readme.md create mode 100644 .gitignore create mode 100644 backend/database.py create mode 100644 backend/gym.db create mode 100644 backend/main.py create mode 100644 backend/models.py create mode 100644 backend/requirements.txt create mode 100644 backend/routers/clients.py create mode 100644 backend/routers/exercises.py create mode 100644 backend/routers/metrics.py create mode 100644 backend/routers/sync.py create mode 100644 backend/routers/workouts.py create mode 100644 backend/schemas.py rename #readme.md# => readme.md (99%) diff --git a/.#readme.md b/.#readme.md deleted file mode 120000 index 492fb61..0000000 --- a/.#readme.md +++ /dev/null @@ -1 +0,0 @@ -ivan-igorevich@MacBook-Pro-16.local.32588 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/backend/database.py b/backend/database.py new file mode 100644 index 0000000..5ba59b9 --- /dev/null +++ b/backend/database.py @@ -0,0 +1,21 @@ +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker, declarative_base + +SQLALCHEMY_DATABASE_URL = "sqlite:///./gym.db" + +engine = create_engine( + SQLALCHEMY_DATABASE_URL, + connect_args={"check_same_thread": False} # только для SQLite +) + +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +Base = declarative_base() + +# Dependency +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() diff --git a/backend/gym.db b/backend/gym.db new file mode 100644 index 0000000000000000000000000000000000000000..2b62ce5905422994c68d6a3c47f3d492d6fa2bd4 GIT binary patch literal 151552 zcmeI)U2ogg8NhMTFOn_4HmSonu4AU1XA9k$8QCj}4D}o(b>rBp> zK0FldY`?$ZbZqP6R(r43v2Nt1bB2+7$Fg#{ocFaTzT`hk{4gXp#CJpaIq63$_tx{$ zus3+>-`<$ldf$?U(~bZF2q1s}0tg_000IagfB*t#FEBSf;Y~Vy_A@gh0tg_000Iag zfB*srAbr*00IagfB*srAb0tg_000IagfB*sr zAdoQu?*B6u5Do_c1Q0*~0R#|0009ILKmdUh1i1fC0hK8cKmY**5I_I{1Q0*~0R#}p zm;itOpRs^&I0zts00IagfB*srAb#m9t03T0D*J_j@PCO=KQ?z{6VMoaMun>wJX2B5>)D))t_vXE!k=<7e}3j zDBnBfJLQVCxwT_$-rv~xmQ@^e51MsR@~xk(R@UBK)%)tZj@|5dy}_Q|4)WsAIoP)& zU2dn=?o>O@p51pkyV=k>z1f*ED;VZnIzZ9l!k-NGLxv;+^EPnqFrxFX5y1NS{E&M+S%uYa0U`e-a~t}Gf| z8Jj)3({}1r@AUN6a_Z)IH0)}p_x43h)F%Ig=oZC_anU$5`@TRBH+8SEgcMN6s9B)4 zTgzc07$XI9anU#~`-z|qQhy%R(n0MxWkw{1z1wuO0#p~}=TWPDpcW;!CF)yuX}em`+%>~~|Ai(icVYvfNOJNduo-JyF! z6N7&l_=6b4KLip59=@*EIHZGKHY%3t$q^6_2& z^wkDv8{g1QWv%N)HQ75{?Y7{F?L2ziv2Jf{t%_y3a!1p)_g#4wY90McbieDcy4v@l z8rsTCG{x5TYpdI9tGCL<(vBq-;4{V(Srfg%vgCR{zY)Cu=n7dK=M~%Di^xj*yLTHU;51&O)79logF+x> zn48v0bboP=uJ0=vO0k>TKK5F=M*EX<_sP6iH?A0m6Ee*nwi*X=q4`;Dx9i_h#2c+> z3dV;7g(Ke4s~+}iVzIJfJnQ=D86OpISn1yl0p*w{6arIZ8oJVX|`hN=X2t7hgsuu8Q*%X-Edm6JoUD&2C&frrH}R3gZ|zp zYyaC<^5){K@nK|ku^RLT&PTH(m@!xj29t?mb^OiQf;l^DJYVW91^u4h;450xdu=a> zbWlF~mH~NM=ot_klXrX4cdz|!d%xxO?`w41qGGk0YQ<_eq7XIfb}x0jc)I(x_<+m5 zZh4zdQ!HnjN`KpSo*UKT~7V#2QR3e`DQe zn#z(bQpv*R#E&}qUsV5}sTHkz;W3Nqpnh^I+hZvzKf5iKKAO=#A5*KYkWn`;MGKVL z8RVqeIj)eYTHag4yt41eqQ>i?I*SNX!)Z5`Pj3I(JQ8_?(nLXZ)(pe zQ>}OJ9Z9L++N0hzhl?LCl(FJ^IJvw$iKCWnClTiF{}XR$=|BJh1Q0*~ z0R#|0009ILK;Ya6aQ}a9LdhFJ009ILKmY**5I_I{1Q0+VQGoydFOh~01Q0*~0R#|0 z009ILKmY**&W!-i|IbY*c_RoQfB*srAb