From 57965fc147093738f897cdc806e01a5826072c72 Mon Sep 17 00:00:00 2001 From: Olly Hearn Date: Thu, 11 Apr 2024 16:39:08 +0300 Subject: [PATCH] backend for queues & minor front tweaks --- backend/app/db/models.py | 18 ++++++++ backend/app/main.py | 2 + backend/app/views/auth/api.py | 7 --- backend/app/views/auth/schemas.py | 3 +- backend/app/views/auth/services.py | 12 +++-- backend/app/views/queue/__init__.py | 0 backend/app/views/queue/api.py | 41 ++++++++++++++++++ backend/app/views/queue/schemas.py | 27 ++++++++++++ backend/app/views/queue/services.py | 30 +++++++++++++ frontend/app/package-lock.json | 6 +-- frontend/app/package.json | 1 + frontend/app/rsbuild.config.ts | 11 +++-- frontend/app/src/App.tsx | 5 ++- .../app/src/components/HeaderComponent.tsx | 24 ++++++++-- frontend/app/src/config/baseUrl.ts | 2 +- frontend/app/src/pages/AppRoutes.tsx | 14 ++++-- frontend/app/src/pages/DashboardPage.tsx | 22 ++++++++++ frontend/app/src/pages/MainPage.tsx | 4 +- frontend/app/src/pages/styles.css | 2 +- frontend/app/static/index.html | 14 ++++++ frontend/app/static/logo-full.png | Bin 0 -> 139523 bytes 21 files changed, 210 insertions(+), 35 deletions(-) create mode 100644 backend/app/views/queue/__init__.py create mode 100644 backend/app/views/queue/api.py create mode 100644 backend/app/views/queue/schemas.py create mode 100644 backend/app/views/queue/services.py create mode 100644 frontend/app/src/pages/DashboardPage.tsx create mode 100644 frontend/app/static/index.html create mode 100644 frontend/app/static/logo-full.png diff --git a/backend/app/db/models.py b/backend/app/db/models.py index 6b5b9ac..9fffc5c 100644 --- a/backend/app/db/models.py +++ b/backend/app/db/models.py @@ -14,3 +14,21 @@ class User(Base): username = Column(String(length=24), unique=True, index=True) hashed_password = Column(String) is_active = Column(Boolean, default=True) + + owns_queues = relationship("Queue", backref="owner", lazy="dynamic") + + +class AnonymousUser(Base): + __tablename__ = "anonymoususers" + + id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) + name = Column(String, index=True) + + +class Queue(Base): + __tablename__ = "queues" + + id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) + name = Column(String, index=True) + description = Column(String, index=True) + owner_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) diff --git a/backend/app/main.py b/backend/app/main.py index abd815d..11acbbe 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -6,10 +6,12 @@ from .db.database import SessionLocal, engine from .dependencies import get_db from .views.auth.api import router as auth_router +from .views.queue.api import router as queue_router app = FastAPI(dependencies=[Depends(get_db)]) models.Base.metadata.create_all(bind=engine) +app.include_router(queue_router) app.include_router(auth_router) diff --git a/backend/app/views/auth/api.py b/backend/app/views/auth/api.py index f0f0a26..4271e2c 100644 --- a/backend/app/views/auth/api.py +++ b/backend/app/views/auth/api.py @@ -68,10 +68,3 @@ async def read_users_me( current_user: Annotated[schemas.User, Depends(services.get_current_active_user)], ): return current_user - - -# @app.get("/users/me/items/") -# async def read_own_items( -# current_user: Annotated[User, Depends(get_current_active_user)], -# ): -# return [{"item_id": "Foo", "owner": current_user.username}] diff --git a/backend/app/views/auth/schemas.py b/backend/app/views/auth/schemas.py index 1497421..1774fec 100644 --- a/backend/app/views/auth/schemas.py +++ b/backend/app/views/auth/schemas.py @@ -1,5 +1,6 @@ from typing import Union from pydantic import BaseModel +from uuid import UUID class User(BaseModel): @@ -8,7 +9,7 @@ class User(BaseModel): class UserInDB(User): - hashed_password: str + id: UUID class Config: from_attributes = True diff --git a/backend/app/views/auth/services.py b/backend/app/views/auth/services.py index 88e9f74..35c31c1 100644 --- a/backend/app/views/auth/services.py +++ b/backend/app/views/auth/services.py @@ -20,15 +20,15 @@ def verify_password(plain_password, hashed_password): return pwd_context.verify(plain_password, hashed_password) -def get_password_hash(password): +def get_password_hash(password) -> str: return pwd_context.hash(password) -def get_user_by_id(db: Session, user_id: uuid.uuid4): +def get_user_by_id(db: Session, user_id: uuid.uuid4) -> models.User: return db.query(models.User).filter(models.User.id == user_id).first() -def get_user_by_username(db: Session, username: int): +def get_user_by_username(db: Session, username: int) -> models.User: return db.query(models.User).filter(models.User.username == username).first() @@ -62,15 +62,13 @@ def create_user(db: Session, user_data: schemas.UserRegister) -> schemas.UserInD ) db.add(user) db.commit() - return schemas.UserInDB( - username=user.username, name=user.name, hashed_password=user.hashed_password - ) + return schemas.UserInDB.model_validate(user) async def get_current_user( token: Annotated[str, Depends(oauth2_scheme)], db: Annotated[Session, Depends(get_db)], -) -> schemas.User: +) -> schemas.UserInDB: credentials_exception = HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate credentials", diff --git a/backend/app/views/queue/__init__.py b/backend/app/views/queue/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/views/queue/api.py b/backend/app/views/queue/api.py new file mode 100644 index 0000000..ee25683 --- /dev/null +++ b/backend/app/views/queue/api.py @@ -0,0 +1,41 @@ +from datetime import datetime, timedelta, timezone +from typing import Annotated, Union +from sqlalchemy.orm import Session + +from fastapi import APIRouter, Depends, HTTPException, status +from fastapi.security import OAuth2PasswordRequestForm + + +from pydantic import BaseModel + +from ...config import jwt_config +from ...dependencies import get_db +from . import schemas +from . import services + +from ..auth import services as auth_services +from ..auth import schemas as auth_schemas + + +router = APIRouter( + prefix="/queue", + tags=["queue"], + dependencies=[Depends(get_db)], + responses={404: {"description": "Not found"}}, +) + + +@router.get("/") +async def user_queues_list( + queues: Annotated[schemas.Queue, Depends(services.get_user_queues)], +) -> list[schemas.QueueInDb]: + return queues + + +@router.post("/") +async def create_queue( + new_queue: schemas.Queue, + current_user: Annotated[auth_schemas.User, Depends(auth_services.get_current_user)], + db: Annotated[Session, Depends(get_db)], +) -> schemas.QueueInDb: + return services.create_queue(new_queue=new_queue, current_user=current_user, db=db) diff --git a/backend/app/views/queue/schemas.py b/backend/app/views/queue/schemas.py new file mode 100644 index 0000000..3abca79 --- /dev/null +++ b/backend/app/views/queue/schemas.py @@ -0,0 +1,27 @@ +from typing import Union +from pydantic import BaseModel +from uuid import UUID + + +class ParticipantInfo(BaseModel): + total: int + remaining: int + + +class Queue(BaseModel): + name: str + description: Union[str, None] = None + + +class QueueInList(Queue): + participants: ParticipantInfo + + class Config: + from_attributes = True + + +class QueueInDb(Queue): + id: UUID + + class Config: + from_attributes = True diff --git a/backend/app/views/queue/services.py b/backend/app/views/queue/services.py new file mode 100644 index 0000000..f13fdba --- /dev/null +++ b/backend/app/views/queue/services.py @@ -0,0 +1,30 @@ +from fastapi import Depends +from typing import Annotated +from sqlalchemy.orm import Session + +from ...dependencies import get_db +from ...db import models + +from ..auth import services as auth_services +from ..auth import schemas as auth_schemas + +from . import schemas + + +def get_user_queues( + current_user: Annotated[auth_schemas.User, Depends(auth_services.get_current_user)] +) -> list[schemas.QueueInDb]: + return [schemas.QueueInDb.model_validate(q) for q in current_user.owns_queues] + + +def create_queue( + new_queue: schemas.Queue, + current_user: auth_schemas.UserInDB, + db: Session, +) -> schemas.QueueInDb: + q = models.Queue( + name=new_queue.name, description=new_queue.description, owner_id=current_user.id + ) + db.add(q) + db.commit() + return schemas.QueueInDb.model_validate(q) diff --git a/frontend/app/package-lock.json b/frontend/app/package-lock.json index 34da32a..a67ef3a 100644 --- a/frontend/app/package-lock.json +++ b/frontend/app/package-lock.json @@ -11,6 +11,7 @@ "@ant-design/icons": "^5.3.5", "@reduxjs/toolkit": "^2.2.2", "antd": "^5.15.4", + "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^9.1.0", @@ -3051,7 +3052,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3336,7 +3336,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -3346,8 +3345,7 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/punycode": { "version": "2.3.1", diff --git a/frontend/app/package.json b/frontend/app/package.json index a9e8f08..c389a51 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -11,6 +11,7 @@ "@ant-design/icons": "^5.3.5", "@reduxjs/toolkit": "^2.2.2", "antd": "^5.15.4", + "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^9.1.0", diff --git a/frontend/app/rsbuild.config.ts b/frontend/app/rsbuild.config.ts index 98b2860..e202dfc 100644 --- a/frontend/app/rsbuild.config.ts +++ b/frontend/app/rsbuild.config.ts @@ -1,10 +1,15 @@ -import { defineConfig } from '@rsbuild/core'; -import { pluginReact } from '@rsbuild/plugin-react'; +import { defineConfig } from "@rsbuild/core"; +import { pluginReact } from "@rsbuild/plugin-react"; export default defineConfig({ plugins: [pluginReact()], server: { - host: '0.0.0.0', + host: "0.0.0.0", port: 3000, }, + html: { + favicon: "./static/logo-square.png", + title: "queueful!", + template: "./static/index.html", + }, }); diff --git a/frontend/app/src/App.tsx b/frontend/app/src/App.tsx index 51eb2c0..ddfa0a5 100644 --- a/frontend/app/src/App.tsx +++ b/frontend/app/src/App.tsx @@ -21,8 +21,9 @@ const App = () => {
{contextHolder} - - + + +
diff --git a/frontend/app/src/components/HeaderComponent.tsx b/frontend/app/src/components/HeaderComponent.tsx index 841ee91..d3c72e2 100644 --- a/frontend/app/src/components/HeaderComponent.tsx +++ b/frontend/app/src/components/HeaderComponent.tsx @@ -1,11 +1,17 @@ -import { LogoutOutlined, UserOutlined } from "@ant-design/icons"; -import { Button, Layout, Menu, MenuProps, Popover, Tooltip } from "antd"; -import React, { useEffect, useState } from "react"; +import { + DesktopOutlined, + LogoutOutlined, + SettingOutlined, + UserOutlined, +} from "@ant-design/icons"; +import { Layout, Menu, MenuProps, Popover } from "antd"; +import React, { useState } from "react"; import AuthModal from "./AuthModal"; import "./styles.css"; import { StorePrototype, logOut, store } from "../config/store"; import { useSelector } from "react-redux"; import tr from "../config/translation"; +import { Link } from "react-router-dom"; const { Header } = Layout; @@ -20,15 +26,27 @@ const HeaderComponent = () => { ); const userMenuItems: MenuProps["items"] = [ + { + label: {tr("Settings")}, + key: "settings", + icon: , + }, { label: tr("Log out"), key: "logout", icon: , + danger: true, onClick: () => store.dispatch(logOut()), }, ]; const items: MenuProps["items"] = [ + { + label: {tr("Dashboard")}, + key: "dashboard", + icon: , + disabled: !user, + }, { label: user ? ( { +const AppRoutes = ({ children }: { children: ReactNode }) => { store.dispatch(getLocalToken()); store.dispatch(loadLanguage()); return ( + {children} - + } /> + } /> ); }; - +AppRoutes.propTypes = { + children: PropTypes.node, +}; export default AppRoutes; diff --git a/frontend/app/src/pages/DashboardPage.tsx b/frontend/app/src/pages/DashboardPage.tsx new file mode 100644 index 0000000..42bfe9a --- /dev/null +++ b/frontend/app/src/pages/DashboardPage.tsx @@ -0,0 +1,22 @@ +import React from "react"; +import "./styles.css"; +import logoSquare from "../../static/logo-square.png"; +import { Button } from "antd"; +import tr from "../config/translation"; + +const DashboardPage = () => { + return ( +
+ logo +

+ {tr("Queuing has never been so simple")} +

+
+ + +
+
+ ); +}; + +export default DashboardPage; diff --git a/frontend/app/src/pages/MainPage.tsx b/frontend/app/src/pages/MainPage.tsx index 865dd19..98096de 100644 --- a/frontend/app/src/pages/MainPage.tsx +++ b/frontend/app/src/pages/MainPage.tsx @@ -1,13 +1,13 @@ import React from "react"; import "./styles.css"; -import logoSquare from "../../static/logo-square.png"; +import logo from "../../static/logo-full.png"; import { Button } from "antd"; import tr from "../config/translation"; const MainPage = () => { return (
- logo + logo

{tr("Queuing has never been so simple")}

diff --git a/frontend/app/src/pages/styles.css b/frontend/app/src/pages/styles.css index 2eee661..7090353 100644 --- a/frontend/app/src/pages/styles.css +++ b/frontend/app/src/pages/styles.css @@ -14,7 +14,7 @@ } .image { - height: 10vw; + height: 100px; width: auto; } diff --git a/frontend/app/static/index.html b/frontend/app/static/index.html new file mode 100644 index 0000000..5139ad8 --- /dev/null +++ b/frontend/app/static/index.html @@ -0,0 +1,14 @@ + + + + + + + + +
+ + diff --git a/frontend/app/static/logo-full.png b/frontend/app/static/logo-full.png new file mode 100644 index 0000000000000000000000000000000000000000..8e363f62edf95116c7e8b77896ab5be18794fb51 GIT binary patch literal 139523 zcmY&g2RNH;_xE;bscNfg>!78S)TUNd?LA@yQ8ij(@2&JzwW3t)QG3STf>ulHO=_zk z2x9N>f4uMa{p)+K7}w*v?s4uje&=`2Em&Puj)IJyjD&=QLP7qOCJD(^C<)1h(yLd1 zH?NZp!6YPq{cR~Nt*#&~ec#^E&cf2#oP>lu(kD_}{>Ka2kJH(RLoJ7r51*tzE}PL% zI}CB$Nqd<~4RLu^yG@zE&-#QL9sv9PJ+&qOLuh%?jiP}2`xj?dW-=EaKJtyd1NrHW zcAzBq5IQH_-uLA`>n7{IkYJm*WcIRaL8oP%^W|d3=!f@RPfb;$G}oDo_pYuJxqHfw z@h6N#tEo3HUa+Q^f3&2syQyY3b_M4%%g))(u_3Ziqd>#zJ6AWm!GKHeywDq#5Wg+v z5UuyrwPfIXp_$cBt)D#L!6(LTo`sH6vxQ)*LKn4@W_hTw{=#$QE!NUckK}Kref`MG zQF1HCh^^&iLJyV1i3tW2sq{dXE{u^p_vMF`!|$gvZg$A#xxZuYD3BO|;9ERof4lix zOgc11Fy(k$xRmP8*|1tH_æB^(Pdg;3LMH-Ba%IHOIxA$pm(t_r?WCOR!F3%9d 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