From 59aa2da67177682e847c1a51b1fa3dc76c283a84 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Fri, 19 Sep 2025 00:00:33 +0500 Subject: [PATCH 01/13] feat(backend_go): init --- apps/backend_go/.env.example | 2 ++ apps/backend_go/app/config.go | 21 ++++++++++++++++ apps/backend_go/app/middlewares/fiber.go | 21 ++++++++++++++++ apps/backend_go/go.mod | 23 +++++++++++++++++ apps/backend_go/go.sum | 32 ++++++++++++++++++++++++ apps/backend_go/main.go | 25 ++++++++++++++++++ apps/backend_go/package.json | 8 ++++++ apps/caddy/Caddyfile.dev | 5 ++++ 8 files changed, 137 insertions(+) create mode 100644 apps/backend_go/.env.example create mode 100644 apps/backend_go/app/config.go create mode 100644 apps/backend_go/app/middlewares/fiber.go create mode 100644 apps/backend_go/go.mod create mode 100644 apps/backend_go/go.sum create mode 100644 apps/backend_go/main.go create mode 100644 apps/backend_go/package.json diff --git a/apps/backend_go/.env.example b/apps/backend_go/.env.example new file mode 100644 index 00000000..deabbd4e --- /dev/null +++ b/apps/backend_go/.env.example @@ -0,0 +1,2 @@ +SERVER_URL="0.0.0.0:8080" +SERVER_READ_TIMEOUT=60 diff --git a/apps/backend_go/app/config.go b/apps/backend_go/app/config.go new file mode 100644 index 00000000..df78c56d --- /dev/null +++ b/apps/backend_go/app/config.go @@ -0,0 +1,21 @@ +package config + +import ( + "os" + "strconv" + "time" + + "github.com/gofiber/fiber/v2" +) + +// FiberConfig func for configuration Fiber app. +// See: https://docs.gofiber.io/api/fiber#config +func FiberConfig() fiber.Config { + // Define server settings. + readTimeoutSecondsCount, _ := strconv.Atoi(os.Getenv("SERVER_READ_TIMEOUT")) + + // Return Fiber configuration. + return fiber.Config{ + ReadTimeout: time.Second * time.Duration(readTimeoutSecondsCount), + } +} diff --git a/apps/backend_go/app/middlewares/fiber.go b/apps/backend_go/app/middlewares/fiber.go new file mode 100644 index 00000000..ae466d44 --- /dev/null +++ b/apps/backend_go/app/middlewares/fiber.go @@ -0,0 +1,21 @@ +package fiber_middleware + +import ( + "time" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + "github.com/gofiber/fiber/v2/middleware/limiter" + "github.com/gofiber/fiber/v2/middleware/logger" +) + +func FiberMiddleware(a *fiber.App) { + a.Use( + cors.New(), + logger.New(), + limiter.New(limiter.Config{ + Expiration: 60 * time.Second, + Max: 10, + }), + ) +} diff --git a/apps/backend_go/go.mod b/apps/backend_go/go.mod new file mode 100644 index 00000000..cf17c85c --- /dev/null +++ b/apps/backend_go/go.mod @@ -0,0 +1,23 @@ +module github.com/ValoryLabs/monorepo + +go 1.25.1 + +require ( + github.com/gofiber/fiber/v2 v2.52.9 + github.com/joho/godotenv v1.5.1 +) + +require ( + github.com/andybalholm/brotli v1.2.0 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect + github.com/philhofer/fwd v1.2.0 // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/tinylib/msgp v1.4.0 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.66.0 // indirect + golang.org/x/sys v0.36.0 // indirect +) diff --git a/apps/backend_go/go.sum b/apps/backend_go/go.sum new file mode 100644 index 00000000..677e3f67 --- /dev/null +++ b/apps/backend_go/go.sum @@ -0,0 +1,32 @@ +github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= +github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/gofiber/fiber/v2 v2.52.9 h1:YjKl5DOiyP3j0mO61u3NTmK7or8GzzWzCFzkboyP5cw= +github.com/gofiber/fiber/v2 v2.52.9/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/philhofer/fwd v1.2.0 h1:e6DnBTl7vGY+Gz322/ASL4Gyp1FspeMvx1RNDoToZuM= +github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/tinylib/msgp v1.4.0 h1:SYOeDRiydzOw9kSiwdYp9UcBgPFtLU2WDHaJXyHruf8= +github.com/tinylib/msgp v1.4.0/go.mod h1:cvjFkb4RiC8qSBOPMGPSzSAx47nAsfhLVTCZZNuHv5o= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.66.0 h1:M87A0Z7EayeyNaV6pfO3tUTUiYO0dZfEJnRGXTVNuyU= +github.com/valyala/fasthttp v1.66.0/go.mod h1:Y4eC+zwoocmXSVCB1JmhNbYtS7tZPRI2ztPB72EVObs= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go new file mode 100644 index 00000000..7c60fce9 --- /dev/null +++ b/apps/backend_go/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "log" + + config "github.com/ValoryLabs/monorepo/app" + fiber_middleware "github.com/ValoryLabs/monorepo/app/middlewares" + "github.com/gofiber/fiber/v2" + + _ "github.com/joho/godotenv/autoload" // load .env file automatically +) + +func main() { + config := config.FiberConfig() + + app := fiber.New(config) + + fiber_middleware.FiberMiddleware(app) + + app.Get("/", func(c *fiber.Ctx) error { + return c.SendString("Hello, World!") + }) + + log.Fatal(app.Listen(":3000")) +} diff --git a/apps/backend_go/package.json b/apps/backend_go/package.json new file mode 100644 index 00000000..0b220a27 --- /dev/null +++ b/apps/backend_go/package.json @@ -0,0 +1,8 @@ +{ + "name": "backend_go", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "go run main.go" + } +} diff --git a/apps/caddy/Caddyfile.dev b/apps/caddy/Caddyfile.dev index ecd3c2d2..fbd1bf88 100644 --- a/apps/caddy/Caddyfile.dev +++ b/apps/caddy/Caddyfile.dev @@ -12,3 +12,8 @@ api.valory.localhost { tls internal reverse_proxy 127.0.0.1:8000 } + +go.api.valorant.localhost { + tls internal + reverse_proxy 127.0.0.1:8080 +} From d63a6491a11c4d835ba091593e4b65db2feb8b3a Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Fri, 19 Sep 2025 00:05:11 +0500 Subject: [PATCH 02/13] feat(backend_go): add StartServerWithGracefulShutdown --- apps/backend_go/app/utils/start_server.go | 44 +++++++++++++++++++++++ apps/backend_go/main.go | 5 ++- 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 apps/backend_go/app/utils/start_server.go diff --git a/apps/backend_go/app/utils/start_server.go b/apps/backend_go/app/utils/start_server.go new file mode 100644 index 00000000..6e89c7e7 --- /dev/null +++ b/apps/backend_go/app/utils/start_server.go @@ -0,0 +1,44 @@ +package utils + +import ( + "log" + "os" + "os/signal" + + "github.com/gofiber/fiber/v2" +) + +// StartServerWithGracefulShutdown function for starting server with a graceful shutdown. +func StartServerWithGracefulShutdown(a *fiber.App) { + // Create channel for idle connections. + idleConnsClosed := make(chan struct{}) + + go func() { + sigint := make(chan os.Signal, 1) + signal.Notify(sigint, os.Interrupt) // Catch OS signals. + <-sigint + + // Received an interrupt signal, shutdown. + if err := a.Shutdown(); err != nil { + // Error from closing listeners, or context timeout: + log.Printf("Oops... Server is not shutting down! Reason: %v", err) + } + + close(idleConnsClosed) + }() + + // Run server. + if err := a.Listen(os.Getenv("SERVER_URL")); err != nil { + log.Printf("Oops... Server is not running! Reason: %v", err) + } + + <-idleConnsClosed +} + +// StartServer func for starting a simple server. +func StartServer(a *fiber.App) { + // Run server. + if err := a.Listen(os.Getenv("SERVER_URL")); err != nil { + log.Printf("Oops... Server is not running! Reason: %v", err) + } +} diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go index 7c60fce9..1c4ff5fe 100644 --- a/apps/backend_go/main.go +++ b/apps/backend_go/main.go @@ -1,10 +1,9 @@ package main import ( - "log" - config "github.com/ValoryLabs/monorepo/app" fiber_middleware "github.com/ValoryLabs/monorepo/app/middlewares" + utils "github.com/ValoryLabs/monorepo/app/utils" "github.com/gofiber/fiber/v2" _ "github.com/joho/godotenv/autoload" // load .env file automatically @@ -21,5 +20,5 @@ func main() { return c.SendString("Hello, World!") }) - log.Fatal(app.Listen(":3000")) + utils.StartServer(app) } From 20573be34f798879858f759b987fa617dd1c9aea Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Fri, 19 Sep 2025 00:19:38 +0500 Subject: [PATCH 03/13] feat(backend_go): add users controller and routes --- apps/backend_go/app/controllers/users.go | 11 +++++++++ apps/backend_go/app/routes/users.go | 11 +++++++++ apps/backend_go/app/utils/start_server.go | 29 ----------------------- apps/backend_go/main.go | 3 +++ 4 files changed, 25 insertions(+), 29 deletions(-) create mode 100644 apps/backend_go/app/controllers/users.go create mode 100644 apps/backend_go/app/routes/users.go diff --git a/apps/backend_go/app/controllers/users.go b/apps/backend_go/app/controllers/users.go new file mode 100644 index 00000000..016444d2 --- /dev/null +++ b/apps/backend_go/app/controllers/users.go @@ -0,0 +1,11 @@ +package controllers + +import ( + "github.com/gofiber/fiber/v2" +) + +func GetUsers(c *fiber.Ctx) error { + return c.JSON(fiber.Map{ + "message": "Get users controller", + }) +} diff --git a/apps/backend_go/app/routes/users.go b/apps/backend_go/app/routes/users.go new file mode 100644 index 00000000..418f2f82 --- /dev/null +++ b/apps/backend_go/app/routes/users.go @@ -0,0 +1,11 @@ +package routes + +import ( + controllers "github.com/ValoryLabs/monorepo/app/controllers" + "github.com/gofiber/fiber/v2" +) + +func UsersRoutes(a *fiber.App) { + route := a.Group("/api/v1") + route.Get("/users", controllers.GetUsers) +} diff --git a/apps/backend_go/app/utils/start_server.go b/apps/backend_go/app/utils/start_server.go index 6e89c7e7..281cc385 100644 --- a/apps/backend_go/app/utils/start_server.go +++ b/apps/backend_go/app/utils/start_server.go @@ -3,39 +3,10 @@ package utils import ( "log" "os" - "os/signal" "github.com/gofiber/fiber/v2" ) -// StartServerWithGracefulShutdown function for starting server with a graceful shutdown. -func StartServerWithGracefulShutdown(a *fiber.App) { - // Create channel for idle connections. - idleConnsClosed := make(chan struct{}) - - go func() { - sigint := make(chan os.Signal, 1) - signal.Notify(sigint, os.Interrupt) // Catch OS signals. - <-sigint - - // Received an interrupt signal, shutdown. - if err := a.Shutdown(); err != nil { - // Error from closing listeners, or context timeout: - log.Printf("Oops... Server is not shutting down! Reason: %v", err) - } - - close(idleConnsClosed) - }() - - // Run server. - if err := a.Listen(os.Getenv("SERVER_URL")); err != nil { - log.Printf("Oops... Server is not running! Reason: %v", err) - } - - <-idleConnsClosed -} - -// StartServer func for starting a simple server. func StartServer(a *fiber.App) { // Run server. if err := a.Listen(os.Getenv("SERVER_URL")); err != nil { diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go index 1c4ff5fe..fa61b81c 100644 --- a/apps/backend_go/main.go +++ b/apps/backend_go/main.go @@ -3,6 +3,7 @@ package main import ( config "github.com/ValoryLabs/monorepo/app" fiber_middleware "github.com/ValoryLabs/monorepo/app/middlewares" + routes "github.com/ValoryLabs/monorepo/app/routes" utils "github.com/ValoryLabs/monorepo/app/utils" "github.com/gofiber/fiber/v2" @@ -20,5 +21,7 @@ func main() { return c.SendString("Hello, World!") }) + routes.UsersRoutes(app) + utils.StartServer(app) } From 206619c0032d46be0a6ed474e8fc22eee1ecaa93 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Fri, 19 Sep 2025 00:23:11 +0500 Subject: [PATCH 04/13] chore(backend_go): add status 200 for get users controller --- apps/backend_go/app/controllers/users.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/backend_go/app/controllers/users.go b/apps/backend_go/app/controllers/users.go index 016444d2..93e475a0 100644 --- a/apps/backend_go/app/controllers/users.go +++ b/apps/backend_go/app/controllers/users.go @@ -5,7 +5,7 @@ import ( ) func GetUsers(c *fiber.Ctx) error { - return c.JSON(fiber.Map{ + return c.Status(200).JSON(fiber.Map{ "message": "Get users controller", }) } From e3df0d1f1196c91e3384a6c58bfb0a03aab415d6 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 00:00:19 +0500 Subject: [PATCH 05/13] feat(backend_go): add huma for swagger api and add scalar for docs --- apps/backend_go/app/controllers/users.go | 32 +++++++++++++--- apps/backend_go/app/routes/users.go | 7 ++-- apps/backend_go/go.mod | 1 + apps/backend_go/go.sum | 2 + apps/backend_go/main.go | 47 ++++++++++++++++++++++-- 5 files changed, 78 insertions(+), 11 deletions(-) diff --git a/apps/backend_go/app/controllers/users.go b/apps/backend_go/app/controllers/users.go index 93e475a0..424b7f21 100644 --- a/apps/backend_go/app/controllers/users.go +++ b/apps/backend_go/app/controllers/users.go @@ -1,11 +1,33 @@ package controllers import ( - "github.com/gofiber/fiber/v2" + "context" ) -func GetUsers(c *fiber.Ctx) error { - return c.Status(200).JSON(fiber.Map{ - "message": "Get users controller", - }) +type User struct { + ID int `json:"id" example:"1" doc:"Unique user ID"` + Name string `json:"name" example:"John Doe" doc:"User name"` + Email string `json:"email" example:"john@example.com" doc:"User email"` +} + +type GetUsersOutput struct { + Body struct { + Users []User `json:"users" doc:"List of users"` + Total int `json:"total" doc:"Total number of users"` + Message string `json:"message" doc:"Status message"` + } +} + +func GetUsers(ctx context.Context, input *struct{}) (*GetUsersOutput, error) { + users := []User{ + {ID: 1, Name: "John Doe", Email: "john@example.com"}, + {ID: 2, Name: "Jane Smith", Email: "jane@example.com"}, + } + + resp := &GetUsersOutput{} + resp.Body.Users = users + resp.Body.Total = len(users) + resp.Body.Message = "Users retrieved successfully" + + return resp, nil } diff --git a/apps/backend_go/app/routes/users.go b/apps/backend_go/app/routes/users.go index 418f2f82..dab145cf 100644 --- a/apps/backend_go/app/routes/users.go +++ b/apps/backend_go/app/routes/users.go @@ -2,10 +2,11 @@ package routes import ( controllers "github.com/ValoryLabs/monorepo/app/controllers" + "github.com/danielgtaylor/huma/v2" "github.com/gofiber/fiber/v2" ) -func UsersRoutes(a *fiber.App) { - route := a.Group("/api/v1") - route.Get("/users", controllers.GetUsers) +func UsersRoutes(app *fiber.App, api huma.API) { + route := huma.NewGroup(api, "/users") + huma.Get(route, "/", controllers.GetUsers) } diff --git a/apps/backend_go/go.mod b/apps/backend_go/go.mod index cf17c85c..abc4ed78 100644 --- a/apps/backend_go/go.mod +++ b/apps/backend_go/go.mod @@ -9,6 +9,7 @@ require ( require ( github.com/andybalholm/brotli v1.2.0 // indirect + github.com/danielgtaylor/huma/v2 v2.34.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect diff --git a/apps/backend_go/go.sum b/apps/backend_go/go.sum index 677e3f67..a23b1d0e 100644 --- a/apps/backend_go/go.sum +++ b/apps/backend_go/go.sum @@ -1,5 +1,7 @@ github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/danielgtaylor/huma/v2 v2.34.1 h1:EmOJAbzEGfy0wAq/QMQ1YKfEMBEfE94xdBRLPBP0gwQ= +github.com/danielgtaylor/huma/v2 v2.34.1/go.mod h1:ynwJgLk8iGVgoaipi5tgwIQ5yoFNmiu+QdhU7CEEmhk= github.com/gofiber/fiber/v2 v2.52.9 h1:YjKl5DOiyP3j0mO61u3NTmK7or8GzzWzCFzkboyP5cw= github.com/gofiber/fiber/v2 v2.52.9/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go index fa61b81c..15aa4b7d 100644 --- a/apps/backend_go/main.go +++ b/apps/backend_go/main.go @@ -1,6 +1,8 @@ package main import ( + "os" + config "github.com/ValoryLabs/monorepo/app" fiber_middleware "github.com/ValoryLabs/monorepo/app/middlewares" routes "github.com/ValoryLabs/monorepo/app/routes" @@ -8,6 +10,9 @@ import ( "github.com/gofiber/fiber/v2" _ "github.com/joho/godotenv/autoload" // load .env file automatically + + "github.com/danielgtaylor/huma/v2" + "github.com/danielgtaylor/huma/v2/adapters/humafiber" ) func main() { @@ -17,11 +22,47 @@ func main() { fiber_middleware.FiberMiddleware(app) - app.Get("/", func(c *fiber.Ctx) error { - return c.SendString("Hello, World!") + humaConfig := huma.DefaultConfig("Valory API", "1.0.0") + humaConfig.Info.Description = "Valory API" + + humaConfig.OpenAPIPath = "/openapi" + humaConfig.DocsPath = "" + humaConfig.SchemasPath = "schemas" + + humaConfig.Servers = []*huma.Server{ + {URL: "http://" + os.Getenv("SERVER_URL") + "/", Description: "Development server"}, + } + + api := humafiber.New(app, humaConfig) + + app.Get("/ping", func(c *fiber.Ctx) error { + return c.Status(500).SendString("Pong!") + }) + + app.Get("/docs", func(c *fiber.Ctx) error { + html := ` + + + Valory API Documentation + + + + + + + + +` + c.Set("Content-Type", "text/html") + return c.SendString(html) }) - routes.UsersRoutes(app) + routes.UsersRoutes(app, api) utils.StartServer(app) } From 71ca27d340c7e2520ada7616e94bb0a95c90d5fb Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 00:06:27 +0500 Subject: [PATCH 06/13] feat(backend_go): add pong in docs --- apps/backend_go/app/controllers/ping.go | 19 +++++++++++++++++++ apps/backend_go/app/routes/ping.go | 12 ++++++++++++ apps/backend_go/main.go | 5 +---- 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 apps/backend_go/app/controllers/ping.go create mode 100644 apps/backend_go/app/routes/ping.go diff --git a/apps/backend_go/app/controllers/ping.go b/apps/backend_go/app/controllers/ping.go new file mode 100644 index 00000000..796559e4 --- /dev/null +++ b/apps/backend_go/app/controllers/ping.go @@ -0,0 +1,19 @@ +package controllers + +import ( + "context" +) + +type PingOutput struct { + Body struct { + Message string `json:"message" doc:"Pong message"` + } +} + +func Ping(ctx context.Context, input *struct{}) (*PingOutput, error) { + + resp := &PingOutput{} + resp.Body.Message = "Pong!" + + return resp, nil +} diff --git a/apps/backend_go/app/routes/ping.go b/apps/backend_go/app/routes/ping.go new file mode 100644 index 00000000..89ffea96 --- /dev/null +++ b/apps/backend_go/app/routes/ping.go @@ -0,0 +1,12 @@ +package routes + +import ( + controllers "github.com/ValoryLabs/monorepo/app/controllers" + "github.com/danielgtaylor/huma/v2" + "github.com/gofiber/fiber/v2" +) + +func PingRoutes(app *fiber.App, api huma.API) { + route := huma.NewGroup(api, "/ping") + huma.Get(route, "/", controllers.Ping) +} diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go index 15aa4b7d..ff3cbbc6 100644 --- a/apps/backend_go/main.go +++ b/apps/backend_go/main.go @@ -35,10 +35,6 @@ func main() { api := humafiber.New(app, humaConfig) - app.Get("/ping", func(c *fiber.Ctx) error { - return c.Status(500).SendString("Pong!") - }) - app.Get("/docs", func(c *fiber.Ctx) error { html := ` @@ -63,6 +59,7 @@ func main() { }) routes.UsersRoutes(app, api) + routes.PingRoutes(app, api) utils.StartServer(app) } From 3efb009a849947d869cc511ac77d2b65b8a36418 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 00:17:55 +0500 Subject: [PATCH 07/13] chore(backend-go): docs optimization --- apps/backend_go/main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/backend_go/main.go b/apps/backend_go/main.go index ff3cbbc6..0b165a2f 100644 --- a/apps/backend_go/main.go +++ b/apps/backend_go/main.go @@ -36,7 +36,7 @@ func main() { api := humafiber.New(app, humaConfig) app.Get("/docs", func(c *fiber.Ctx) error { - html := ` + var html = []byte(` Valory API Documentation @@ -53,9 +53,9 @@ func main() { data-configuration='{"theme": "alternate"}'> -` +`) c.Set("Content-Type", "text/html") - return c.SendString(html) + return c.Send(html) }) routes.UsersRoutes(app, api) From 14baef95797b28d1972453d232c75b0ca374b894 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 00:21:52 +0500 Subject: [PATCH 08/13] feat(backend-go): add air for hot reload --- apps/backend_go/.air.linux.conf | 47 +++++++++++++++++++++++++++++++ apps/backend_go/.air.windows.conf | 47 +++++++++++++++++++++++++++++++ apps/backend_go/README.md | 1 + apps/backend_go/package.json | 5 +++- 4 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 apps/backend_go/.air.linux.conf create mode 100644 apps/backend_go/.air.windows.conf create mode 100644 apps/backend_go/README.md diff --git a/apps/backend_go/.air.linux.conf b/apps/backend_go/.air.linux.conf new file mode 100644 index 00000000..2012299f --- /dev/null +++ b/apps/backend_go/.air.linux.conf @@ -0,0 +1,47 @@ +# Config file for [Air](https://github.com/air-verse/air) in TOML format + +# Working directory +# . or absolute path, please note that the directories following must be under root. +root = "." +tmp_dir = "tmp" + +[build] +# Just plain old shell command. You could use `make` as well. +cmd = "go build -o ./application ./main.go" +# Binary file yields from `cmd`. +bin = "application" +# Customize binary. +full_bin = "./application" +# Watch these filename extensions. +include_ext = ["go", "tpl", "tmpl", "html", "mustache", "hbs", "pug"] +# Ignore these filename extensions or directories. +exclude_dir = ["tmp", "vendor", "node_modules"] +# Watch these directories if you specified. +include_dir = [] +# Exclude files. +exclude_file = [] +# This log file places in your tmp_dir. +log = "air.log" +# It's not necessary to trigger build each time file changes if it's too frequent. +delay = 1000 # ms +# Stop running old binary when build errors occur. +stop_on_error = true +# Send Interrupt signal before killing process (windows does not support this feature) +send_interrupt = false +# Delay after sending Interrupt signal +kill_delay = 500 # ms + +[log] +# Show log time +time = false + +[color] +# Customize each part's color. If no color found, use the raw app log. +main = "magenta" +watcher = "cyan" +build = "yellow" +runner = "green" + +[misc] +# Delete tmp directory on exit +clean_on_exit = true diff --git a/apps/backend_go/.air.windows.conf b/apps/backend_go/.air.windows.conf new file mode 100644 index 00000000..64a7150d --- /dev/null +++ b/apps/backend_go/.air.windows.conf @@ -0,0 +1,47 @@ +# Config file for [Air](https://github.com/air-verse/air) in TOML format + +# Working directory +# . or absolute path, please note that the directories following must be under root. +root = "." +tmp_dir = "tmp" + +[build] +# Just plain old shell command. You could use `make` as well. +cmd = "go build -o ./application.exe ./main.go" +# Binary file yields from `cmd`. +bin = "application.exe" +# Customize binary. +full_bin = "application.exe" +# Watch these filename extensions. +include_ext = ["go", "tpl", "tmpl", "html", "mustache", "hbs", "pug"] +# Ignore these filename extensions or directories. +exclude_dir = ["tmp", "vendor", "node_modules"] +# Watch these directories if you specified. +include_dir = [] +# Exclude files. +exclude_file = [] +# This log file places in your tmp_dir. +log = "air.log" +# It's not necessary to trigger build each time file changes if it's too frequent. +delay = 1000 # ms +# Stop running old binary when build errors occur. +stop_on_error = true +# Send Interrupt signal before killing process (windows does not support this feature) +send_interrupt = false +# Delay after sending Interrupt signal +kill_delay = 500 # ms + +[log] +# Show log time +time = false + +[color] +# Customize each part's color. If no color found, use the raw app log. +main = "magenta" +watcher = "cyan" +build = "yellow" +runner = "green" + +[misc] +# Delete tmp directory on exit +clean_on_exit = true diff --git a/apps/backend_go/README.md b/apps/backend_go/README.md new file mode 100644 index 00000000..a39baed9 --- /dev/null +++ b/apps/backend_go/README.md @@ -0,0 +1 @@ +go install github.com/air-verse/air@latest diff --git a/apps/backend_go/package.json b/apps/backend_go/package.json index 0b220a27..8b4114ce 100644 --- a/apps/backend_go/package.json +++ b/apps/backend_go/package.json @@ -3,6 +3,9 @@ "version": "0.0.0", "private": true, "scripts": { - "dev": "go run main.go" + "dev": "go run main.go", + "build": "go build -o backend_go main.go", + "dev:linux": "air -c .air.linux.conf", + "dev:windows": "air -c .air.windows.conf" } } From cfddcddfd7ddbbea71d7d7d5b36a0f056aedd318 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 01:49:59 +0500 Subject: [PATCH 09/13] ref: change web, api directory --- apps/{backend_go => api-go}/.air.linux.conf | 0 apps/{backend_go => api-go}/.air.windows.conf | 0 apps/{backend_go => api-go}/.env.example | 0 apps/{backend_go => api-go}/README.md | 0 apps/{backend_go => api-go}/app/config.go | 0 .../app/controllers/ping.go | 0 .../app/controllers/users.go | 0 .../app/middlewares/fiber.go | 0 .../{backend_go => api-go}/app/routes/ping.go | 0 .../app/routes/users.go | 0 .../app/utils/start_server.go | 0 apps/{backend_go => api-go}/go.mod | 0 apps/{backend_go => api-go}/go.sum | 0 apps/{backend_go => api-go}/main.go | 0 apps/{backend_go => api-go}/package.json | 2 +- apps/{backend => api}/.python-version | 0 apps/{backend => api}/Dockerfile | 0 apps/{backend => api}/README.md | 0 apps/{backend => api}/alembic.ini | 0 apps/{backend => api}/app/__init__.py | 0 apps/{backend => api}/app/config.py | 0 apps/{backend => api}/app/dao/base.py | 0 apps/{backend => api}/app/dao/overlays.py | 0 apps/{backend => api}/app/dao/users.py | 0 apps/{backend => api}/app/db/__init__.py | 0 apps/{backend => api}/app/db/database.py | 0 apps/{backend => api}/app/db/redis.py | 0 .../app/middlewares/__init__.py | 0 .../app/middlewares/permormance.py | 0 apps/{backend => api}/app/migrations/README | 0 .../app/migrations/__init__.py | 0 apps/{backend => api}/app/migrations/env.py | 0 .../app/migrations/script.py.mako | 0 .../app/migrations/versions/3721e17267b0_.py | 0 .../app/migrations/versions/b5571133c972_.py | 0 apps/{backend => api}/app/models/__init__.py | 0 apps/{backend => api}/app/models/overlays.py | 0 apps/{backend => api}/app/models/users.py | 0 apps/{backend => api}/app/routers/__init__.py | 0 apps/{backend => api}/app/routers/auth.py | 0 apps/{backend => api}/app/routers/overlays.py | 0 .../{backend => api}/app/routers/streamers.py | 0 apps/{backend => api}/app/routers/users.py | 0 apps/{backend => api}/app/routers/utils.py | 0 apps/{backend => api}/app/schedule.py | 0 apps/{backend => api}/app/schemas/__init__.py | 0 apps/{backend => api}/app/schemas/overlays.py | 0 .../{backend => api}/app/schemas/streamers.py | 0 apps/{backend => api}/app/schemas/twitch.py | 0 apps/{backend => api}/app/schemas/users.py | 0 apps/{backend => api}/app/utils/__init__.py | 0 apps/{backend => api}/app/utils/auth.py | 0 .../app/utils/twitch_client.py | 0 apps/{backend => api}/main.py | 0 apps/{backend => api}/package.json | 4 ++-- apps/{backend => api}/pyproject.toml | 0 apps/{backend => api}/requirements.txt | 0 apps/{frontend => web}/.env.example | 0 apps/{frontend => web}/.prettierignore | 0 apps/{frontend => web}/.prettierrc.json | 0 apps/{frontend => web}/Dockerfile | 0 apps/{frontend => web}/components.json | 0 apps/{frontend => web}/env.d.ts | 0 apps/{frontend => web}/eslint.config.ts | 0 apps/{frontend => web}/index.html | 0 apps/{frontend => web}/package.json | 2 +- .../{frontend => web}/public/auth/signin.webp | Bin apps/{frontend => web}/public/favicon.ico | Bin apps/{frontend => web}/public/home/noise.webp | Bin .../public/home/previews/dashboard.webp | Bin .../public/home/previews/spotify.webp | Bin .../public/home/previews/valorant.webp | Bin apps/{frontend => web}/public/meta.webp | Bin .../public/previews/abyss.webp | Bin .../public/previews/ascent.webp | Bin .../public/previews/bind.webp | Bin .../public/previews/breeze.webp | Bin .../public/previews/corrode.webp | Bin .../public/previews/fracture.webp | Bin .../public/previews/haven.webp | Bin .../public/previews/icebox.webp | Bin .../public/previews/lotus.webp | Bin .../public/previews/pearl.webp | Bin .../public/previews/split.webp | Bin .../public/previews/spotify.webp | Bin .../public/previews/sunset.webp | Bin apps/{frontend => web}/public/ranks/10.webp | Bin apps/{frontend => web}/public/ranks/11.webp | Bin apps/{frontend => web}/public/ranks/12.webp | Bin apps/{frontend => web}/public/ranks/13.webp | Bin apps/{frontend => web}/public/ranks/14.webp | Bin apps/{frontend => web}/public/ranks/15.webp | Bin apps/{frontend => web}/public/ranks/16.webp | Bin apps/{frontend => web}/public/ranks/17.webp | Bin apps/{frontend => web}/public/ranks/18.webp | Bin apps/{frontend => web}/public/ranks/19.webp | Bin apps/{frontend => web}/public/ranks/20.webp | Bin apps/{frontend => web}/public/ranks/21.webp | Bin apps/{frontend => web}/public/ranks/22.webp | Bin apps/{frontend => web}/public/ranks/23.webp | Bin apps/{frontend => web}/public/ranks/24.webp | Bin apps/{frontend => web}/public/ranks/25.webp | Bin apps/{frontend => web}/public/ranks/26.webp | Bin apps/{frontend => web}/public/ranks/27.webp | Bin apps/{frontend => web}/public/ranks/3.webp | Bin apps/{frontend => web}/public/ranks/4.webp | Bin apps/{frontend => web}/public/ranks/5.webp | Bin apps/{frontend => web}/public/ranks/6.webp | Bin apps/{frontend => web}/public/ranks/7.webp | Bin apps/{frontend => web}/public/ranks/8.webp | Bin apps/{frontend => web}/public/ranks/9.webp | Bin .../public/ranks/Unranked.webp | Bin apps/{frontend => web}/public/robots.txt | 0 .../public/twitch_avatar.webp | Bin .../valorant/overlay_previews/minimal.webp | Bin .../public/valorant/overlay_previews/new.webp | Bin .../valorant/overlay_previews/new_v2.webp | Bin .../public/valorant/overlay_previews/old.webp | Bin .../settings/preview_thumbnails/abyss.webp | Bin .../settings/preview_thumbnails/ascent.webp | Bin .../settings/preview_thumbnails/bind.webp | Bin .../settings/preview_thumbnails/breeze.webp | Bin .../settings/preview_thumbnails/corrode.webp | Bin .../settings/preview_thumbnails/fracture.webp | Bin .../settings/preview_thumbnails/haven.webp | Bin .../settings/preview_thumbnails/icebox.webp | Bin .../settings/preview_thumbnails/lotus.webp | Bin .../settings/preview_thumbnails/pearl.webp | Bin .../settings/preview_thumbnails/split.webp | Bin .../settings/preview_thumbnails/sunset.webp | Bin apps/{frontend => web}/src/App.vue | 0 .../src/api/backend-openapi.ts | 0 apps/{frontend => web}/src/api/codegen-api.ts | 0 .../src/api/henrikdev-openapi.ts | 0 apps/{frontend => web}/src/assets/main.css | 0 .../configuration-page/home/HeroText.vue | 0 .../home/features-avatar/FeaturesAvatar.vue | 0 .../features-avatar/FeaturesAvatarGroup.vue | 0 .../home/features-avatar/index.ts | 0 .../home/features-cards/FeaturesCard.vue | 0 .../home/features-cards/FeaturesCardBadge.vue | 0 .../features-cards/FeaturesCardSection.vue | 0 .../home/features-cards/index.ts | 0 .../features/configuration-page/home/index.ts | 0 .../left-sidebar/LeftSidebar.vue | 0 .../configuration-page/left-sidebar/index.ts | 0 .../left-sidebar/navigation/Navigation.vue | 0 .../navigation/NavigationLink.vue | 0 .../navigation/NavigationTitle.vue | 0 .../left-sidebar/navigation/index.ts | 0 .../profile-menu/LanguageSelector.vue | 0 .../left-sidebar/profile-menu/ProfileMenu.vue | 0 .../left-sidebar/profile-menu/UserAvatar.vue | 0 .../left-sidebar/profile-menu/UserBio.vue | 0 .../left-sidebar/profile-menu/index.ts | 0 .../settings/MiscTab/MiscTab.vue | 0 .../settings/MiscTab/index.ts | 0 .../settings/PersonalTab/PersonalTab.vue | 0 .../settings/PersonalTab/index.ts | 0 .../configuration-page/settings/Settings.vue | 0 .../settings/SpotifyTab/SpotifyTab.vue | 0 .../settings/SpotifyTab/index.ts | 0 .../settings/ValorantTab/ValorantTab.vue | 0 .../settings/ValorantTab/index.ts | 0 .../settings/ValorantTab/preview/Preview.vue | 0 .../ValorantTab/preview/PreviewHeader.vue | 0 .../ValorantTab/preview/PreviewRoot.vue | 0 .../settings/ValorantTab/preview/index.ts | 0 .../settings/ValorantTab/profile/Profile.vue | 0 .../ValorantTab/profile/ProfileHeader.vue | 0 .../ValorantTab/profile/ProfileRoot.vue | 0 .../ValorantTab/profile/ProfileSection.vue | 0 .../settings/ValorantTab/profile/index.ts | 0 .../configuration-page/settings/index.ts | 0 .../configuration-page/spotify/Overlay.vue | 0 .../spotify/content/Content.vue | 0 .../spotify/content/Preview.vue | 0 .../spotify/content/index.ts | 0 .../configuration-page/spotify/index.ts | 0 .../spotify/right-sidebar/Generate.vue | 0 .../spotify/right-sidebar/RightSidebar.vue | 0 .../configuration/Configuration.vue | 0 .../configuration/ConfigurationContent.vue | 0 .../configuration/ConfigurationLabel.vue | 0 .../configuration/ConfigurationRoot.vue | 0 .../configuration/ConfigurationSection.vue | 0 .../right-sidebar/configuration/index.ts | 0 .../spotify/right-sidebar/index.ts | 0 .../configuration-page/valorant/Overlay.vue | 0 .../valorant/content/Content.vue | 0 .../valorant/content/Panel.vue | 0 .../valorant/content/Preview.vue | 0 .../valorant/content/index.ts | 0 .../configuration-page/valorant/index.ts | 0 .../valorant/right-sidebar/Generate.vue | 0 .../valorant/right-sidebar/RightSidebar.vue | 0 .../configuration/Configuration.vue | 0 .../configuration/ConfigurationContent.vue | 0 .../configuration/ConfigurationLabel.vue | 0 .../configuration/ConfigurationRoot.vue | 0 .../configuration/ConfigurationSection.vue | 0 .../right-sidebar/configuration/index.ts | 0 .../valorant/right-sidebar/index.ts | 0 .../components/features/home-page/Footer.vue | 0 .../features/home-page/GetStarted.vue | 0 .../components/features/home-page/Header.vue | 0 .../components/features/home-page/Hero.vue | 0 .../home-page/LoginOrConfigurator.vue | 0 .../features/home-page/OpenSource.vue | 0 .../components/features/home-page/Preview.vue | 0 .../home-page/Streamers/StreamersCard.vue | 0 .../home-page/Streamers/StreamersCardMock.vue | 0 .../Streamers/StreamersCardSkeleton.vue | 0 .../home-page/Streamers/StreamersMarquee.vue | 0 .../Streamers/StreamersMarquee5lim.vue | 0 .../home-page/Streamers/StreamersSection.vue | 0 .../features/home-page/Streamers/index.ts | 0 .../components/features/home-page/index.ts | 0 .../overlays/spotify/DefaultOverlay.vue | 0 .../features/overlays/spotify/index.ts | 0 .../features/overlays/spotify/types.ts | 0 .../overlays/valorant/MiniOverlay.vue | 0 .../features/overlays/valorant/NewOverlay.vue | 0 .../overlays/valorant/NewV2Overlay.vue | 0 .../features/overlays/valorant/OldOverlay.vue | 0 .../features/overlays/valorant/index.ts | 0 .../src/components/shared/icons/games/CS2.vue | 0 .../shared/icons/games/Fortnite.vue | 0 .../shared/icons/games/Valorant.vue | 0 .../src/components/shared/icons/index.ts | 0 .../shared/icons/motion-grid/Loading.vue | 0 .../shared/icons/motion-grid/index.ts | 0 .../components/shared/icons/other/Hearts.vue | 0 .../shared/icons/other/TwitchVerify.vue | 0 .../components/shared/icons/other/Valory.vue | 0 .../shared/icons/other/ValoryOutline.vue | 0 .../components/shared/icons/other/reset.vue | 0 .../shared/icons/socials/Discord.vue | 0 .../shared/icons/socials/Github.vue | 0 .../components/shared/icons/socials/Kick.vue | 0 .../components/shared/icons/socials/Riot.vue | 0 .../shared/icons/socials/Spotify.vue | 0 .../shared/icons/socials/Telegram.vue | 0 .../shared/icons/socials/Twitch.vue | 0 .../shared/icons/socials/YouTube.vue | 0 .../shared/icons/socials/full/Kick.vue | 0 .../shared/icons/socials/full/Twitch.vue | 0 .../shared/icons/socials/full/YouTube.vue | 0 .../shared/icons/streamersapps/obs.vue | 0 .../shared/icons/streamersapps/streamlabs.vue | 0 .../shared/icons/streamersapps/xsplit.vue | 0 .../ui/ContainerScroll/ContainerScroll.vue | 0 .../ContainerScroll/ContainerScrollCard.vue | 0 .../ContainerScroll/ContainerScrollTitle.vue | 0 .../src/components/ui/InputWithIcon.vue | 0 .../src/components/ui/LanguageSwitcher.vue | 0 .../src/components/ui/LinkPreview.vue | 0 .../src/components/ui/Marquee.vue | 0 .../src/components/ui/MotionGrid.vue | 0 .../src/components/ui/Noise.vue | 0 .../src/components/ui/ParticlesBg.vue | 0 .../src/components/ui/RotatingText.vue | 0 .../src/components/ui/SelectFont.vue | 0 .../src/components/ui/SelectLayout.vue | 0 .../src/components/ui/ShowShortcuts.vue | 0 .../src/components/ui/Sparkles.vue | 0 .../src/components/ui/TiltCard.vue | 0 .../src/components/ui/accordion/Accordion.vue | 0 .../ui/accordion/AccordionContent.vue | 0 .../components/ui/accordion/AccordionItem.vue | 0 .../ui/accordion/AccordionTrigger.vue | 0 .../src/components/ui/accordion/index.ts | 0 .../src/components/ui/background/DarkVeil.vue | 0 .../src/components/ui/background/index.ts | 0 .../src/components/ui/button/Button.vue | 0 .../ui/button/InteractiveHoverButton.vue | 0 .../src/components/ui/button/index.ts | 0 .../ui/color-picker/ColorPicker.vue | 0 .../ui/color-picker/ColorPickerAlpha.vue | 0 .../ui/color-picker/ColorPickerEyeDropper.vue | 0 .../ui/color-picker/ColorPickerHue.vue | 0 .../ui/color-picker/ColorPickerInputs.vue | 0 .../ui/color-picker/ColorPickerPresets.vue | 0 .../ui/color-picker/ColorPickerSaturation.vue | 0 .../src/components/ui/color-picker/index.ts | 0 .../src/components/ui/content/Content.vue | 0 .../ui/content/ContentContainer.vue | 0 .../components/ui/content/ContentHeader.vue | 0 .../ui/content/ContentPageLastMod.vue | 0 .../ui/content/ContentPageTitle.vue | 0 .../ui/content/ContentParagraph.vue | 0 .../ui/content/ContentParagraphTitle.vue | 0 .../src/components/ui/content/index.ts | 0 .../src/components/ui/dialog/Dialog.vue | 0 .../src/components/ui/dialog/DialogClose.vue | 0 .../components/ui/dialog/DialogContent.vue | 0 .../ui/dialog/DialogDescription.vue | 0 .../src/components/ui/dialog/DialogFooter.vue | 0 .../src/components/ui/dialog/DialogHeader.vue | 0 .../components/ui/dialog/DialogOverlay.vue | 0 .../ui/dialog/DialogScrollContent.vue | 0 .../src/components/ui/dialog/DialogTitle.vue | 0 .../components/ui/dialog/DialogTrigger.vue | 0 .../src/components/ui/dialog/index.ts | 0 .../ui/dropdown-menu/DropdownMenu.vue | 0 .../DropdownMenuCheckboxItem.vue | 0 .../ui/dropdown-menu/DropdownMenuContent.vue | 0 .../ui/dropdown-menu/DropdownMenuGroup.vue | 0 .../ui/dropdown-menu/DropdownMenuItem.vue | 0 .../ui/dropdown-menu/DropdownMenuLabel.vue | 0 .../dropdown-menu/DropdownMenuRadioGroup.vue | 0 .../dropdown-menu/DropdownMenuRadioItem.vue | 0 .../dropdown-menu/DropdownMenuSeparator.vue | 0 .../ui/dropdown-menu/DropdownMenuShortcut.vue | 0 .../ui/dropdown-menu/DropdownMenuSub.vue | 0 .../dropdown-menu/DropdownMenuSubContent.vue | 0 .../dropdown-menu/DropdownMenuSubTrigger.vue | 0 .../ui/dropdown-menu/DropdownMenuTrigger.vue | 0 .../src/components/ui/dropdown-menu/index.ts | 0 .../components/ui/hover-card/HoverCard.vue | 0 .../ui/hover-card/HoverCardContent.vue | 0 .../ui/hover-card/HoverCardTrigger.vue | 0 .../src/components/ui/hover-card/index.ts | 0 .../src/components/ui/index.ts | 0 .../src/components/ui/input/Input.vue | 0 .../src/components/ui/input/index.ts | 0 .../src/components/ui/kbd/index.ts | 0 .../src/components/ui/kbd/kbd.vue | 0 .../src/components/ui/label/Label.vue | 0 .../src/components/ui/label/index.ts | 0 .../src/components/ui/popover/Popover.vue | 0 .../components/ui/popover/PopoverAnchor.vue | 0 .../components/ui/popover/PopoverContent.vue | 0 .../components/ui/popover/PopoverTrigger.vue | 0 .../src/components/ui/popover/index.ts | 0 .../src/components/ui/select/Select.vue | 0 .../components/ui/select/SelectContent.vue | 0 .../src/components/ui/select/SelectGroup.vue | 0 .../src/components/ui/select/SelectItem.vue | 0 .../components/ui/select/SelectItemText.vue | 0 .../src/components/ui/select/SelectLabel.vue | 0 .../ui/select/SelectScrollDownButton.vue | 0 .../ui/select/SelectScrollUpButton.vue | 0 .../components/ui/select/SelectSeparator.vue | 0 .../components/ui/select/SelectTrigger.vue | 0 .../src/components/ui/select/SelectValue.vue | 0 .../src/components/ui/select/index.ts | 0 .../src/components/ui/separator/Separator.vue | 0 .../src/components/ui/separator/index.ts | 0 .../src/components/ui/skeleton/Skeleton.vue | 0 .../src/components/ui/skeleton/index.ts | 0 .../src/components/ui/slider/Slider.vue | 0 .../src/components/ui/slider/index.ts | 0 .../src/components/ui/stepper/Stepper.vue | 0 .../ui/stepper/StepperDescription.vue | 0 .../ui/stepper/StepperIndicator.vue | 0 .../src/components/ui/stepper/StepperItem.vue | 0 .../ui/stepper/StepperSeparator.vue | 0 .../components/ui/stepper/StepperTitle.vue | 0 .../components/ui/stepper/StepperTrigger.vue | 0 .../src/components/ui/stepper/index.ts | 0 .../ui/switch-toggle/SwitchToggle.vue | 0 .../src/components/ui/switch-toggle/index.ts | 0 .../src/components/ui/switch/Switch.vue | 0 .../src/components/ui/switch/index.ts | 0 .../src/components/ui/tabs/Tabs.vue | 0 .../src/components/ui/tabs/TabsContent.vue | 0 .../src/components/ui/tabs/TabsList.vue | 0 .../src/components/ui/tabs/TabsTrigger.vue | 0 .../src/components/ui/tabs/index.ts | 0 .../src/components/ui/tooltip/Tooltip.vue | 0 .../components/ui/tooltip/TooltipContent.vue | 0 .../components/ui/tooltip/TooltipProvider.vue | 0 .../components/ui/tooltip/TooltipTrigger.vue | 0 .../src/components/ui/tooltip/index.ts | 0 .../src/composables/index.ts | 0 .../src/composables/useConfetti.ts | 0 .../src/composables/useGitHubExtractor.ts | 0 .../src/composables/useMMRUpdater.ts | 0 .../src/composables/useMetaExtractor.ts | 0 .../src/composables/useOverlayData.ts | 0 .../src/composables/useOverlayScheduler.ts | 0 .../src/data/ConfiguratorNav.data.ts | 0 .../src/data/FooterNav.data.ts | 0 .../src/data/HeaderNav.data.ts | 0 .../src/data/PreviewTabs.data.ts | 0 .../src/data/SocialLinks.data.ts | 0 apps/{frontend => web}/src/data/index.ts | 0 apps/{frontend => web}/src/i18n/i18n.ts | 0 apps/{frontend => web}/src/i18n/index.ts | 0 .../src/i18n/locales/en.json | 0 .../src/i18n/locales/ru.json | 0 .../src/layouts/ConfiguratorLayout.vue | 0 .../src/layouts/DefaultLayout.vue | 0 apps/{frontend => web}/src/layouts/index.ts | 0 apps/{frontend => web}/src/lib/utils.ts | 0 apps/{frontend => web}/src/main.ts | 0 apps/{frontend => web}/src/pages/Callback.vue | 0 apps/{frontend => web}/src/pages/Home.vue | 0 apps/{frontend => web}/src/pages/NotFound.vue | 0 .../src/pages/NotSupported.vue | 0 apps/{frontend => web}/src/pages/Overlay.vue | 0 apps/{frontend => web}/src/pages/SignIn.vue | 0 .../src/pages/TermsOfService.vue | 0 .../src/pages/configurator/Home.vue | 0 .../src/pages/configurator/Settings.vue | 0 .../src/pages/configurator/Spotify.vue | 0 .../src/pages/configurator/Valorant.vue | 0 .../src/pages/configurator/index.ts | 0 apps/{frontend => web}/src/pages/index.ts | 0 apps/{frontend => web}/src/router/index.ts | 0 .../src/services/auth/user.validator.ts | 0 .../{frontend => web}/src/services/backend.ts | 0 apps/{frontend => web}/src/services/index.ts | 0 .../src/services/leaderboard.ts | 0 .../src/services/playerInformation.ts | 0 apps/{frontend => web}/src/stores/index.ts | 0 .../stores/overlays/useSpotifyOverlayStore.ts | 0 .../overlays/useValorantOverlayStore.ts | 0 .../src/stores/useAuthStore.ts | 0 .../src/stores/useSettingsStore.ts | 0 .../src/stores/useStreamersStore.ts | 0 .../src/stores/useUserStore.ts | 0 .../src/stores/useValorantStore.ts | 0 apps/{frontend => web}/tsconfig.app.json | 0 apps/{frontend => web}/tsconfig.json | 0 apps/{frontend => web}/tsconfig.node.json | 0 apps/{frontend => web}/vite.config.ts | 0 bun.lock | 22 +++++++++++------- 429 files changed, 18 insertions(+), 12 deletions(-) rename apps/{backend_go => api-go}/.air.linux.conf (100%) rename apps/{backend_go => api-go}/.air.windows.conf (100%) rename apps/{backend_go => api-go}/.env.example (100%) rename apps/{backend_go => api-go}/README.md (100%) rename apps/{backend_go => api-go}/app/config.go (100%) rename apps/{backend_go => api-go}/app/controllers/ping.go (100%) rename apps/{backend_go => api-go}/app/controllers/users.go (100%) rename apps/{backend_go => api-go}/app/middlewares/fiber.go (100%) rename apps/{backend_go => api-go}/app/routes/ping.go (100%) rename apps/{backend_go => api-go}/app/routes/users.go (100%) rename apps/{backend_go => api-go}/app/utils/start_server.go (100%) rename apps/{backend_go => api-go}/go.mod (100%) rename apps/{backend_go => api-go}/go.sum (100%) rename apps/{backend_go => api-go}/main.go (100%) rename apps/{backend_go => api-go}/package.json (90%) rename apps/{backend => api}/.python-version (100%) rename apps/{backend => api}/Dockerfile (100%) rename apps/{backend => api}/README.md (100%) rename apps/{backend => api}/alembic.ini (100%) rename apps/{backend => api}/app/__init__.py (100%) rename apps/{backend => api}/app/config.py (100%) rename apps/{backend => api}/app/dao/base.py (100%) rename apps/{backend => api}/app/dao/overlays.py (100%) rename apps/{backend => api}/app/dao/users.py (100%) rename apps/{backend => api}/app/db/__init__.py (100%) rename apps/{backend => api}/app/db/database.py (100%) rename apps/{backend => api}/app/db/redis.py (100%) rename apps/{backend => api}/app/middlewares/__init__.py (100%) rename apps/{backend => api}/app/middlewares/permormance.py (100%) rename apps/{backend => api}/app/migrations/README (100%) rename apps/{backend => api}/app/migrations/__init__.py (100%) rename apps/{backend => api}/app/migrations/env.py (100%) rename apps/{backend => api}/app/migrations/script.py.mako (100%) rename apps/{backend => api}/app/migrations/versions/3721e17267b0_.py (100%) rename apps/{backend => api}/app/migrations/versions/b5571133c972_.py (100%) rename apps/{backend => api}/app/models/__init__.py (100%) rename apps/{backend => api}/app/models/overlays.py (100%) rename apps/{backend => api}/app/models/users.py (100%) rename apps/{backend => api}/app/routers/__init__.py (100%) rename apps/{backend => api}/app/routers/auth.py (100%) rename apps/{backend => api}/app/routers/overlays.py (100%) rename apps/{backend => api}/app/routers/streamers.py (100%) rename apps/{backend => api}/app/routers/users.py (100%) rename apps/{backend => api}/app/routers/utils.py (100%) rename apps/{backend => api}/app/schedule.py (100%) rename apps/{backend => api}/app/schemas/__init__.py (100%) rename apps/{backend => api}/app/schemas/overlays.py (100%) rename apps/{backend => api}/app/schemas/streamers.py (100%) rename apps/{backend => api}/app/schemas/twitch.py (100%) rename apps/{backend => api}/app/schemas/users.py (100%) rename apps/{backend => api}/app/utils/__init__.py (100%) rename apps/{backend => api}/app/utils/auth.py (100%) rename apps/{backend => api}/app/utils/twitch_client.py (100%) rename apps/{backend => api}/main.py (100%) rename apps/{backend => api}/package.json (50%) rename apps/{backend => api}/pyproject.toml (100%) rename apps/{backend => api}/requirements.txt (100%) rename apps/{frontend => web}/.env.example (100%) rename apps/{frontend => web}/.prettierignore (100%) rename apps/{frontend => web}/.prettierrc.json (100%) rename apps/{frontend => web}/Dockerfile (100%) rename apps/{frontend => web}/components.json (100%) rename apps/{frontend => web}/env.d.ts (100%) rename apps/{frontend => web}/eslint.config.ts (100%) rename apps/{frontend => web}/index.html (100%) rename apps/{frontend => web}/package.json (99%) rename apps/{frontend => web}/public/auth/signin.webp (100%) rename apps/{frontend => web}/public/favicon.ico (100%) rename apps/{frontend => web}/public/home/noise.webp (100%) rename apps/{frontend => web}/public/home/previews/dashboard.webp (100%) rename apps/{frontend => web}/public/home/previews/spotify.webp (100%) rename apps/{frontend => web}/public/home/previews/valorant.webp (100%) rename apps/{frontend => web}/public/meta.webp (100%) rename apps/{frontend => web}/public/previews/abyss.webp (100%) rename apps/{frontend => web}/public/previews/ascent.webp (100%) rename apps/{frontend => web}/public/previews/bind.webp (100%) rename apps/{frontend => web}/public/previews/breeze.webp (100%) rename apps/{frontend => web}/public/previews/corrode.webp (100%) rename apps/{frontend => web}/public/previews/fracture.webp (100%) rename apps/{frontend => web}/public/previews/haven.webp (100%) rename apps/{frontend => web}/public/previews/icebox.webp (100%) rename apps/{frontend => web}/public/previews/lotus.webp (100%) rename apps/{frontend => web}/public/previews/pearl.webp (100%) rename apps/{frontend => web}/public/previews/split.webp (100%) rename apps/{frontend => web}/public/previews/spotify.webp (100%) rename apps/{frontend => web}/public/previews/sunset.webp (100%) rename apps/{frontend => web}/public/ranks/10.webp (100%) rename apps/{frontend => web}/public/ranks/11.webp (100%) rename apps/{frontend => web}/public/ranks/12.webp (100%) rename apps/{frontend => web}/public/ranks/13.webp (100%) rename apps/{frontend => web}/public/ranks/14.webp (100%) rename apps/{frontend => web}/public/ranks/15.webp (100%) rename apps/{frontend => web}/public/ranks/16.webp (100%) rename apps/{frontend => web}/public/ranks/17.webp (100%) rename apps/{frontend => web}/public/ranks/18.webp (100%) rename apps/{frontend => web}/public/ranks/19.webp (100%) rename apps/{frontend => web}/public/ranks/20.webp (100%) rename apps/{frontend => web}/public/ranks/21.webp (100%) rename apps/{frontend => web}/public/ranks/22.webp (100%) rename apps/{frontend => web}/public/ranks/23.webp (100%) rename apps/{frontend => web}/public/ranks/24.webp (100%) rename apps/{frontend => web}/public/ranks/25.webp (100%) rename apps/{frontend => web}/public/ranks/26.webp (100%) rename apps/{frontend => web}/public/ranks/27.webp (100%) rename apps/{frontend => web}/public/ranks/3.webp (100%) rename apps/{frontend => web}/public/ranks/4.webp (100%) rename apps/{frontend => web}/public/ranks/5.webp (100%) rename apps/{frontend => web}/public/ranks/6.webp (100%) rename apps/{frontend => web}/public/ranks/7.webp (100%) rename apps/{frontend => web}/public/ranks/8.webp (100%) rename apps/{frontend => web}/public/ranks/9.webp (100%) rename apps/{frontend => web}/public/ranks/Unranked.webp (100%) rename apps/{frontend => web}/public/robots.txt (100%) rename apps/{frontend => web}/public/twitch_avatar.webp (100%) rename apps/{frontend => web}/public/valorant/overlay_previews/minimal.webp (100%) rename apps/{frontend => web}/public/valorant/overlay_previews/new.webp (100%) rename apps/{frontend => web}/public/valorant/overlay_previews/new_v2.webp (100%) rename apps/{frontend => web}/public/valorant/overlay_previews/old.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/abyss.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/ascent.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/bind.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/breeze.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/corrode.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/fracture.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/haven.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/icebox.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/lotus.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/pearl.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/split.webp (100%) rename apps/{frontend => web}/public/valorant/settings/preview_thumbnails/sunset.webp (100%) rename apps/{frontend => web}/src/App.vue (100%) rename apps/{frontend => web}/src/api/backend-openapi.ts (100%) rename apps/{frontend => web}/src/api/codegen-api.ts (100%) rename apps/{frontend => web}/src/api/henrikdev-openapi.ts (100%) rename apps/{frontend => web}/src/assets/main.css (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/HeroText.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-avatar/FeaturesAvatar.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-avatar/FeaturesAvatarGroup.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-avatar/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-cards/FeaturesCard.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-cards/FeaturesCardBadge.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-cards/FeaturesCardSection.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/features-cards/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/home/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/LeftSidebar.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/navigation/Navigation.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/navigation/NavigationLink.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/navigation/NavigationTitle.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/navigation/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/profile-menu/LanguageSelector.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/profile-menu/ProfileMenu.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/profile-menu/UserAvatar.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/profile-menu/UserBio.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/left-sidebar/profile-menu/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/MiscTab/MiscTab.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/MiscTab/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/PersonalTab/PersonalTab.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/PersonalTab/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/Settings.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/SpotifyTab/SpotifyTab.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/SpotifyTab/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/ValorantTab.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/preview/Preview.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewHeader.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewRoot.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/preview/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/profile/Profile.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileHeader.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileRoot.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileSection.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/ValorantTab/profile/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/settings/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/Overlay.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/content/Content.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/content/Preview.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/content/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/Generate.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/RightSidebar.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/Configuration.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationContent.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationLabel.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationRoot.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationSection.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/configuration/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/spotify/right-sidebar/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/Overlay.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/content/Content.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/content/Panel.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/content/Preview.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/content/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/Generate.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/RightSidebar.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/Configuration.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationContent.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationLabel.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationRoot.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationSection.vue (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/configuration/index.ts (100%) rename apps/{frontend => web}/src/components/features/configuration-page/valorant/right-sidebar/index.ts (100%) rename apps/{frontend => web}/src/components/features/home-page/Footer.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/GetStarted.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Header.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Hero.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/LoginOrConfigurator.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/OpenSource.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Preview.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersCard.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersCardMock.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersCardSkeleton.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersMarquee.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersMarquee5lim.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/StreamersSection.vue (100%) rename apps/{frontend => web}/src/components/features/home-page/Streamers/index.ts (100%) rename apps/{frontend => web}/src/components/features/home-page/index.ts (100%) rename apps/{frontend => web}/src/components/features/overlays/spotify/DefaultOverlay.vue (100%) rename apps/{frontend => web}/src/components/features/overlays/spotify/index.ts (100%) rename apps/{frontend => web}/src/components/features/overlays/spotify/types.ts (100%) rename apps/{frontend => web}/src/components/features/overlays/valorant/MiniOverlay.vue (100%) rename apps/{frontend => web}/src/components/features/overlays/valorant/NewOverlay.vue (100%) rename apps/{frontend => web}/src/components/features/overlays/valorant/NewV2Overlay.vue (100%) rename apps/{frontend => web}/src/components/features/overlays/valorant/OldOverlay.vue (100%) rename apps/{frontend => web}/src/components/features/overlays/valorant/index.ts (100%) rename apps/{frontend => web}/src/components/shared/icons/games/CS2.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/games/Fortnite.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/games/Valorant.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/index.ts (100%) rename apps/{frontend => web}/src/components/shared/icons/motion-grid/Loading.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/motion-grid/index.ts (100%) rename apps/{frontend => web}/src/components/shared/icons/other/Hearts.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/other/TwitchVerify.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/other/Valory.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/other/ValoryOutline.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/other/reset.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Discord.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Github.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Kick.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Riot.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Spotify.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Telegram.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/Twitch.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/YouTube.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/full/Kick.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/full/Twitch.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/socials/full/YouTube.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/streamersapps/obs.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/streamersapps/streamlabs.vue (100%) rename apps/{frontend => web}/src/components/shared/icons/streamersapps/xsplit.vue (100%) rename apps/{frontend => web}/src/components/ui/ContainerScroll/ContainerScroll.vue (100%) rename apps/{frontend => web}/src/components/ui/ContainerScroll/ContainerScrollCard.vue (100%) rename apps/{frontend => web}/src/components/ui/ContainerScroll/ContainerScrollTitle.vue (100%) rename apps/{frontend => web}/src/components/ui/InputWithIcon.vue (100%) rename apps/{frontend => web}/src/components/ui/LanguageSwitcher.vue (100%) rename apps/{frontend => web}/src/components/ui/LinkPreview.vue (100%) rename apps/{frontend => web}/src/components/ui/Marquee.vue (100%) rename apps/{frontend => web}/src/components/ui/MotionGrid.vue (100%) rename apps/{frontend => web}/src/components/ui/Noise.vue (100%) rename apps/{frontend => web}/src/components/ui/ParticlesBg.vue (100%) rename apps/{frontend => web}/src/components/ui/RotatingText.vue (100%) rename apps/{frontend => web}/src/components/ui/SelectFont.vue (100%) rename apps/{frontend => web}/src/components/ui/SelectLayout.vue (100%) rename apps/{frontend => web}/src/components/ui/ShowShortcuts.vue (100%) rename apps/{frontend => web}/src/components/ui/Sparkles.vue (100%) rename apps/{frontend => web}/src/components/ui/TiltCard.vue (100%) rename apps/{frontend => web}/src/components/ui/accordion/Accordion.vue (100%) rename apps/{frontend => web}/src/components/ui/accordion/AccordionContent.vue (100%) rename apps/{frontend => web}/src/components/ui/accordion/AccordionItem.vue (100%) rename apps/{frontend => web}/src/components/ui/accordion/AccordionTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/accordion/index.ts (100%) rename apps/{frontend => web}/src/components/ui/background/DarkVeil.vue (100%) rename apps/{frontend => web}/src/components/ui/background/index.ts (100%) rename apps/{frontend => web}/src/components/ui/button/Button.vue (100%) rename apps/{frontend => web}/src/components/ui/button/InteractiveHoverButton.vue (100%) rename apps/{frontend => web}/src/components/ui/button/index.ts (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPicker.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerAlpha.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerEyeDropper.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerHue.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerInputs.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerPresets.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/ColorPickerSaturation.vue (100%) rename apps/{frontend => web}/src/components/ui/color-picker/index.ts (100%) rename apps/{frontend => web}/src/components/ui/content/Content.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentContainer.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentHeader.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentPageLastMod.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentPageTitle.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentParagraph.vue (100%) rename apps/{frontend => web}/src/components/ui/content/ContentParagraphTitle.vue (100%) rename apps/{frontend => web}/src/components/ui/content/index.ts (100%) rename apps/{frontend => web}/src/components/ui/dialog/Dialog.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogClose.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogContent.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogDescription.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogFooter.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogHeader.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogOverlay.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogScrollContent.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogTitle.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/DialogTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/dialog/index.ts (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenu.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuContent.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuGroup.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuItem.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuLabel.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuSub.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/dropdown-menu/index.ts (100%) rename apps/{frontend => web}/src/components/ui/hover-card/HoverCard.vue (100%) rename apps/{frontend => web}/src/components/ui/hover-card/HoverCardContent.vue (100%) rename apps/{frontend => web}/src/components/ui/hover-card/HoverCardTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/hover-card/index.ts (100%) rename apps/{frontend => web}/src/components/ui/index.ts (100%) rename apps/{frontend => web}/src/components/ui/input/Input.vue (100%) rename apps/{frontend => web}/src/components/ui/input/index.ts (100%) rename apps/{frontend => web}/src/components/ui/kbd/index.ts (100%) rename apps/{frontend => web}/src/components/ui/kbd/kbd.vue (100%) rename apps/{frontend => web}/src/components/ui/label/Label.vue (100%) rename apps/{frontend => web}/src/components/ui/label/index.ts (100%) rename apps/{frontend => web}/src/components/ui/popover/Popover.vue (100%) rename apps/{frontend => web}/src/components/ui/popover/PopoverAnchor.vue (100%) rename apps/{frontend => web}/src/components/ui/popover/PopoverContent.vue (100%) rename apps/{frontend => web}/src/components/ui/popover/PopoverTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/popover/index.ts (100%) rename apps/{frontend => web}/src/components/ui/select/Select.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectContent.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectGroup.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectItem.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectItemText.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectLabel.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectScrollDownButton.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectScrollUpButton.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectSeparator.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/select/SelectValue.vue (100%) rename apps/{frontend => web}/src/components/ui/select/index.ts (100%) rename apps/{frontend => web}/src/components/ui/separator/Separator.vue (100%) rename apps/{frontend => web}/src/components/ui/separator/index.ts (100%) rename apps/{frontend => web}/src/components/ui/skeleton/Skeleton.vue (100%) rename apps/{frontend => web}/src/components/ui/skeleton/index.ts (100%) rename apps/{frontend => web}/src/components/ui/slider/Slider.vue (100%) rename apps/{frontend => web}/src/components/ui/slider/index.ts (100%) rename apps/{frontend => web}/src/components/ui/stepper/Stepper.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperDescription.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperIndicator.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperItem.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperSeparator.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperTitle.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/StepperTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/stepper/index.ts (100%) rename apps/{frontend => web}/src/components/ui/switch-toggle/SwitchToggle.vue (100%) rename apps/{frontend => web}/src/components/ui/switch-toggle/index.ts (100%) rename apps/{frontend => web}/src/components/ui/switch/Switch.vue (100%) rename apps/{frontend => web}/src/components/ui/switch/index.ts (100%) rename apps/{frontend => web}/src/components/ui/tabs/Tabs.vue (100%) rename apps/{frontend => web}/src/components/ui/tabs/TabsContent.vue (100%) rename apps/{frontend => web}/src/components/ui/tabs/TabsList.vue (100%) rename apps/{frontend => web}/src/components/ui/tabs/TabsTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/tabs/index.ts (100%) rename apps/{frontend => web}/src/components/ui/tooltip/Tooltip.vue (100%) rename apps/{frontend => web}/src/components/ui/tooltip/TooltipContent.vue (100%) rename apps/{frontend => web}/src/components/ui/tooltip/TooltipProvider.vue (100%) rename apps/{frontend => web}/src/components/ui/tooltip/TooltipTrigger.vue (100%) rename apps/{frontend => web}/src/components/ui/tooltip/index.ts (100%) rename apps/{frontend => web}/src/composables/index.ts (100%) rename apps/{frontend => web}/src/composables/useConfetti.ts (100%) rename apps/{frontend => web}/src/composables/useGitHubExtractor.ts (100%) rename apps/{frontend => web}/src/composables/useMMRUpdater.ts (100%) rename apps/{frontend => web}/src/composables/useMetaExtractor.ts (100%) rename apps/{frontend => web}/src/composables/useOverlayData.ts (100%) rename apps/{frontend => web}/src/composables/useOverlayScheduler.ts (100%) rename apps/{frontend => web}/src/data/ConfiguratorNav.data.ts (100%) rename apps/{frontend => web}/src/data/FooterNav.data.ts (100%) rename apps/{frontend => web}/src/data/HeaderNav.data.ts (100%) rename apps/{frontend => web}/src/data/PreviewTabs.data.ts (100%) rename apps/{frontend => web}/src/data/SocialLinks.data.ts (100%) rename apps/{frontend => web}/src/data/index.ts (100%) rename apps/{frontend => web}/src/i18n/i18n.ts (100%) rename apps/{frontend => web}/src/i18n/index.ts (100%) rename apps/{frontend => web}/src/i18n/locales/en.json (100%) rename apps/{frontend => web}/src/i18n/locales/ru.json (100%) rename apps/{frontend => web}/src/layouts/ConfiguratorLayout.vue (100%) rename apps/{frontend => web}/src/layouts/DefaultLayout.vue (100%) rename apps/{frontend => web}/src/layouts/index.ts (100%) rename apps/{frontend => web}/src/lib/utils.ts (100%) rename apps/{frontend => web}/src/main.ts (100%) rename apps/{frontend => web}/src/pages/Callback.vue (100%) rename apps/{frontend => web}/src/pages/Home.vue (100%) rename apps/{frontend => web}/src/pages/NotFound.vue (100%) rename apps/{frontend => web}/src/pages/NotSupported.vue (100%) rename apps/{frontend => web}/src/pages/Overlay.vue (100%) rename apps/{frontend => web}/src/pages/SignIn.vue (100%) rename apps/{frontend => web}/src/pages/TermsOfService.vue (100%) rename apps/{frontend => web}/src/pages/configurator/Home.vue (100%) rename apps/{frontend => web}/src/pages/configurator/Settings.vue (100%) rename apps/{frontend => web}/src/pages/configurator/Spotify.vue (100%) rename apps/{frontend => web}/src/pages/configurator/Valorant.vue (100%) rename apps/{frontend => web}/src/pages/configurator/index.ts (100%) rename apps/{frontend => web}/src/pages/index.ts (100%) rename apps/{frontend => web}/src/router/index.ts (100%) rename apps/{frontend => web}/src/services/auth/user.validator.ts (100%) rename apps/{frontend => web}/src/services/backend.ts (100%) rename apps/{frontend => web}/src/services/index.ts (100%) rename apps/{frontend => web}/src/services/leaderboard.ts (100%) rename apps/{frontend => web}/src/services/playerInformation.ts (100%) rename apps/{frontend => web}/src/stores/index.ts (100%) rename apps/{frontend => web}/src/stores/overlays/useSpotifyOverlayStore.ts (100%) rename apps/{frontend => web}/src/stores/overlays/useValorantOverlayStore.ts (100%) rename apps/{frontend => web}/src/stores/useAuthStore.ts (100%) rename apps/{frontend => web}/src/stores/useSettingsStore.ts (100%) rename apps/{frontend => web}/src/stores/useStreamersStore.ts (100%) rename apps/{frontend => web}/src/stores/useUserStore.ts (100%) rename apps/{frontend => web}/src/stores/useValorantStore.ts (100%) rename apps/{frontend => web}/tsconfig.app.json (100%) rename apps/{frontend => web}/tsconfig.json (100%) rename apps/{frontend => web}/tsconfig.node.json (100%) rename apps/{frontend => web}/vite.config.ts (100%) diff --git a/apps/backend_go/.air.linux.conf b/apps/api-go/.air.linux.conf similarity index 100% rename from apps/backend_go/.air.linux.conf rename to apps/api-go/.air.linux.conf diff --git a/apps/backend_go/.air.windows.conf b/apps/api-go/.air.windows.conf similarity index 100% rename from apps/backend_go/.air.windows.conf rename to apps/api-go/.air.windows.conf diff --git a/apps/backend_go/.env.example b/apps/api-go/.env.example similarity index 100% rename from apps/backend_go/.env.example rename to apps/api-go/.env.example diff --git a/apps/backend_go/README.md b/apps/api-go/README.md similarity index 100% rename from apps/backend_go/README.md rename to apps/api-go/README.md diff --git a/apps/backend_go/app/config.go b/apps/api-go/app/config.go similarity index 100% rename from apps/backend_go/app/config.go rename to apps/api-go/app/config.go diff --git a/apps/backend_go/app/controllers/ping.go b/apps/api-go/app/controllers/ping.go similarity index 100% rename from apps/backend_go/app/controllers/ping.go rename to apps/api-go/app/controllers/ping.go diff --git a/apps/backend_go/app/controllers/users.go b/apps/api-go/app/controllers/users.go similarity index 100% rename from apps/backend_go/app/controllers/users.go rename to apps/api-go/app/controllers/users.go diff --git a/apps/backend_go/app/middlewares/fiber.go b/apps/api-go/app/middlewares/fiber.go similarity index 100% rename from apps/backend_go/app/middlewares/fiber.go rename to apps/api-go/app/middlewares/fiber.go diff --git a/apps/backend_go/app/routes/ping.go b/apps/api-go/app/routes/ping.go similarity index 100% rename from apps/backend_go/app/routes/ping.go rename to apps/api-go/app/routes/ping.go diff --git a/apps/backend_go/app/routes/users.go b/apps/api-go/app/routes/users.go similarity index 100% rename from apps/backend_go/app/routes/users.go rename to apps/api-go/app/routes/users.go diff --git a/apps/backend_go/app/utils/start_server.go b/apps/api-go/app/utils/start_server.go similarity index 100% rename from apps/backend_go/app/utils/start_server.go rename to apps/api-go/app/utils/start_server.go diff --git a/apps/backend_go/go.mod b/apps/api-go/go.mod similarity index 100% rename from apps/backend_go/go.mod rename to apps/api-go/go.mod diff --git a/apps/backend_go/go.sum b/apps/api-go/go.sum similarity index 100% rename from apps/backend_go/go.sum rename to apps/api-go/go.sum diff --git a/apps/backend_go/main.go b/apps/api-go/main.go similarity index 100% rename from apps/backend_go/main.go rename to apps/api-go/main.go diff --git a/apps/backend_go/package.json b/apps/api-go/package.json similarity index 90% rename from apps/backend_go/package.json rename to apps/api-go/package.json index 8b4114ce..66dbe5b8 100644 --- a/apps/backend_go/package.json +++ b/apps/api-go/package.json @@ -1,5 +1,5 @@ { - "name": "backend_go", + "name": "api-go", "version": "0.0.0", "private": true, "scripts": { diff --git a/apps/backend/.python-version b/apps/api/.python-version similarity index 100% rename from apps/backend/.python-version rename to apps/api/.python-version diff --git a/apps/backend/Dockerfile b/apps/api/Dockerfile similarity index 100% rename from apps/backend/Dockerfile rename to apps/api/Dockerfile diff --git a/apps/backend/README.md b/apps/api/README.md similarity index 100% rename from apps/backend/README.md rename to apps/api/README.md diff --git a/apps/backend/alembic.ini b/apps/api/alembic.ini similarity index 100% rename from apps/backend/alembic.ini rename to apps/api/alembic.ini diff --git a/apps/backend/app/__init__.py b/apps/api/app/__init__.py similarity index 100% rename from apps/backend/app/__init__.py rename to apps/api/app/__init__.py diff --git a/apps/backend/app/config.py b/apps/api/app/config.py similarity index 100% rename from apps/backend/app/config.py rename to apps/api/app/config.py diff --git a/apps/backend/app/dao/base.py b/apps/api/app/dao/base.py similarity index 100% rename from apps/backend/app/dao/base.py rename to apps/api/app/dao/base.py diff --git a/apps/backend/app/dao/overlays.py b/apps/api/app/dao/overlays.py similarity index 100% rename from apps/backend/app/dao/overlays.py rename to apps/api/app/dao/overlays.py diff --git a/apps/backend/app/dao/users.py b/apps/api/app/dao/users.py similarity index 100% rename from apps/backend/app/dao/users.py rename to apps/api/app/dao/users.py diff --git a/apps/backend/app/db/__init__.py b/apps/api/app/db/__init__.py similarity index 100% rename from apps/backend/app/db/__init__.py rename to apps/api/app/db/__init__.py diff --git a/apps/backend/app/db/database.py b/apps/api/app/db/database.py similarity index 100% rename from apps/backend/app/db/database.py rename to apps/api/app/db/database.py diff --git a/apps/backend/app/db/redis.py b/apps/api/app/db/redis.py similarity index 100% rename from apps/backend/app/db/redis.py rename to apps/api/app/db/redis.py diff --git a/apps/backend/app/middlewares/__init__.py b/apps/api/app/middlewares/__init__.py similarity index 100% rename from apps/backend/app/middlewares/__init__.py rename to apps/api/app/middlewares/__init__.py diff --git a/apps/backend/app/middlewares/permormance.py b/apps/api/app/middlewares/permormance.py similarity index 100% rename from apps/backend/app/middlewares/permormance.py rename to apps/api/app/middlewares/permormance.py diff --git a/apps/backend/app/migrations/README b/apps/api/app/migrations/README similarity index 100% rename from apps/backend/app/migrations/README rename to apps/api/app/migrations/README diff --git a/apps/backend/app/migrations/__init__.py b/apps/api/app/migrations/__init__.py similarity index 100% rename from apps/backend/app/migrations/__init__.py rename to apps/api/app/migrations/__init__.py diff --git a/apps/backend/app/migrations/env.py b/apps/api/app/migrations/env.py similarity index 100% rename from apps/backend/app/migrations/env.py rename to apps/api/app/migrations/env.py diff --git a/apps/backend/app/migrations/script.py.mako b/apps/api/app/migrations/script.py.mako similarity index 100% rename from apps/backend/app/migrations/script.py.mako rename to apps/api/app/migrations/script.py.mako diff --git a/apps/backend/app/migrations/versions/3721e17267b0_.py b/apps/api/app/migrations/versions/3721e17267b0_.py similarity index 100% rename from apps/backend/app/migrations/versions/3721e17267b0_.py rename to apps/api/app/migrations/versions/3721e17267b0_.py diff --git a/apps/backend/app/migrations/versions/b5571133c972_.py b/apps/api/app/migrations/versions/b5571133c972_.py similarity index 100% rename from apps/backend/app/migrations/versions/b5571133c972_.py rename to apps/api/app/migrations/versions/b5571133c972_.py diff --git a/apps/backend/app/models/__init__.py b/apps/api/app/models/__init__.py similarity index 100% rename from apps/backend/app/models/__init__.py rename to apps/api/app/models/__init__.py diff --git a/apps/backend/app/models/overlays.py b/apps/api/app/models/overlays.py similarity index 100% rename from apps/backend/app/models/overlays.py rename to apps/api/app/models/overlays.py diff --git a/apps/backend/app/models/users.py b/apps/api/app/models/users.py similarity index 100% rename from apps/backend/app/models/users.py rename to apps/api/app/models/users.py diff --git a/apps/backend/app/routers/__init__.py b/apps/api/app/routers/__init__.py similarity index 100% rename from apps/backend/app/routers/__init__.py rename to apps/api/app/routers/__init__.py diff --git a/apps/backend/app/routers/auth.py b/apps/api/app/routers/auth.py similarity index 100% rename from apps/backend/app/routers/auth.py rename to apps/api/app/routers/auth.py diff --git a/apps/backend/app/routers/overlays.py b/apps/api/app/routers/overlays.py similarity index 100% rename from apps/backend/app/routers/overlays.py rename to apps/api/app/routers/overlays.py diff --git a/apps/backend/app/routers/streamers.py b/apps/api/app/routers/streamers.py similarity index 100% rename from apps/backend/app/routers/streamers.py rename to apps/api/app/routers/streamers.py diff --git a/apps/backend/app/routers/users.py b/apps/api/app/routers/users.py similarity index 100% rename from apps/backend/app/routers/users.py rename to apps/api/app/routers/users.py diff --git a/apps/backend/app/routers/utils.py b/apps/api/app/routers/utils.py similarity index 100% rename from apps/backend/app/routers/utils.py rename to apps/api/app/routers/utils.py diff --git a/apps/backend/app/schedule.py b/apps/api/app/schedule.py similarity index 100% rename from apps/backend/app/schedule.py rename to apps/api/app/schedule.py diff --git a/apps/backend/app/schemas/__init__.py b/apps/api/app/schemas/__init__.py similarity index 100% rename from apps/backend/app/schemas/__init__.py rename to apps/api/app/schemas/__init__.py diff --git a/apps/backend/app/schemas/overlays.py b/apps/api/app/schemas/overlays.py similarity index 100% rename from apps/backend/app/schemas/overlays.py rename to apps/api/app/schemas/overlays.py diff --git a/apps/backend/app/schemas/streamers.py b/apps/api/app/schemas/streamers.py similarity index 100% rename from apps/backend/app/schemas/streamers.py rename to apps/api/app/schemas/streamers.py diff --git a/apps/backend/app/schemas/twitch.py b/apps/api/app/schemas/twitch.py similarity index 100% rename from apps/backend/app/schemas/twitch.py rename to apps/api/app/schemas/twitch.py diff --git a/apps/backend/app/schemas/users.py b/apps/api/app/schemas/users.py similarity index 100% rename from apps/backend/app/schemas/users.py rename to apps/api/app/schemas/users.py diff --git a/apps/backend/app/utils/__init__.py b/apps/api/app/utils/__init__.py similarity index 100% rename from apps/backend/app/utils/__init__.py rename to apps/api/app/utils/__init__.py diff --git a/apps/backend/app/utils/auth.py b/apps/api/app/utils/auth.py similarity index 100% rename from apps/backend/app/utils/auth.py rename to apps/api/app/utils/auth.py diff --git a/apps/backend/app/utils/twitch_client.py b/apps/api/app/utils/twitch_client.py similarity index 100% rename from apps/backend/app/utils/twitch_client.py rename to apps/api/app/utils/twitch_client.py diff --git a/apps/backend/main.py b/apps/api/main.py similarity index 100% rename from apps/backend/main.py rename to apps/api/main.py diff --git a/apps/backend/package.json b/apps/api/package.json similarity index 50% rename from apps/backend/package.json rename to apps/api/package.json index 741bce32..e7a0e8ce 100644 --- a/apps/backend/package.json +++ b/apps/api/package.json @@ -1,9 +1,9 @@ { - "name": "backend", + "name": "api", "version": "0.0.0", "private": true, "scripts": { "postinstall": "uv pip install -r pyproject.toml", - "dev": "bash -c 'cd ../backend && source .venv/bin/activate && uvicorn main:app --reload'" + "dev": "bash -c 'source .venv/bin/activate && uvicorn main:app --reload'" } } diff --git a/apps/backend/pyproject.toml b/apps/api/pyproject.toml similarity index 100% rename from apps/backend/pyproject.toml rename to apps/api/pyproject.toml diff --git a/apps/backend/requirements.txt b/apps/api/requirements.txt similarity index 100% rename from apps/backend/requirements.txt rename to apps/api/requirements.txt diff --git a/apps/frontend/.env.example b/apps/web/.env.example similarity index 100% rename from apps/frontend/.env.example rename to apps/web/.env.example diff --git a/apps/frontend/.prettierignore b/apps/web/.prettierignore similarity index 100% rename from apps/frontend/.prettierignore rename to apps/web/.prettierignore diff --git a/apps/frontend/.prettierrc.json b/apps/web/.prettierrc.json similarity index 100% rename from apps/frontend/.prettierrc.json rename to apps/web/.prettierrc.json diff --git a/apps/frontend/Dockerfile b/apps/web/Dockerfile similarity index 100% rename from apps/frontend/Dockerfile rename to apps/web/Dockerfile diff --git a/apps/frontend/components.json b/apps/web/components.json similarity index 100% rename from apps/frontend/components.json rename to apps/web/components.json diff --git a/apps/frontend/env.d.ts b/apps/web/env.d.ts similarity index 100% rename from apps/frontend/env.d.ts rename to apps/web/env.d.ts diff --git a/apps/frontend/eslint.config.ts b/apps/web/eslint.config.ts similarity index 100% rename from apps/frontend/eslint.config.ts rename to apps/web/eslint.config.ts diff --git a/apps/frontend/index.html b/apps/web/index.html similarity index 100% rename from apps/frontend/index.html rename to apps/web/index.html diff --git a/apps/frontend/package.json b/apps/web/package.json similarity index 99% rename from apps/frontend/package.json rename to apps/web/package.json index c0b63287..a77a4876 100644 --- a/apps/frontend/package.json +++ b/apps/web/package.json @@ -1,5 +1,5 @@ { - "name": "frontend", + "name": "web", "version": "0.1.0", "private": true, "type": "module", diff --git a/apps/frontend/public/auth/signin.webp b/apps/web/public/auth/signin.webp similarity index 100% rename from apps/frontend/public/auth/signin.webp rename to apps/web/public/auth/signin.webp diff --git a/apps/frontend/public/favicon.ico b/apps/web/public/favicon.ico similarity index 100% rename from apps/frontend/public/favicon.ico rename to apps/web/public/favicon.ico diff --git a/apps/frontend/public/home/noise.webp b/apps/web/public/home/noise.webp similarity index 100% rename from apps/frontend/public/home/noise.webp rename to apps/web/public/home/noise.webp diff --git a/apps/frontend/public/home/previews/dashboard.webp b/apps/web/public/home/previews/dashboard.webp similarity index 100% rename from apps/frontend/public/home/previews/dashboard.webp rename to apps/web/public/home/previews/dashboard.webp diff --git a/apps/frontend/public/home/previews/spotify.webp b/apps/web/public/home/previews/spotify.webp similarity index 100% rename from apps/frontend/public/home/previews/spotify.webp rename to apps/web/public/home/previews/spotify.webp diff --git a/apps/frontend/public/home/previews/valorant.webp b/apps/web/public/home/previews/valorant.webp similarity index 100% rename from apps/frontend/public/home/previews/valorant.webp rename to apps/web/public/home/previews/valorant.webp diff --git a/apps/frontend/public/meta.webp b/apps/web/public/meta.webp similarity index 100% rename from apps/frontend/public/meta.webp rename to apps/web/public/meta.webp diff --git a/apps/frontend/public/previews/abyss.webp b/apps/web/public/previews/abyss.webp similarity index 100% rename from apps/frontend/public/previews/abyss.webp rename to apps/web/public/previews/abyss.webp diff --git a/apps/frontend/public/previews/ascent.webp b/apps/web/public/previews/ascent.webp similarity index 100% rename from apps/frontend/public/previews/ascent.webp rename to apps/web/public/previews/ascent.webp diff --git a/apps/frontend/public/previews/bind.webp b/apps/web/public/previews/bind.webp similarity index 100% rename from apps/frontend/public/previews/bind.webp rename to apps/web/public/previews/bind.webp diff --git a/apps/frontend/public/previews/breeze.webp b/apps/web/public/previews/breeze.webp similarity index 100% rename from apps/frontend/public/previews/breeze.webp rename to apps/web/public/previews/breeze.webp diff --git a/apps/frontend/public/previews/corrode.webp b/apps/web/public/previews/corrode.webp similarity index 100% rename from apps/frontend/public/previews/corrode.webp rename to apps/web/public/previews/corrode.webp diff --git a/apps/frontend/public/previews/fracture.webp b/apps/web/public/previews/fracture.webp similarity index 100% rename from apps/frontend/public/previews/fracture.webp rename to apps/web/public/previews/fracture.webp diff --git a/apps/frontend/public/previews/haven.webp b/apps/web/public/previews/haven.webp similarity index 100% rename from apps/frontend/public/previews/haven.webp rename to apps/web/public/previews/haven.webp diff --git a/apps/frontend/public/previews/icebox.webp b/apps/web/public/previews/icebox.webp similarity index 100% rename from apps/frontend/public/previews/icebox.webp rename to apps/web/public/previews/icebox.webp diff --git a/apps/frontend/public/previews/lotus.webp b/apps/web/public/previews/lotus.webp similarity index 100% rename from apps/frontend/public/previews/lotus.webp rename to apps/web/public/previews/lotus.webp diff --git a/apps/frontend/public/previews/pearl.webp b/apps/web/public/previews/pearl.webp similarity index 100% rename from apps/frontend/public/previews/pearl.webp rename to apps/web/public/previews/pearl.webp diff --git a/apps/frontend/public/previews/split.webp b/apps/web/public/previews/split.webp similarity index 100% rename from apps/frontend/public/previews/split.webp rename to apps/web/public/previews/split.webp diff --git a/apps/frontend/public/previews/spotify.webp b/apps/web/public/previews/spotify.webp similarity index 100% rename from apps/frontend/public/previews/spotify.webp rename to apps/web/public/previews/spotify.webp diff --git a/apps/frontend/public/previews/sunset.webp b/apps/web/public/previews/sunset.webp similarity index 100% rename from apps/frontend/public/previews/sunset.webp rename to apps/web/public/previews/sunset.webp diff --git a/apps/frontend/public/ranks/10.webp b/apps/web/public/ranks/10.webp similarity index 100% rename from apps/frontend/public/ranks/10.webp rename to apps/web/public/ranks/10.webp diff --git a/apps/frontend/public/ranks/11.webp b/apps/web/public/ranks/11.webp similarity index 100% rename from apps/frontend/public/ranks/11.webp rename to apps/web/public/ranks/11.webp diff --git a/apps/frontend/public/ranks/12.webp b/apps/web/public/ranks/12.webp similarity index 100% rename from apps/frontend/public/ranks/12.webp rename to apps/web/public/ranks/12.webp diff --git a/apps/frontend/public/ranks/13.webp b/apps/web/public/ranks/13.webp similarity index 100% rename from apps/frontend/public/ranks/13.webp rename to apps/web/public/ranks/13.webp diff --git a/apps/frontend/public/ranks/14.webp b/apps/web/public/ranks/14.webp similarity index 100% rename from apps/frontend/public/ranks/14.webp rename to apps/web/public/ranks/14.webp diff --git a/apps/frontend/public/ranks/15.webp b/apps/web/public/ranks/15.webp similarity index 100% rename from apps/frontend/public/ranks/15.webp rename to apps/web/public/ranks/15.webp diff --git a/apps/frontend/public/ranks/16.webp b/apps/web/public/ranks/16.webp similarity index 100% rename from apps/frontend/public/ranks/16.webp rename to apps/web/public/ranks/16.webp diff --git a/apps/frontend/public/ranks/17.webp b/apps/web/public/ranks/17.webp similarity index 100% rename from apps/frontend/public/ranks/17.webp rename to apps/web/public/ranks/17.webp diff --git a/apps/frontend/public/ranks/18.webp b/apps/web/public/ranks/18.webp similarity index 100% rename from apps/frontend/public/ranks/18.webp rename to apps/web/public/ranks/18.webp diff --git a/apps/frontend/public/ranks/19.webp b/apps/web/public/ranks/19.webp similarity index 100% rename from apps/frontend/public/ranks/19.webp rename to apps/web/public/ranks/19.webp diff --git a/apps/frontend/public/ranks/20.webp b/apps/web/public/ranks/20.webp similarity index 100% rename from apps/frontend/public/ranks/20.webp rename to apps/web/public/ranks/20.webp diff --git a/apps/frontend/public/ranks/21.webp b/apps/web/public/ranks/21.webp similarity index 100% rename from apps/frontend/public/ranks/21.webp rename to apps/web/public/ranks/21.webp diff --git a/apps/frontend/public/ranks/22.webp b/apps/web/public/ranks/22.webp similarity index 100% rename from apps/frontend/public/ranks/22.webp rename to apps/web/public/ranks/22.webp diff --git a/apps/frontend/public/ranks/23.webp b/apps/web/public/ranks/23.webp similarity index 100% rename from apps/frontend/public/ranks/23.webp rename to apps/web/public/ranks/23.webp diff --git a/apps/frontend/public/ranks/24.webp b/apps/web/public/ranks/24.webp similarity index 100% rename from apps/frontend/public/ranks/24.webp rename to apps/web/public/ranks/24.webp diff --git a/apps/frontend/public/ranks/25.webp b/apps/web/public/ranks/25.webp similarity index 100% rename from apps/frontend/public/ranks/25.webp rename to apps/web/public/ranks/25.webp diff --git a/apps/frontend/public/ranks/26.webp b/apps/web/public/ranks/26.webp similarity index 100% rename from apps/frontend/public/ranks/26.webp rename to apps/web/public/ranks/26.webp diff --git a/apps/frontend/public/ranks/27.webp b/apps/web/public/ranks/27.webp similarity index 100% rename from apps/frontend/public/ranks/27.webp rename to apps/web/public/ranks/27.webp diff --git a/apps/frontend/public/ranks/3.webp b/apps/web/public/ranks/3.webp similarity index 100% rename from apps/frontend/public/ranks/3.webp rename to apps/web/public/ranks/3.webp diff --git a/apps/frontend/public/ranks/4.webp b/apps/web/public/ranks/4.webp similarity index 100% rename from apps/frontend/public/ranks/4.webp rename to apps/web/public/ranks/4.webp diff --git a/apps/frontend/public/ranks/5.webp b/apps/web/public/ranks/5.webp similarity index 100% rename from apps/frontend/public/ranks/5.webp rename to apps/web/public/ranks/5.webp diff --git a/apps/frontend/public/ranks/6.webp b/apps/web/public/ranks/6.webp similarity index 100% rename from apps/frontend/public/ranks/6.webp rename to apps/web/public/ranks/6.webp diff --git a/apps/frontend/public/ranks/7.webp b/apps/web/public/ranks/7.webp similarity index 100% rename from apps/frontend/public/ranks/7.webp rename to apps/web/public/ranks/7.webp diff --git a/apps/frontend/public/ranks/8.webp b/apps/web/public/ranks/8.webp similarity index 100% rename from apps/frontend/public/ranks/8.webp rename to apps/web/public/ranks/8.webp diff --git a/apps/frontend/public/ranks/9.webp b/apps/web/public/ranks/9.webp similarity index 100% rename from apps/frontend/public/ranks/9.webp rename to apps/web/public/ranks/9.webp diff --git a/apps/frontend/public/ranks/Unranked.webp b/apps/web/public/ranks/Unranked.webp similarity index 100% rename from apps/frontend/public/ranks/Unranked.webp rename to apps/web/public/ranks/Unranked.webp diff --git a/apps/frontend/public/robots.txt b/apps/web/public/robots.txt similarity index 100% rename from apps/frontend/public/robots.txt rename to apps/web/public/robots.txt diff --git a/apps/frontend/public/twitch_avatar.webp b/apps/web/public/twitch_avatar.webp similarity index 100% rename from apps/frontend/public/twitch_avatar.webp rename to apps/web/public/twitch_avatar.webp diff --git a/apps/frontend/public/valorant/overlay_previews/minimal.webp b/apps/web/public/valorant/overlay_previews/minimal.webp similarity index 100% rename from apps/frontend/public/valorant/overlay_previews/minimal.webp rename to apps/web/public/valorant/overlay_previews/minimal.webp diff --git a/apps/frontend/public/valorant/overlay_previews/new.webp b/apps/web/public/valorant/overlay_previews/new.webp similarity index 100% rename from apps/frontend/public/valorant/overlay_previews/new.webp rename to apps/web/public/valorant/overlay_previews/new.webp diff --git a/apps/frontend/public/valorant/overlay_previews/new_v2.webp b/apps/web/public/valorant/overlay_previews/new_v2.webp similarity index 100% rename from apps/frontend/public/valorant/overlay_previews/new_v2.webp rename to apps/web/public/valorant/overlay_previews/new_v2.webp diff --git a/apps/frontend/public/valorant/overlay_previews/old.webp b/apps/web/public/valorant/overlay_previews/old.webp similarity index 100% rename from apps/frontend/public/valorant/overlay_previews/old.webp rename to apps/web/public/valorant/overlay_previews/old.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/abyss.webp b/apps/web/public/valorant/settings/preview_thumbnails/abyss.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/abyss.webp rename to apps/web/public/valorant/settings/preview_thumbnails/abyss.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/ascent.webp b/apps/web/public/valorant/settings/preview_thumbnails/ascent.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/ascent.webp rename to apps/web/public/valorant/settings/preview_thumbnails/ascent.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/bind.webp b/apps/web/public/valorant/settings/preview_thumbnails/bind.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/bind.webp rename to apps/web/public/valorant/settings/preview_thumbnails/bind.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/breeze.webp b/apps/web/public/valorant/settings/preview_thumbnails/breeze.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/breeze.webp rename to apps/web/public/valorant/settings/preview_thumbnails/breeze.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/corrode.webp b/apps/web/public/valorant/settings/preview_thumbnails/corrode.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/corrode.webp rename to apps/web/public/valorant/settings/preview_thumbnails/corrode.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/fracture.webp b/apps/web/public/valorant/settings/preview_thumbnails/fracture.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/fracture.webp rename to apps/web/public/valorant/settings/preview_thumbnails/fracture.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/haven.webp b/apps/web/public/valorant/settings/preview_thumbnails/haven.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/haven.webp rename to apps/web/public/valorant/settings/preview_thumbnails/haven.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/icebox.webp b/apps/web/public/valorant/settings/preview_thumbnails/icebox.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/icebox.webp rename to apps/web/public/valorant/settings/preview_thumbnails/icebox.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/lotus.webp b/apps/web/public/valorant/settings/preview_thumbnails/lotus.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/lotus.webp rename to apps/web/public/valorant/settings/preview_thumbnails/lotus.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/pearl.webp b/apps/web/public/valorant/settings/preview_thumbnails/pearl.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/pearl.webp rename to apps/web/public/valorant/settings/preview_thumbnails/pearl.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/split.webp b/apps/web/public/valorant/settings/preview_thumbnails/split.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/split.webp rename to apps/web/public/valorant/settings/preview_thumbnails/split.webp diff --git a/apps/frontend/public/valorant/settings/preview_thumbnails/sunset.webp b/apps/web/public/valorant/settings/preview_thumbnails/sunset.webp similarity index 100% rename from apps/frontend/public/valorant/settings/preview_thumbnails/sunset.webp rename to apps/web/public/valorant/settings/preview_thumbnails/sunset.webp diff --git a/apps/frontend/src/App.vue b/apps/web/src/App.vue similarity index 100% rename from apps/frontend/src/App.vue rename to apps/web/src/App.vue diff --git a/apps/frontend/src/api/backend-openapi.ts b/apps/web/src/api/backend-openapi.ts similarity index 100% rename from apps/frontend/src/api/backend-openapi.ts rename to apps/web/src/api/backend-openapi.ts diff --git a/apps/frontend/src/api/codegen-api.ts b/apps/web/src/api/codegen-api.ts similarity index 100% rename from apps/frontend/src/api/codegen-api.ts rename to apps/web/src/api/codegen-api.ts diff --git a/apps/frontend/src/api/henrikdev-openapi.ts b/apps/web/src/api/henrikdev-openapi.ts similarity index 100% rename from apps/frontend/src/api/henrikdev-openapi.ts rename to apps/web/src/api/henrikdev-openapi.ts diff --git a/apps/frontend/src/assets/main.css b/apps/web/src/assets/main.css similarity index 100% rename from apps/frontend/src/assets/main.css rename to apps/web/src/assets/main.css diff --git a/apps/frontend/src/components/features/configuration-page/home/HeroText.vue b/apps/web/src/components/features/configuration-page/home/HeroText.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/HeroText.vue rename to apps/web/src/components/features/configuration-page/home/HeroText.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-avatar/FeaturesAvatar.vue b/apps/web/src/components/features/configuration-page/home/features-avatar/FeaturesAvatar.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-avatar/FeaturesAvatar.vue rename to apps/web/src/components/features/configuration-page/home/features-avatar/FeaturesAvatar.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-avatar/FeaturesAvatarGroup.vue b/apps/web/src/components/features/configuration-page/home/features-avatar/FeaturesAvatarGroup.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-avatar/FeaturesAvatarGroup.vue rename to apps/web/src/components/features/configuration-page/home/features-avatar/FeaturesAvatarGroup.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-avatar/index.ts b/apps/web/src/components/features/configuration-page/home/features-avatar/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-avatar/index.ts rename to apps/web/src/components/features/configuration-page/home/features-avatar/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCard.vue b/apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCard.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCard.vue rename to apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCard.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCardBadge.vue b/apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCardBadge.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCardBadge.vue rename to apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCardBadge.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCardSection.vue b/apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCardSection.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-cards/FeaturesCardSection.vue rename to apps/web/src/components/features/configuration-page/home/features-cards/FeaturesCardSection.vue diff --git a/apps/frontend/src/components/features/configuration-page/home/features-cards/index.ts b/apps/web/src/components/features/configuration-page/home/features-cards/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/features-cards/index.ts rename to apps/web/src/components/features/configuration-page/home/features-cards/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/home/index.ts b/apps/web/src/components/features/configuration-page/home/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/home/index.ts rename to apps/web/src/components/features/configuration-page/home/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/LeftSidebar.vue b/apps/web/src/components/features/configuration-page/left-sidebar/LeftSidebar.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/LeftSidebar.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/LeftSidebar.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/index.ts b/apps/web/src/components/features/configuration-page/left-sidebar/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/index.ts rename to apps/web/src/components/features/configuration-page/left-sidebar/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/Navigation.vue b/apps/web/src/components/features/configuration-page/left-sidebar/navigation/Navigation.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/Navigation.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/navigation/Navigation.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/NavigationLink.vue b/apps/web/src/components/features/configuration-page/left-sidebar/navigation/NavigationLink.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/NavigationLink.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/navigation/NavigationLink.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/NavigationTitle.vue b/apps/web/src/components/features/configuration-page/left-sidebar/navigation/NavigationTitle.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/NavigationTitle.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/navigation/NavigationTitle.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/index.ts b/apps/web/src/components/features/configuration-page/left-sidebar/navigation/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/navigation/index.ts rename to apps/web/src/components/features/configuration-page/left-sidebar/navigation/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/LanguageSelector.vue b/apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/LanguageSelector.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/LanguageSelector.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/LanguageSelector.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/ProfileMenu.vue b/apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/ProfileMenu.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/ProfileMenu.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/ProfileMenu.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/UserAvatar.vue b/apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/UserAvatar.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/UserAvatar.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/UserAvatar.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/UserBio.vue b/apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/UserBio.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/UserBio.vue rename to apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/UserBio.vue diff --git a/apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/index.ts b/apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/left-sidebar/profile-menu/index.ts rename to apps/web/src/components/features/configuration-page/left-sidebar/profile-menu/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/MiscTab/MiscTab.vue b/apps/web/src/components/features/configuration-page/settings/MiscTab/MiscTab.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/MiscTab/MiscTab.vue rename to apps/web/src/components/features/configuration-page/settings/MiscTab/MiscTab.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/MiscTab/index.ts b/apps/web/src/components/features/configuration-page/settings/MiscTab/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/MiscTab/index.ts rename to apps/web/src/components/features/configuration-page/settings/MiscTab/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/PersonalTab/PersonalTab.vue b/apps/web/src/components/features/configuration-page/settings/PersonalTab/PersonalTab.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/PersonalTab/PersonalTab.vue rename to apps/web/src/components/features/configuration-page/settings/PersonalTab/PersonalTab.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/PersonalTab/index.ts b/apps/web/src/components/features/configuration-page/settings/PersonalTab/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/PersonalTab/index.ts rename to apps/web/src/components/features/configuration-page/settings/PersonalTab/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/Settings.vue b/apps/web/src/components/features/configuration-page/settings/Settings.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/Settings.vue rename to apps/web/src/components/features/configuration-page/settings/Settings.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/SpotifyTab/SpotifyTab.vue b/apps/web/src/components/features/configuration-page/settings/SpotifyTab/SpotifyTab.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/SpotifyTab/SpotifyTab.vue rename to apps/web/src/components/features/configuration-page/settings/SpotifyTab/SpotifyTab.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/SpotifyTab/index.ts b/apps/web/src/components/features/configuration-page/settings/SpotifyTab/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/SpotifyTab/index.ts rename to apps/web/src/components/features/configuration-page/settings/SpotifyTab/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/ValorantTab.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/ValorantTab.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/ValorantTab.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/ValorantTab.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/index.ts b/apps/web/src/components/features/configuration-page/settings/ValorantTab/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/index.ts rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/Preview.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/Preview.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/Preview.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/Preview.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewHeader.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewHeader.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewHeader.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewHeader.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewRoot.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewRoot.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewRoot.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/PreviewRoot.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/index.ts b/apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/preview/index.ts rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/preview/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/Profile.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/Profile.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/Profile.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/Profile.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileHeader.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileHeader.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileHeader.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileHeader.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileRoot.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileRoot.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileRoot.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileRoot.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileSection.vue b/apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileSection.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileSection.vue rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/ProfileSection.vue diff --git a/apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/index.ts b/apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/ValorantTab/profile/index.ts rename to apps/web/src/components/features/configuration-page/settings/ValorantTab/profile/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/settings/index.ts b/apps/web/src/components/features/configuration-page/settings/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/settings/index.ts rename to apps/web/src/components/features/configuration-page/settings/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/spotify/Overlay.vue b/apps/web/src/components/features/configuration-page/spotify/Overlay.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/Overlay.vue rename to apps/web/src/components/features/configuration-page/spotify/Overlay.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/content/Content.vue b/apps/web/src/components/features/configuration-page/spotify/content/Content.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/content/Content.vue rename to apps/web/src/components/features/configuration-page/spotify/content/Content.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/content/Preview.vue b/apps/web/src/components/features/configuration-page/spotify/content/Preview.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/content/Preview.vue rename to apps/web/src/components/features/configuration-page/spotify/content/Preview.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/content/index.ts b/apps/web/src/components/features/configuration-page/spotify/content/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/content/index.ts rename to apps/web/src/components/features/configuration-page/spotify/content/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/spotify/index.ts b/apps/web/src/components/features/configuration-page/spotify/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/index.ts rename to apps/web/src/components/features/configuration-page/spotify/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/Generate.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/Generate.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/Generate.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/Generate.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/RightSidebar.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/RightSidebar.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/RightSidebar.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/RightSidebar.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/Configuration.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/Configuration.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/Configuration.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/Configuration.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationContent.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationContent.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationContent.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationContent.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationLabel.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationLabel.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationLabel.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationLabel.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationRoot.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationRoot.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationRoot.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationRoot.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationSection.vue b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationSection.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationSection.vue rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/ConfigurationSection.vue diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/index.ts b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/configuration/index.ts rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/configuration/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/index.ts b/apps/web/src/components/features/configuration-page/spotify/right-sidebar/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/spotify/right-sidebar/index.ts rename to apps/web/src/components/features/configuration-page/spotify/right-sidebar/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/valorant/Overlay.vue b/apps/web/src/components/features/configuration-page/valorant/Overlay.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/Overlay.vue rename to apps/web/src/components/features/configuration-page/valorant/Overlay.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/content/Content.vue b/apps/web/src/components/features/configuration-page/valorant/content/Content.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/content/Content.vue rename to apps/web/src/components/features/configuration-page/valorant/content/Content.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/content/Panel.vue b/apps/web/src/components/features/configuration-page/valorant/content/Panel.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/content/Panel.vue rename to apps/web/src/components/features/configuration-page/valorant/content/Panel.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/content/Preview.vue b/apps/web/src/components/features/configuration-page/valorant/content/Preview.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/content/Preview.vue rename to apps/web/src/components/features/configuration-page/valorant/content/Preview.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/content/index.ts b/apps/web/src/components/features/configuration-page/valorant/content/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/content/index.ts rename to apps/web/src/components/features/configuration-page/valorant/content/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/valorant/index.ts b/apps/web/src/components/features/configuration-page/valorant/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/index.ts rename to apps/web/src/components/features/configuration-page/valorant/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/Generate.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/Generate.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/Generate.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/Generate.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/RightSidebar.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/RightSidebar.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/RightSidebar.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/RightSidebar.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/Configuration.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/Configuration.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/Configuration.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/Configuration.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationContent.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationContent.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationContent.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationContent.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationLabel.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationLabel.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationLabel.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationLabel.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationRoot.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationRoot.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationRoot.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationRoot.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationSection.vue b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationSection.vue similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationSection.vue rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/ConfigurationSection.vue diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/index.ts b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/configuration/index.ts rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/configuration/index.ts diff --git a/apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/index.ts b/apps/web/src/components/features/configuration-page/valorant/right-sidebar/index.ts similarity index 100% rename from apps/frontend/src/components/features/configuration-page/valorant/right-sidebar/index.ts rename to apps/web/src/components/features/configuration-page/valorant/right-sidebar/index.ts diff --git a/apps/frontend/src/components/features/home-page/Footer.vue b/apps/web/src/components/features/home-page/Footer.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Footer.vue rename to apps/web/src/components/features/home-page/Footer.vue diff --git a/apps/frontend/src/components/features/home-page/GetStarted.vue b/apps/web/src/components/features/home-page/GetStarted.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/GetStarted.vue rename to apps/web/src/components/features/home-page/GetStarted.vue diff --git a/apps/frontend/src/components/features/home-page/Header.vue b/apps/web/src/components/features/home-page/Header.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Header.vue rename to apps/web/src/components/features/home-page/Header.vue diff --git a/apps/frontend/src/components/features/home-page/Hero.vue b/apps/web/src/components/features/home-page/Hero.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Hero.vue rename to apps/web/src/components/features/home-page/Hero.vue diff --git a/apps/frontend/src/components/features/home-page/LoginOrConfigurator.vue b/apps/web/src/components/features/home-page/LoginOrConfigurator.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/LoginOrConfigurator.vue rename to apps/web/src/components/features/home-page/LoginOrConfigurator.vue diff --git a/apps/frontend/src/components/features/home-page/OpenSource.vue b/apps/web/src/components/features/home-page/OpenSource.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/OpenSource.vue rename to apps/web/src/components/features/home-page/OpenSource.vue diff --git a/apps/frontend/src/components/features/home-page/Preview.vue b/apps/web/src/components/features/home-page/Preview.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Preview.vue rename to apps/web/src/components/features/home-page/Preview.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersCard.vue b/apps/web/src/components/features/home-page/Streamers/StreamersCard.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersCard.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersCard.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersCardMock.vue b/apps/web/src/components/features/home-page/Streamers/StreamersCardMock.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersCardMock.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersCardMock.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersCardSkeleton.vue b/apps/web/src/components/features/home-page/Streamers/StreamersCardSkeleton.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersCardSkeleton.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersCardSkeleton.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersMarquee.vue b/apps/web/src/components/features/home-page/Streamers/StreamersMarquee.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersMarquee.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersMarquee.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersMarquee5lim.vue b/apps/web/src/components/features/home-page/Streamers/StreamersMarquee5lim.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersMarquee5lim.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersMarquee5lim.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/StreamersSection.vue b/apps/web/src/components/features/home-page/Streamers/StreamersSection.vue similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/StreamersSection.vue rename to apps/web/src/components/features/home-page/Streamers/StreamersSection.vue diff --git a/apps/frontend/src/components/features/home-page/Streamers/index.ts b/apps/web/src/components/features/home-page/Streamers/index.ts similarity index 100% rename from apps/frontend/src/components/features/home-page/Streamers/index.ts rename to apps/web/src/components/features/home-page/Streamers/index.ts diff --git a/apps/frontend/src/components/features/home-page/index.ts b/apps/web/src/components/features/home-page/index.ts similarity index 100% rename from apps/frontend/src/components/features/home-page/index.ts rename to apps/web/src/components/features/home-page/index.ts diff --git a/apps/frontend/src/components/features/overlays/spotify/DefaultOverlay.vue b/apps/web/src/components/features/overlays/spotify/DefaultOverlay.vue similarity index 100% rename from apps/frontend/src/components/features/overlays/spotify/DefaultOverlay.vue rename to apps/web/src/components/features/overlays/spotify/DefaultOverlay.vue diff --git a/apps/frontend/src/components/features/overlays/spotify/index.ts b/apps/web/src/components/features/overlays/spotify/index.ts similarity index 100% rename from apps/frontend/src/components/features/overlays/spotify/index.ts rename to apps/web/src/components/features/overlays/spotify/index.ts diff --git a/apps/frontend/src/components/features/overlays/spotify/types.ts b/apps/web/src/components/features/overlays/spotify/types.ts similarity index 100% rename from apps/frontend/src/components/features/overlays/spotify/types.ts rename to apps/web/src/components/features/overlays/spotify/types.ts diff --git a/apps/frontend/src/components/features/overlays/valorant/MiniOverlay.vue b/apps/web/src/components/features/overlays/valorant/MiniOverlay.vue similarity index 100% rename from apps/frontend/src/components/features/overlays/valorant/MiniOverlay.vue rename to apps/web/src/components/features/overlays/valorant/MiniOverlay.vue diff --git a/apps/frontend/src/components/features/overlays/valorant/NewOverlay.vue b/apps/web/src/components/features/overlays/valorant/NewOverlay.vue similarity index 100% rename from apps/frontend/src/components/features/overlays/valorant/NewOverlay.vue rename to apps/web/src/components/features/overlays/valorant/NewOverlay.vue diff --git a/apps/frontend/src/components/features/overlays/valorant/NewV2Overlay.vue b/apps/web/src/components/features/overlays/valorant/NewV2Overlay.vue similarity index 100% rename from apps/frontend/src/components/features/overlays/valorant/NewV2Overlay.vue rename to apps/web/src/components/features/overlays/valorant/NewV2Overlay.vue diff --git a/apps/frontend/src/components/features/overlays/valorant/OldOverlay.vue b/apps/web/src/components/features/overlays/valorant/OldOverlay.vue similarity index 100% rename from apps/frontend/src/components/features/overlays/valorant/OldOverlay.vue rename to apps/web/src/components/features/overlays/valorant/OldOverlay.vue diff --git a/apps/frontend/src/components/features/overlays/valorant/index.ts b/apps/web/src/components/features/overlays/valorant/index.ts similarity index 100% rename from apps/frontend/src/components/features/overlays/valorant/index.ts rename to apps/web/src/components/features/overlays/valorant/index.ts diff --git a/apps/frontend/src/components/shared/icons/games/CS2.vue b/apps/web/src/components/shared/icons/games/CS2.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/games/CS2.vue rename to apps/web/src/components/shared/icons/games/CS2.vue diff --git a/apps/frontend/src/components/shared/icons/games/Fortnite.vue b/apps/web/src/components/shared/icons/games/Fortnite.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/games/Fortnite.vue rename to apps/web/src/components/shared/icons/games/Fortnite.vue diff --git a/apps/frontend/src/components/shared/icons/games/Valorant.vue b/apps/web/src/components/shared/icons/games/Valorant.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/games/Valorant.vue rename to apps/web/src/components/shared/icons/games/Valorant.vue diff --git a/apps/frontend/src/components/shared/icons/index.ts b/apps/web/src/components/shared/icons/index.ts similarity index 100% rename from apps/frontend/src/components/shared/icons/index.ts rename to apps/web/src/components/shared/icons/index.ts diff --git a/apps/frontend/src/components/shared/icons/motion-grid/Loading.vue b/apps/web/src/components/shared/icons/motion-grid/Loading.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/motion-grid/Loading.vue rename to apps/web/src/components/shared/icons/motion-grid/Loading.vue diff --git a/apps/frontend/src/components/shared/icons/motion-grid/index.ts b/apps/web/src/components/shared/icons/motion-grid/index.ts similarity index 100% rename from apps/frontend/src/components/shared/icons/motion-grid/index.ts rename to apps/web/src/components/shared/icons/motion-grid/index.ts diff --git a/apps/frontend/src/components/shared/icons/other/Hearts.vue b/apps/web/src/components/shared/icons/other/Hearts.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/other/Hearts.vue rename to apps/web/src/components/shared/icons/other/Hearts.vue diff --git a/apps/frontend/src/components/shared/icons/other/TwitchVerify.vue b/apps/web/src/components/shared/icons/other/TwitchVerify.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/other/TwitchVerify.vue rename to apps/web/src/components/shared/icons/other/TwitchVerify.vue diff --git a/apps/frontend/src/components/shared/icons/other/Valory.vue b/apps/web/src/components/shared/icons/other/Valory.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/other/Valory.vue rename to apps/web/src/components/shared/icons/other/Valory.vue diff --git a/apps/frontend/src/components/shared/icons/other/ValoryOutline.vue b/apps/web/src/components/shared/icons/other/ValoryOutline.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/other/ValoryOutline.vue rename to apps/web/src/components/shared/icons/other/ValoryOutline.vue diff --git a/apps/frontend/src/components/shared/icons/other/reset.vue b/apps/web/src/components/shared/icons/other/reset.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/other/reset.vue rename to apps/web/src/components/shared/icons/other/reset.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Discord.vue b/apps/web/src/components/shared/icons/socials/Discord.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Discord.vue rename to apps/web/src/components/shared/icons/socials/Discord.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Github.vue b/apps/web/src/components/shared/icons/socials/Github.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Github.vue rename to apps/web/src/components/shared/icons/socials/Github.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Kick.vue b/apps/web/src/components/shared/icons/socials/Kick.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Kick.vue rename to apps/web/src/components/shared/icons/socials/Kick.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Riot.vue b/apps/web/src/components/shared/icons/socials/Riot.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Riot.vue rename to apps/web/src/components/shared/icons/socials/Riot.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Spotify.vue b/apps/web/src/components/shared/icons/socials/Spotify.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Spotify.vue rename to apps/web/src/components/shared/icons/socials/Spotify.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Telegram.vue b/apps/web/src/components/shared/icons/socials/Telegram.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Telegram.vue rename to apps/web/src/components/shared/icons/socials/Telegram.vue diff --git a/apps/frontend/src/components/shared/icons/socials/Twitch.vue b/apps/web/src/components/shared/icons/socials/Twitch.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/Twitch.vue rename to apps/web/src/components/shared/icons/socials/Twitch.vue diff --git a/apps/frontend/src/components/shared/icons/socials/YouTube.vue b/apps/web/src/components/shared/icons/socials/YouTube.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/YouTube.vue rename to apps/web/src/components/shared/icons/socials/YouTube.vue diff --git a/apps/frontend/src/components/shared/icons/socials/full/Kick.vue b/apps/web/src/components/shared/icons/socials/full/Kick.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/full/Kick.vue rename to apps/web/src/components/shared/icons/socials/full/Kick.vue diff --git a/apps/frontend/src/components/shared/icons/socials/full/Twitch.vue b/apps/web/src/components/shared/icons/socials/full/Twitch.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/full/Twitch.vue rename to apps/web/src/components/shared/icons/socials/full/Twitch.vue diff --git a/apps/frontend/src/components/shared/icons/socials/full/YouTube.vue b/apps/web/src/components/shared/icons/socials/full/YouTube.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/socials/full/YouTube.vue rename to apps/web/src/components/shared/icons/socials/full/YouTube.vue diff --git a/apps/frontend/src/components/shared/icons/streamersapps/obs.vue b/apps/web/src/components/shared/icons/streamersapps/obs.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/streamersapps/obs.vue rename to apps/web/src/components/shared/icons/streamersapps/obs.vue diff --git a/apps/frontend/src/components/shared/icons/streamersapps/streamlabs.vue b/apps/web/src/components/shared/icons/streamersapps/streamlabs.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/streamersapps/streamlabs.vue rename to apps/web/src/components/shared/icons/streamersapps/streamlabs.vue diff --git a/apps/frontend/src/components/shared/icons/streamersapps/xsplit.vue b/apps/web/src/components/shared/icons/streamersapps/xsplit.vue similarity index 100% rename from apps/frontend/src/components/shared/icons/streamersapps/xsplit.vue rename to apps/web/src/components/shared/icons/streamersapps/xsplit.vue diff --git a/apps/frontend/src/components/ui/ContainerScroll/ContainerScroll.vue b/apps/web/src/components/ui/ContainerScroll/ContainerScroll.vue similarity index 100% rename from apps/frontend/src/components/ui/ContainerScroll/ContainerScroll.vue rename to apps/web/src/components/ui/ContainerScroll/ContainerScroll.vue diff --git a/apps/frontend/src/components/ui/ContainerScroll/ContainerScrollCard.vue b/apps/web/src/components/ui/ContainerScroll/ContainerScrollCard.vue similarity index 100% rename from apps/frontend/src/components/ui/ContainerScroll/ContainerScrollCard.vue rename to apps/web/src/components/ui/ContainerScroll/ContainerScrollCard.vue diff --git a/apps/frontend/src/components/ui/ContainerScroll/ContainerScrollTitle.vue b/apps/web/src/components/ui/ContainerScroll/ContainerScrollTitle.vue similarity index 100% rename from apps/frontend/src/components/ui/ContainerScroll/ContainerScrollTitle.vue rename to apps/web/src/components/ui/ContainerScroll/ContainerScrollTitle.vue diff --git a/apps/frontend/src/components/ui/InputWithIcon.vue b/apps/web/src/components/ui/InputWithIcon.vue similarity index 100% rename from apps/frontend/src/components/ui/InputWithIcon.vue rename to apps/web/src/components/ui/InputWithIcon.vue diff --git a/apps/frontend/src/components/ui/LanguageSwitcher.vue b/apps/web/src/components/ui/LanguageSwitcher.vue similarity index 100% rename from apps/frontend/src/components/ui/LanguageSwitcher.vue rename to apps/web/src/components/ui/LanguageSwitcher.vue diff --git a/apps/frontend/src/components/ui/LinkPreview.vue b/apps/web/src/components/ui/LinkPreview.vue similarity index 100% rename from apps/frontend/src/components/ui/LinkPreview.vue rename to apps/web/src/components/ui/LinkPreview.vue diff --git a/apps/frontend/src/components/ui/Marquee.vue b/apps/web/src/components/ui/Marquee.vue similarity index 100% rename from apps/frontend/src/components/ui/Marquee.vue rename to apps/web/src/components/ui/Marquee.vue diff --git a/apps/frontend/src/components/ui/MotionGrid.vue b/apps/web/src/components/ui/MotionGrid.vue similarity index 100% rename from apps/frontend/src/components/ui/MotionGrid.vue rename to apps/web/src/components/ui/MotionGrid.vue diff --git a/apps/frontend/src/components/ui/Noise.vue b/apps/web/src/components/ui/Noise.vue similarity index 100% rename from apps/frontend/src/components/ui/Noise.vue rename to apps/web/src/components/ui/Noise.vue diff --git a/apps/frontend/src/components/ui/ParticlesBg.vue b/apps/web/src/components/ui/ParticlesBg.vue similarity index 100% rename from apps/frontend/src/components/ui/ParticlesBg.vue rename to apps/web/src/components/ui/ParticlesBg.vue diff --git a/apps/frontend/src/components/ui/RotatingText.vue b/apps/web/src/components/ui/RotatingText.vue similarity index 100% rename from apps/frontend/src/components/ui/RotatingText.vue rename to apps/web/src/components/ui/RotatingText.vue diff --git a/apps/frontend/src/components/ui/SelectFont.vue b/apps/web/src/components/ui/SelectFont.vue similarity index 100% rename from apps/frontend/src/components/ui/SelectFont.vue rename to apps/web/src/components/ui/SelectFont.vue diff --git a/apps/frontend/src/components/ui/SelectLayout.vue b/apps/web/src/components/ui/SelectLayout.vue similarity index 100% rename from apps/frontend/src/components/ui/SelectLayout.vue rename to apps/web/src/components/ui/SelectLayout.vue diff --git a/apps/frontend/src/components/ui/ShowShortcuts.vue b/apps/web/src/components/ui/ShowShortcuts.vue similarity index 100% rename from apps/frontend/src/components/ui/ShowShortcuts.vue rename to apps/web/src/components/ui/ShowShortcuts.vue diff --git a/apps/frontend/src/components/ui/Sparkles.vue b/apps/web/src/components/ui/Sparkles.vue similarity index 100% rename from apps/frontend/src/components/ui/Sparkles.vue rename to apps/web/src/components/ui/Sparkles.vue diff --git a/apps/frontend/src/components/ui/TiltCard.vue b/apps/web/src/components/ui/TiltCard.vue similarity index 100% rename from apps/frontend/src/components/ui/TiltCard.vue rename to apps/web/src/components/ui/TiltCard.vue diff --git a/apps/frontend/src/components/ui/accordion/Accordion.vue b/apps/web/src/components/ui/accordion/Accordion.vue similarity index 100% rename from apps/frontend/src/components/ui/accordion/Accordion.vue rename to apps/web/src/components/ui/accordion/Accordion.vue diff --git a/apps/frontend/src/components/ui/accordion/AccordionContent.vue b/apps/web/src/components/ui/accordion/AccordionContent.vue similarity index 100% rename from apps/frontend/src/components/ui/accordion/AccordionContent.vue rename to apps/web/src/components/ui/accordion/AccordionContent.vue diff --git a/apps/frontend/src/components/ui/accordion/AccordionItem.vue b/apps/web/src/components/ui/accordion/AccordionItem.vue similarity index 100% rename from apps/frontend/src/components/ui/accordion/AccordionItem.vue rename to apps/web/src/components/ui/accordion/AccordionItem.vue diff --git a/apps/frontend/src/components/ui/accordion/AccordionTrigger.vue b/apps/web/src/components/ui/accordion/AccordionTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/accordion/AccordionTrigger.vue rename to apps/web/src/components/ui/accordion/AccordionTrigger.vue diff --git a/apps/frontend/src/components/ui/accordion/index.ts b/apps/web/src/components/ui/accordion/index.ts similarity index 100% rename from apps/frontend/src/components/ui/accordion/index.ts rename to apps/web/src/components/ui/accordion/index.ts diff --git a/apps/frontend/src/components/ui/background/DarkVeil.vue b/apps/web/src/components/ui/background/DarkVeil.vue similarity index 100% rename from apps/frontend/src/components/ui/background/DarkVeil.vue rename to apps/web/src/components/ui/background/DarkVeil.vue diff --git a/apps/frontend/src/components/ui/background/index.ts b/apps/web/src/components/ui/background/index.ts similarity index 100% rename from apps/frontend/src/components/ui/background/index.ts rename to apps/web/src/components/ui/background/index.ts diff --git a/apps/frontend/src/components/ui/button/Button.vue b/apps/web/src/components/ui/button/Button.vue similarity index 100% rename from apps/frontend/src/components/ui/button/Button.vue rename to apps/web/src/components/ui/button/Button.vue diff --git a/apps/frontend/src/components/ui/button/InteractiveHoverButton.vue b/apps/web/src/components/ui/button/InteractiveHoverButton.vue similarity index 100% rename from apps/frontend/src/components/ui/button/InteractiveHoverButton.vue rename to apps/web/src/components/ui/button/InteractiveHoverButton.vue diff --git a/apps/frontend/src/components/ui/button/index.ts b/apps/web/src/components/ui/button/index.ts similarity index 100% rename from apps/frontend/src/components/ui/button/index.ts rename to apps/web/src/components/ui/button/index.ts diff --git a/apps/frontend/src/components/ui/color-picker/ColorPicker.vue b/apps/web/src/components/ui/color-picker/ColorPicker.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPicker.vue rename to apps/web/src/components/ui/color-picker/ColorPicker.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerAlpha.vue b/apps/web/src/components/ui/color-picker/ColorPickerAlpha.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerAlpha.vue rename to apps/web/src/components/ui/color-picker/ColorPickerAlpha.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerEyeDropper.vue b/apps/web/src/components/ui/color-picker/ColorPickerEyeDropper.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerEyeDropper.vue rename to apps/web/src/components/ui/color-picker/ColorPickerEyeDropper.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerHue.vue b/apps/web/src/components/ui/color-picker/ColorPickerHue.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerHue.vue rename to apps/web/src/components/ui/color-picker/ColorPickerHue.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerInputs.vue b/apps/web/src/components/ui/color-picker/ColorPickerInputs.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerInputs.vue rename to apps/web/src/components/ui/color-picker/ColorPickerInputs.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerPresets.vue b/apps/web/src/components/ui/color-picker/ColorPickerPresets.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerPresets.vue rename to apps/web/src/components/ui/color-picker/ColorPickerPresets.vue diff --git a/apps/frontend/src/components/ui/color-picker/ColorPickerSaturation.vue b/apps/web/src/components/ui/color-picker/ColorPickerSaturation.vue similarity index 100% rename from apps/frontend/src/components/ui/color-picker/ColorPickerSaturation.vue rename to apps/web/src/components/ui/color-picker/ColorPickerSaturation.vue diff --git a/apps/frontend/src/components/ui/color-picker/index.ts b/apps/web/src/components/ui/color-picker/index.ts similarity index 100% rename from apps/frontend/src/components/ui/color-picker/index.ts rename to apps/web/src/components/ui/color-picker/index.ts diff --git a/apps/frontend/src/components/ui/content/Content.vue b/apps/web/src/components/ui/content/Content.vue similarity index 100% rename from apps/frontend/src/components/ui/content/Content.vue rename to apps/web/src/components/ui/content/Content.vue diff --git a/apps/frontend/src/components/ui/content/ContentContainer.vue b/apps/web/src/components/ui/content/ContentContainer.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentContainer.vue rename to apps/web/src/components/ui/content/ContentContainer.vue diff --git a/apps/frontend/src/components/ui/content/ContentHeader.vue b/apps/web/src/components/ui/content/ContentHeader.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentHeader.vue rename to apps/web/src/components/ui/content/ContentHeader.vue diff --git a/apps/frontend/src/components/ui/content/ContentPageLastMod.vue b/apps/web/src/components/ui/content/ContentPageLastMod.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentPageLastMod.vue rename to apps/web/src/components/ui/content/ContentPageLastMod.vue diff --git a/apps/frontend/src/components/ui/content/ContentPageTitle.vue b/apps/web/src/components/ui/content/ContentPageTitle.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentPageTitle.vue rename to apps/web/src/components/ui/content/ContentPageTitle.vue diff --git a/apps/frontend/src/components/ui/content/ContentParagraph.vue b/apps/web/src/components/ui/content/ContentParagraph.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentParagraph.vue rename to apps/web/src/components/ui/content/ContentParagraph.vue diff --git a/apps/frontend/src/components/ui/content/ContentParagraphTitle.vue b/apps/web/src/components/ui/content/ContentParagraphTitle.vue similarity index 100% rename from apps/frontend/src/components/ui/content/ContentParagraphTitle.vue rename to apps/web/src/components/ui/content/ContentParagraphTitle.vue diff --git a/apps/frontend/src/components/ui/content/index.ts b/apps/web/src/components/ui/content/index.ts similarity index 100% rename from apps/frontend/src/components/ui/content/index.ts rename to apps/web/src/components/ui/content/index.ts diff --git a/apps/frontend/src/components/ui/dialog/Dialog.vue b/apps/web/src/components/ui/dialog/Dialog.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/Dialog.vue rename to apps/web/src/components/ui/dialog/Dialog.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogClose.vue b/apps/web/src/components/ui/dialog/DialogClose.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogClose.vue rename to apps/web/src/components/ui/dialog/DialogClose.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogContent.vue b/apps/web/src/components/ui/dialog/DialogContent.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogContent.vue rename to apps/web/src/components/ui/dialog/DialogContent.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogDescription.vue b/apps/web/src/components/ui/dialog/DialogDescription.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogDescription.vue rename to apps/web/src/components/ui/dialog/DialogDescription.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogFooter.vue b/apps/web/src/components/ui/dialog/DialogFooter.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogFooter.vue rename to apps/web/src/components/ui/dialog/DialogFooter.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogHeader.vue b/apps/web/src/components/ui/dialog/DialogHeader.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogHeader.vue rename to apps/web/src/components/ui/dialog/DialogHeader.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogOverlay.vue b/apps/web/src/components/ui/dialog/DialogOverlay.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogOverlay.vue rename to apps/web/src/components/ui/dialog/DialogOverlay.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogScrollContent.vue b/apps/web/src/components/ui/dialog/DialogScrollContent.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogScrollContent.vue rename to apps/web/src/components/ui/dialog/DialogScrollContent.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogTitle.vue b/apps/web/src/components/ui/dialog/DialogTitle.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogTitle.vue rename to apps/web/src/components/ui/dialog/DialogTitle.vue diff --git a/apps/frontend/src/components/ui/dialog/DialogTrigger.vue b/apps/web/src/components/ui/dialog/DialogTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/dialog/DialogTrigger.vue rename to apps/web/src/components/ui/dialog/DialogTrigger.vue diff --git a/apps/frontend/src/components/ui/dialog/index.ts b/apps/web/src/components/ui/dialog/index.ts similarity index 100% rename from apps/frontend/src/components/ui/dialog/index.ts rename to apps/web/src/components/ui/dialog/index.ts diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenu.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenu.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenu.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenu.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuContent.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuContent.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuContent.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuContent.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuGroup.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuGroup.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuGroup.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuGroup.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuItem.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuItem.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuItem.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuItem.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuLabel.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuLabel.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuLabel.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuLabel.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSub.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuSub.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSub.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuSub.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue b/apps/web/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue rename to apps/web/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue diff --git a/apps/frontend/src/components/ui/dropdown-menu/index.ts b/apps/web/src/components/ui/dropdown-menu/index.ts similarity index 100% rename from apps/frontend/src/components/ui/dropdown-menu/index.ts rename to apps/web/src/components/ui/dropdown-menu/index.ts diff --git a/apps/frontend/src/components/ui/hover-card/HoverCard.vue b/apps/web/src/components/ui/hover-card/HoverCard.vue similarity index 100% rename from apps/frontend/src/components/ui/hover-card/HoverCard.vue rename to apps/web/src/components/ui/hover-card/HoverCard.vue diff --git a/apps/frontend/src/components/ui/hover-card/HoverCardContent.vue b/apps/web/src/components/ui/hover-card/HoverCardContent.vue similarity index 100% rename from apps/frontend/src/components/ui/hover-card/HoverCardContent.vue rename to apps/web/src/components/ui/hover-card/HoverCardContent.vue diff --git a/apps/frontend/src/components/ui/hover-card/HoverCardTrigger.vue b/apps/web/src/components/ui/hover-card/HoverCardTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/hover-card/HoverCardTrigger.vue rename to apps/web/src/components/ui/hover-card/HoverCardTrigger.vue diff --git a/apps/frontend/src/components/ui/hover-card/index.ts b/apps/web/src/components/ui/hover-card/index.ts similarity index 100% rename from apps/frontend/src/components/ui/hover-card/index.ts rename to apps/web/src/components/ui/hover-card/index.ts diff --git a/apps/frontend/src/components/ui/index.ts b/apps/web/src/components/ui/index.ts similarity index 100% rename from apps/frontend/src/components/ui/index.ts rename to apps/web/src/components/ui/index.ts diff --git a/apps/frontend/src/components/ui/input/Input.vue b/apps/web/src/components/ui/input/Input.vue similarity index 100% rename from apps/frontend/src/components/ui/input/Input.vue rename to apps/web/src/components/ui/input/Input.vue diff --git a/apps/frontend/src/components/ui/input/index.ts b/apps/web/src/components/ui/input/index.ts similarity index 100% rename from apps/frontend/src/components/ui/input/index.ts rename to apps/web/src/components/ui/input/index.ts diff --git a/apps/frontend/src/components/ui/kbd/index.ts b/apps/web/src/components/ui/kbd/index.ts similarity index 100% rename from apps/frontend/src/components/ui/kbd/index.ts rename to apps/web/src/components/ui/kbd/index.ts diff --git a/apps/frontend/src/components/ui/kbd/kbd.vue b/apps/web/src/components/ui/kbd/kbd.vue similarity index 100% rename from apps/frontend/src/components/ui/kbd/kbd.vue rename to apps/web/src/components/ui/kbd/kbd.vue diff --git a/apps/frontend/src/components/ui/label/Label.vue b/apps/web/src/components/ui/label/Label.vue similarity index 100% rename from apps/frontend/src/components/ui/label/Label.vue rename to apps/web/src/components/ui/label/Label.vue diff --git a/apps/frontend/src/components/ui/label/index.ts b/apps/web/src/components/ui/label/index.ts similarity index 100% rename from apps/frontend/src/components/ui/label/index.ts rename to apps/web/src/components/ui/label/index.ts diff --git a/apps/frontend/src/components/ui/popover/Popover.vue b/apps/web/src/components/ui/popover/Popover.vue similarity index 100% rename from apps/frontend/src/components/ui/popover/Popover.vue rename to apps/web/src/components/ui/popover/Popover.vue diff --git a/apps/frontend/src/components/ui/popover/PopoverAnchor.vue b/apps/web/src/components/ui/popover/PopoverAnchor.vue similarity index 100% rename from apps/frontend/src/components/ui/popover/PopoverAnchor.vue rename to apps/web/src/components/ui/popover/PopoverAnchor.vue diff --git a/apps/frontend/src/components/ui/popover/PopoverContent.vue b/apps/web/src/components/ui/popover/PopoverContent.vue similarity index 100% rename from apps/frontend/src/components/ui/popover/PopoverContent.vue rename to apps/web/src/components/ui/popover/PopoverContent.vue diff --git a/apps/frontend/src/components/ui/popover/PopoverTrigger.vue b/apps/web/src/components/ui/popover/PopoverTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/popover/PopoverTrigger.vue rename to apps/web/src/components/ui/popover/PopoverTrigger.vue diff --git a/apps/frontend/src/components/ui/popover/index.ts b/apps/web/src/components/ui/popover/index.ts similarity index 100% rename from apps/frontend/src/components/ui/popover/index.ts rename to apps/web/src/components/ui/popover/index.ts diff --git a/apps/frontend/src/components/ui/select/Select.vue b/apps/web/src/components/ui/select/Select.vue similarity index 100% rename from apps/frontend/src/components/ui/select/Select.vue rename to apps/web/src/components/ui/select/Select.vue diff --git a/apps/frontend/src/components/ui/select/SelectContent.vue b/apps/web/src/components/ui/select/SelectContent.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectContent.vue rename to apps/web/src/components/ui/select/SelectContent.vue diff --git a/apps/frontend/src/components/ui/select/SelectGroup.vue b/apps/web/src/components/ui/select/SelectGroup.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectGroup.vue rename to apps/web/src/components/ui/select/SelectGroup.vue diff --git a/apps/frontend/src/components/ui/select/SelectItem.vue b/apps/web/src/components/ui/select/SelectItem.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectItem.vue rename to apps/web/src/components/ui/select/SelectItem.vue diff --git a/apps/frontend/src/components/ui/select/SelectItemText.vue b/apps/web/src/components/ui/select/SelectItemText.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectItemText.vue rename to apps/web/src/components/ui/select/SelectItemText.vue diff --git a/apps/frontend/src/components/ui/select/SelectLabel.vue b/apps/web/src/components/ui/select/SelectLabel.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectLabel.vue rename to apps/web/src/components/ui/select/SelectLabel.vue diff --git a/apps/frontend/src/components/ui/select/SelectScrollDownButton.vue b/apps/web/src/components/ui/select/SelectScrollDownButton.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectScrollDownButton.vue rename to apps/web/src/components/ui/select/SelectScrollDownButton.vue diff --git a/apps/frontend/src/components/ui/select/SelectScrollUpButton.vue b/apps/web/src/components/ui/select/SelectScrollUpButton.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectScrollUpButton.vue rename to apps/web/src/components/ui/select/SelectScrollUpButton.vue diff --git a/apps/frontend/src/components/ui/select/SelectSeparator.vue b/apps/web/src/components/ui/select/SelectSeparator.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectSeparator.vue rename to apps/web/src/components/ui/select/SelectSeparator.vue diff --git a/apps/frontend/src/components/ui/select/SelectTrigger.vue b/apps/web/src/components/ui/select/SelectTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectTrigger.vue rename to apps/web/src/components/ui/select/SelectTrigger.vue diff --git a/apps/frontend/src/components/ui/select/SelectValue.vue b/apps/web/src/components/ui/select/SelectValue.vue similarity index 100% rename from apps/frontend/src/components/ui/select/SelectValue.vue rename to apps/web/src/components/ui/select/SelectValue.vue diff --git a/apps/frontend/src/components/ui/select/index.ts b/apps/web/src/components/ui/select/index.ts similarity index 100% rename from apps/frontend/src/components/ui/select/index.ts rename to apps/web/src/components/ui/select/index.ts diff --git a/apps/frontend/src/components/ui/separator/Separator.vue b/apps/web/src/components/ui/separator/Separator.vue similarity index 100% rename from apps/frontend/src/components/ui/separator/Separator.vue rename to apps/web/src/components/ui/separator/Separator.vue diff --git a/apps/frontend/src/components/ui/separator/index.ts b/apps/web/src/components/ui/separator/index.ts similarity index 100% rename from apps/frontend/src/components/ui/separator/index.ts rename to apps/web/src/components/ui/separator/index.ts diff --git a/apps/frontend/src/components/ui/skeleton/Skeleton.vue b/apps/web/src/components/ui/skeleton/Skeleton.vue similarity index 100% rename from apps/frontend/src/components/ui/skeleton/Skeleton.vue rename to apps/web/src/components/ui/skeleton/Skeleton.vue diff --git a/apps/frontend/src/components/ui/skeleton/index.ts b/apps/web/src/components/ui/skeleton/index.ts similarity index 100% rename from apps/frontend/src/components/ui/skeleton/index.ts rename to apps/web/src/components/ui/skeleton/index.ts diff --git a/apps/frontend/src/components/ui/slider/Slider.vue b/apps/web/src/components/ui/slider/Slider.vue similarity index 100% rename from apps/frontend/src/components/ui/slider/Slider.vue rename to apps/web/src/components/ui/slider/Slider.vue diff --git a/apps/frontend/src/components/ui/slider/index.ts b/apps/web/src/components/ui/slider/index.ts similarity index 100% rename from apps/frontend/src/components/ui/slider/index.ts rename to apps/web/src/components/ui/slider/index.ts diff --git a/apps/frontend/src/components/ui/stepper/Stepper.vue b/apps/web/src/components/ui/stepper/Stepper.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/Stepper.vue rename to apps/web/src/components/ui/stepper/Stepper.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperDescription.vue b/apps/web/src/components/ui/stepper/StepperDescription.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperDescription.vue rename to apps/web/src/components/ui/stepper/StepperDescription.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperIndicator.vue b/apps/web/src/components/ui/stepper/StepperIndicator.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperIndicator.vue rename to apps/web/src/components/ui/stepper/StepperIndicator.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperItem.vue b/apps/web/src/components/ui/stepper/StepperItem.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperItem.vue rename to apps/web/src/components/ui/stepper/StepperItem.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperSeparator.vue b/apps/web/src/components/ui/stepper/StepperSeparator.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperSeparator.vue rename to apps/web/src/components/ui/stepper/StepperSeparator.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperTitle.vue b/apps/web/src/components/ui/stepper/StepperTitle.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperTitle.vue rename to apps/web/src/components/ui/stepper/StepperTitle.vue diff --git a/apps/frontend/src/components/ui/stepper/StepperTrigger.vue b/apps/web/src/components/ui/stepper/StepperTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/stepper/StepperTrigger.vue rename to apps/web/src/components/ui/stepper/StepperTrigger.vue diff --git a/apps/frontend/src/components/ui/stepper/index.ts b/apps/web/src/components/ui/stepper/index.ts similarity index 100% rename from apps/frontend/src/components/ui/stepper/index.ts rename to apps/web/src/components/ui/stepper/index.ts diff --git a/apps/frontend/src/components/ui/switch-toggle/SwitchToggle.vue b/apps/web/src/components/ui/switch-toggle/SwitchToggle.vue similarity index 100% rename from apps/frontend/src/components/ui/switch-toggle/SwitchToggle.vue rename to apps/web/src/components/ui/switch-toggle/SwitchToggle.vue diff --git a/apps/frontend/src/components/ui/switch-toggle/index.ts b/apps/web/src/components/ui/switch-toggle/index.ts similarity index 100% rename from apps/frontend/src/components/ui/switch-toggle/index.ts rename to apps/web/src/components/ui/switch-toggle/index.ts diff --git a/apps/frontend/src/components/ui/switch/Switch.vue b/apps/web/src/components/ui/switch/Switch.vue similarity index 100% rename from apps/frontend/src/components/ui/switch/Switch.vue rename to apps/web/src/components/ui/switch/Switch.vue diff --git a/apps/frontend/src/components/ui/switch/index.ts b/apps/web/src/components/ui/switch/index.ts similarity index 100% rename from apps/frontend/src/components/ui/switch/index.ts rename to apps/web/src/components/ui/switch/index.ts diff --git a/apps/frontend/src/components/ui/tabs/Tabs.vue b/apps/web/src/components/ui/tabs/Tabs.vue similarity index 100% rename from apps/frontend/src/components/ui/tabs/Tabs.vue rename to apps/web/src/components/ui/tabs/Tabs.vue diff --git a/apps/frontend/src/components/ui/tabs/TabsContent.vue b/apps/web/src/components/ui/tabs/TabsContent.vue similarity index 100% rename from apps/frontend/src/components/ui/tabs/TabsContent.vue rename to apps/web/src/components/ui/tabs/TabsContent.vue diff --git a/apps/frontend/src/components/ui/tabs/TabsList.vue b/apps/web/src/components/ui/tabs/TabsList.vue similarity index 100% rename from apps/frontend/src/components/ui/tabs/TabsList.vue rename to apps/web/src/components/ui/tabs/TabsList.vue diff --git a/apps/frontend/src/components/ui/tabs/TabsTrigger.vue b/apps/web/src/components/ui/tabs/TabsTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/tabs/TabsTrigger.vue rename to apps/web/src/components/ui/tabs/TabsTrigger.vue diff --git a/apps/frontend/src/components/ui/tabs/index.ts b/apps/web/src/components/ui/tabs/index.ts similarity index 100% rename from apps/frontend/src/components/ui/tabs/index.ts rename to apps/web/src/components/ui/tabs/index.ts diff --git a/apps/frontend/src/components/ui/tooltip/Tooltip.vue b/apps/web/src/components/ui/tooltip/Tooltip.vue similarity index 100% rename from apps/frontend/src/components/ui/tooltip/Tooltip.vue rename to apps/web/src/components/ui/tooltip/Tooltip.vue diff --git a/apps/frontend/src/components/ui/tooltip/TooltipContent.vue b/apps/web/src/components/ui/tooltip/TooltipContent.vue similarity index 100% rename from apps/frontend/src/components/ui/tooltip/TooltipContent.vue rename to apps/web/src/components/ui/tooltip/TooltipContent.vue diff --git a/apps/frontend/src/components/ui/tooltip/TooltipProvider.vue b/apps/web/src/components/ui/tooltip/TooltipProvider.vue similarity index 100% rename from apps/frontend/src/components/ui/tooltip/TooltipProvider.vue rename to apps/web/src/components/ui/tooltip/TooltipProvider.vue diff --git a/apps/frontend/src/components/ui/tooltip/TooltipTrigger.vue b/apps/web/src/components/ui/tooltip/TooltipTrigger.vue similarity index 100% rename from apps/frontend/src/components/ui/tooltip/TooltipTrigger.vue rename to apps/web/src/components/ui/tooltip/TooltipTrigger.vue diff --git a/apps/frontend/src/components/ui/tooltip/index.ts b/apps/web/src/components/ui/tooltip/index.ts similarity index 100% rename from apps/frontend/src/components/ui/tooltip/index.ts rename to apps/web/src/components/ui/tooltip/index.ts diff --git a/apps/frontend/src/composables/index.ts b/apps/web/src/composables/index.ts similarity index 100% rename from apps/frontend/src/composables/index.ts rename to apps/web/src/composables/index.ts diff --git a/apps/frontend/src/composables/useConfetti.ts b/apps/web/src/composables/useConfetti.ts similarity index 100% rename from apps/frontend/src/composables/useConfetti.ts rename to apps/web/src/composables/useConfetti.ts diff --git a/apps/frontend/src/composables/useGitHubExtractor.ts b/apps/web/src/composables/useGitHubExtractor.ts similarity index 100% rename from apps/frontend/src/composables/useGitHubExtractor.ts rename to apps/web/src/composables/useGitHubExtractor.ts diff --git a/apps/frontend/src/composables/useMMRUpdater.ts b/apps/web/src/composables/useMMRUpdater.ts similarity index 100% rename from apps/frontend/src/composables/useMMRUpdater.ts rename to apps/web/src/composables/useMMRUpdater.ts diff --git a/apps/frontend/src/composables/useMetaExtractor.ts b/apps/web/src/composables/useMetaExtractor.ts similarity index 100% rename from apps/frontend/src/composables/useMetaExtractor.ts rename to apps/web/src/composables/useMetaExtractor.ts diff --git a/apps/frontend/src/composables/useOverlayData.ts b/apps/web/src/composables/useOverlayData.ts similarity index 100% rename from apps/frontend/src/composables/useOverlayData.ts rename to apps/web/src/composables/useOverlayData.ts diff --git a/apps/frontend/src/composables/useOverlayScheduler.ts b/apps/web/src/composables/useOverlayScheduler.ts similarity index 100% rename from apps/frontend/src/composables/useOverlayScheduler.ts rename to apps/web/src/composables/useOverlayScheduler.ts diff --git a/apps/frontend/src/data/ConfiguratorNav.data.ts b/apps/web/src/data/ConfiguratorNav.data.ts similarity index 100% rename from apps/frontend/src/data/ConfiguratorNav.data.ts rename to apps/web/src/data/ConfiguratorNav.data.ts diff --git a/apps/frontend/src/data/FooterNav.data.ts b/apps/web/src/data/FooterNav.data.ts similarity index 100% rename from apps/frontend/src/data/FooterNav.data.ts rename to apps/web/src/data/FooterNav.data.ts diff --git a/apps/frontend/src/data/HeaderNav.data.ts b/apps/web/src/data/HeaderNav.data.ts similarity index 100% rename from apps/frontend/src/data/HeaderNav.data.ts rename to apps/web/src/data/HeaderNav.data.ts diff --git a/apps/frontend/src/data/PreviewTabs.data.ts b/apps/web/src/data/PreviewTabs.data.ts similarity index 100% rename from apps/frontend/src/data/PreviewTabs.data.ts rename to apps/web/src/data/PreviewTabs.data.ts diff --git a/apps/frontend/src/data/SocialLinks.data.ts b/apps/web/src/data/SocialLinks.data.ts similarity index 100% rename from apps/frontend/src/data/SocialLinks.data.ts rename to apps/web/src/data/SocialLinks.data.ts diff --git a/apps/frontend/src/data/index.ts b/apps/web/src/data/index.ts similarity index 100% rename from apps/frontend/src/data/index.ts rename to apps/web/src/data/index.ts diff --git a/apps/frontend/src/i18n/i18n.ts b/apps/web/src/i18n/i18n.ts similarity index 100% rename from apps/frontend/src/i18n/i18n.ts rename to apps/web/src/i18n/i18n.ts diff --git a/apps/frontend/src/i18n/index.ts b/apps/web/src/i18n/index.ts similarity index 100% rename from apps/frontend/src/i18n/index.ts rename to apps/web/src/i18n/index.ts diff --git a/apps/frontend/src/i18n/locales/en.json b/apps/web/src/i18n/locales/en.json similarity index 100% rename from apps/frontend/src/i18n/locales/en.json rename to apps/web/src/i18n/locales/en.json diff --git a/apps/frontend/src/i18n/locales/ru.json b/apps/web/src/i18n/locales/ru.json similarity index 100% rename from apps/frontend/src/i18n/locales/ru.json rename to apps/web/src/i18n/locales/ru.json diff --git a/apps/frontend/src/layouts/ConfiguratorLayout.vue b/apps/web/src/layouts/ConfiguratorLayout.vue similarity index 100% rename from apps/frontend/src/layouts/ConfiguratorLayout.vue rename to apps/web/src/layouts/ConfiguratorLayout.vue diff --git a/apps/frontend/src/layouts/DefaultLayout.vue b/apps/web/src/layouts/DefaultLayout.vue similarity index 100% rename from apps/frontend/src/layouts/DefaultLayout.vue rename to apps/web/src/layouts/DefaultLayout.vue diff --git a/apps/frontend/src/layouts/index.ts b/apps/web/src/layouts/index.ts similarity index 100% rename from apps/frontend/src/layouts/index.ts rename to apps/web/src/layouts/index.ts diff --git a/apps/frontend/src/lib/utils.ts b/apps/web/src/lib/utils.ts similarity index 100% rename from apps/frontend/src/lib/utils.ts rename to apps/web/src/lib/utils.ts diff --git a/apps/frontend/src/main.ts b/apps/web/src/main.ts similarity index 100% rename from apps/frontend/src/main.ts rename to apps/web/src/main.ts diff --git a/apps/frontend/src/pages/Callback.vue b/apps/web/src/pages/Callback.vue similarity index 100% rename from apps/frontend/src/pages/Callback.vue rename to apps/web/src/pages/Callback.vue diff --git a/apps/frontend/src/pages/Home.vue b/apps/web/src/pages/Home.vue similarity index 100% rename from apps/frontend/src/pages/Home.vue rename to apps/web/src/pages/Home.vue diff --git a/apps/frontend/src/pages/NotFound.vue b/apps/web/src/pages/NotFound.vue similarity index 100% rename from apps/frontend/src/pages/NotFound.vue rename to apps/web/src/pages/NotFound.vue diff --git a/apps/frontend/src/pages/NotSupported.vue b/apps/web/src/pages/NotSupported.vue similarity index 100% rename from apps/frontend/src/pages/NotSupported.vue rename to apps/web/src/pages/NotSupported.vue diff --git a/apps/frontend/src/pages/Overlay.vue b/apps/web/src/pages/Overlay.vue similarity index 100% rename from apps/frontend/src/pages/Overlay.vue rename to apps/web/src/pages/Overlay.vue diff --git a/apps/frontend/src/pages/SignIn.vue b/apps/web/src/pages/SignIn.vue similarity index 100% rename from apps/frontend/src/pages/SignIn.vue rename to apps/web/src/pages/SignIn.vue diff --git a/apps/frontend/src/pages/TermsOfService.vue b/apps/web/src/pages/TermsOfService.vue similarity index 100% rename from apps/frontend/src/pages/TermsOfService.vue rename to apps/web/src/pages/TermsOfService.vue diff --git a/apps/frontend/src/pages/configurator/Home.vue b/apps/web/src/pages/configurator/Home.vue similarity index 100% rename from apps/frontend/src/pages/configurator/Home.vue rename to apps/web/src/pages/configurator/Home.vue diff --git a/apps/frontend/src/pages/configurator/Settings.vue b/apps/web/src/pages/configurator/Settings.vue similarity index 100% rename from apps/frontend/src/pages/configurator/Settings.vue rename to apps/web/src/pages/configurator/Settings.vue diff --git a/apps/frontend/src/pages/configurator/Spotify.vue b/apps/web/src/pages/configurator/Spotify.vue similarity index 100% rename from apps/frontend/src/pages/configurator/Spotify.vue rename to apps/web/src/pages/configurator/Spotify.vue diff --git a/apps/frontend/src/pages/configurator/Valorant.vue b/apps/web/src/pages/configurator/Valorant.vue similarity index 100% rename from apps/frontend/src/pages/configurator/Valorant.vue rename to apps/web/src/pages/configurator/Valorant.vue diff --git a/apps/frontend/src/pages/configurator/index.ts b/apps/web/src/pages/configurator/index.ts similarity index 100% rename from apps/frontend/src/pages/configurator/index.ts rename to apps/web/src/pages/configurator/index.ts diff --git a/apps/frontend/src/pages/index.ts b/apps/web/src/pages/index.ts similarity index 100% rename from apps/frontend/src/pages/index.ts rename to apps/web/src/pages/index.ts diff --git a/apps/frontend/src/router/index.ts b/apps/web/src/router/index.ts similarity index 100% rename from apps/frontend/src/router/index.ts rename to apps/web/src/router/index.ts diff --git a/apps/frontend/src/services/auth/user.validator.ts b/apps/web/src/services/auth/user.validator.ts similarity index 100% rename from apps/frontend/src/services/auth/user.validator.ts rename to apps/web/src/services/auth/user.validator.ts diff --git a/apps/frontend/src/services/backend.ts b/apps/web/src/services/backend.ts similarity index 100% rename from apps/frontend/src/services/backend.ts rename to apps/web/src/services/backend.ts diff --git a/apps/frontend/src/services/index.ts b/apps/web/src/services/index.ts similarity index 100% rename from apps/frontend/src/services/index.ts rename to apps/web/src/services/index.ts diff --git a/apps/frontend/src/services/leaderboard.ts b/apps/web/src/services/leaderboard.ts similarity index 100% rename from apps/frontend/src/services/leaderboard.ts rename to apps/web/src/services/leaderboard.ts diff --git a/apps/frontend/src/services/playerInformation.ts b/apps/web/src/services/playerInformation.ts similarity index 100% rename from apps/frontend/src/services/playerInformation.ts rename to apps/web/src/services/playerInformation.ts diff --git a/apps/frontend/src/stores/index.ts b/apps/web/src/stores/index.ts similarity index 100% rename from apps/frontend/src/stores/index.ts rename to apps/web/src/stores/index.ts diff --git a/apps/frontend/src/stores/overlays/useSpotifyOverlayStore.ts b/apps/web/src/stores/overlays/useSpotifyOverlayStore.ts similarity index 100% rename from apps/frontend/src/stores/overlays/useSpotifyOverlayStore.ts rename to apps/web/src/stores/overlays/useSpotifyOverlayStore.ts diff --git a/apps/frontend/src/stores/overlays/useValorantOverlayStore.ts b/apps/web/src/stores/overlays/useValorantOverlayStore.ts similarity index 100% rename from apps/frontend/src/stores/overlays/useValorantOverlayStore.ts rename to apps/web/src/stores/overlays/useValorantOverlayStore.ts diff --git a/apps/frontend/src/stores/useAuthStore.ts b/apps/web/src/stores/useAuthStore.ts similarity index 100% rename from apps/frontend/src/stores/useAuthStore.ts rename to apps/web/src/stores/useAuthStore.ts diff --git a/apps/frontend/src/stores/useSettingsStore.ts b/apps/web/src/stores/useSettingsStore.ts similarity index 100% rename from apps/frontend/src/stores/useSettingsStore.ts rename to apps/web/src/stores/useSettingsStore.ts diff --git a/apps/frontend/src/stores/useStreamersStore.ts b/apps/web/src/stores/useStreamersStore.ts similarity index 100% rename from apps/frontend/src/stores/useStreamersStore.ts rename to apps/web/src/stores/useStreamersStore.ts diff --git a/apps/frontend/src/stores/useUserStore.ts b/apps/web/src/stores/useUserStore.ts similarity index 100% rename from apps/frontend/src/stores/useUserStore.ts rename to apps/web/src/stores/useUserStore.ts diff --git a/apps/frontend/src/stores/useValorantStore.ts b/apps/web/src/stores/useValorantStore.ts similarity index 100% rename from apps/frontend/src/stores/useValorantStore.ts rename to apps/web/src/stores/useValorantStore.ts diff --git a/apps/frontend/tsconfig.app.json b/apps/web/tsconfig.app.json similarity index 100% rename from apps/frontend/tsconfig.app.json rename to apps/web/tsconfig.app.json diff --git a/apps/frontend/tsconfig.json b/apps/web/tsconfig.json similarity index 100% rename from apps/frontend/tsconfig.json rename to apps/web/tsconfig.json diff --git a/apps/frontend/tsconfig.node.json b/apps/web/tsconfig.node.json similarity index 100% rename from apps/frontend/tsconfig.node.json rename to apps/web/tsconfig.node.json diff --git a/apps/frontend/vite.config.ts b/apps/web/vite.config.ts similarity index 100% rename from apps/frontend/vite.config.ts rename to apps/web/vite.config.ts diff --git a/bun.lock b/bun.lock index 8a2a3166..791f44de 100644 --- a/bun.lock +++ b/bun.lock @@ -8,16 +8,20 @@ "turbo": "^2.5.6", }, }, - "apps/backend": { - "name": "backend", + "apps/api": { + "name": "api", + "version": "0.0.0", + }, + "apps/api-go": { + "name": "api-go", "version": "0.0.0", }, "apps/caddy": { "name": "caddy", "version": "0.0.0", }, - "apps/frontend": { - "name": "frontend", + "apps/web": { + "name": "web", "version": "0.1.0", "dependencies": { "@basitcodeenv/vue3-device-detect": "^1.0.3", @@ -448,6 +452,10 @@ "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + "api": ["api@workspace:apps/api"], + + "api-go": ["api-go@workspace:apps/api-go"], + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], @@ -456,8 +464,6 @@ "axios": ["axios@1.11.0", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA=="], - "backend": ["backend@workspace:apps/backend"], - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], @@ -662,8 +668,6 @@ "framesync": ["framesync@6.1.2", "", { "dependencies": { "tslib": "2.4.0" } }, "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g=="], - "frontend": ["frontend@workspace:apps/frontend"], - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], @@ -1164,6 +1168,8 @@ "vue-tsc": ["vue-tsc@2.2.12", "", { "dependencies": { "@volar/typescript": "2.4.15", "@vue/language-core": "2.2.12" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "./bin/vue-tsc.js" } }, "sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw=="], + "web": ["web@workspace:apps/web"], + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], From 022bffe78d7e3a301088e1548408fdceedd7df13 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 01:56:48 +0500 Subject: [PATCH 10/13] chore(backend-go): add gitignore --- apps/api-go/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 apps/api-go/.gitignore diff --git a/apps/api-go/.gitignore b/apps/api-go/.gitignore new file mode 100644 index 00000000..3a919bf6 --- /dev/null +++ b/apps/api-go/.gitignore @@ -0,0 +1,2 @@ +application +application.exe From 93c99ee5b55b02b7d78f1ca8f38009e620a7165e Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 02:00:13 +0500 Subject: [PATCH 11/13] chore(backend-go): add air in dev --- apps/api-go/.gitignore | 1 + apps/api-go/package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/api-go/.gitignore b/apps/api-go/.gitignore index 3a919bf6..9cc7b435 100644 --- a/apps/api-go/.gitignore +++ b/apps/api-go/.gitignore @@ -1,2 +1,3 @@ application application.exe +/tmp diff --git a/apps/api-go/package.json b/apps/api-go/package.json index 66dbe5b8..21449400 100644 --- a/apps/api-go/package.json +++ b/apps/api-go/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "scripts": { - "dev": "go run main.go", + "dev": "air", "build": "go build -o backend_go main.go", "dev:linux": "air -c .air.linux.conf", "dev:windows": "air -c .air.windows.conf" From 7dbb237078c1f89df2cb4362c80f13b03232a6cd Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 02:02:20 +0500 Subject: [PATCH 12/13] ref(backend-go): ping route --- apps/api-go/app/routes/ping.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/api-go/app/routes/ping.go b/apps/api-go/app/routes/ping.go index 89ffea96..73ebd304 100644 --- a/apps/api-go/app/routes/ping.go +++ b/apps/api-go/app/routes/ping.go @@ -7,6 +7,5 @@ import ( ) func PingRoutes(app *fiber.App, api huma.API) { - route := huma.NewGroup(api, "/ping") - huma.Get(route, "/", controllers.Ping) + huma.Get(api, "/ping", controllers.Ping) } From 25a7345a0e558a1141cb0d75e2eea4b54b989553 Mon Sep 17 00:00:00 2001 From: Misha Gusev Date: Sat, 20 Sep 2025 06:01:11 +0500 Subject: [PATCH 13/13] feat(api-go): add GORM and users model --- apps/api-go/app/models/users.go | 20 ++++++++++++++++++++ apps/api-go/go.mod | 11 +++++++++++ apps/api-go/go.sum | 29 +++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 apps/api-go/app/models/users.go diff --git a/apps/api-go/app/models/users.go b/apps/api-go/app/models/users.go new file mode 100644 index 00000000..42593211 --- /dev/null +++ b/apps/api-go/app/models/users.go @@ -0,0 +1,20 @@ +package models + +import ( + "time" +) + +type User struct { + ID uint `gorm:"primaryKey;autoIncrement;comment:Unique identifier for the user" json:"id"` + Username string `gorm:"type:varchar(50);not null;uniqueIndex;comment:Unique username for application login" json:"username"` + BroadcasterType *string `gorm:"type:varchar(50);comment:Type of broadcaster (e.g., affiliate, partner, etc.)" json:"broadcaster_type"` + AvatarURL *string `gorm:"type:varchar(500);comment:URL to user's profile picture" json:"avatar_url"` + TwitchID *string `gorm:"type:varchar(100);uniqueIndex;comment:Twitch platform user identifier" json:"twitch_id"` + TwitchDisplayName *string `gorm:"type:varchar(100);comment:Display name shown on Twitch platform" json:"twitch_display_name"` + RiotID *string `gorm:"type:varchar(100);comment:Riot Games account identifier (username#tag format)" json:"riot_id"` + HdevAPIKey *string `gorm:"type:varchar(200);comment:Henrik Dev API key for VALORANT statistics access" json:"hdev_api_key"` + IsActive bool `gorm:"not null;default:true;comment:Account status flag - False for suspended/deleted accounts" json:"is_active"` + CreatedAt time.Time `gorm:"not null;autoCreateTime;comment:Account creation timestamp" json:"created_at"` + UpdatedAt time.Time `gorm:"not null;autoUpdateTime;comment:Last account modification timestamp" json:"updated_at"` + // Overlays []Overlay `gorm:"foreignKey:UserID;constraint:OnDelete:CASCADE;comment:User's overlay configurations for streaming" json:"overlays"` +} diff --git a/apps/api-go/go.mod b/apps/api-go/go.mod index abc4ed78..ce7db340 100644 --- a/apps/api-go/go.mod +++ b/apps/api-go/go.mod @@ -11,6 +11,12 @@ require ( github.com/andybalholm/brotli v1.2.0 // indirect github.com/danielgtaylor/huma/v2 v2.34.1 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect + github.com/jackc/pgx/v5 v5.7.6 // indirect + github.com/jackc/puddle/v2 v2.2.2 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -20,5 +26,10 @@ require ( github.com/tinylib/msgp v1.4.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.66.0 // indirect + golang.org/x/crypto v0.42.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect + gorm.io/driver/postgres v1.6.0 // indirect + gorm.io/gorm v1.31.0 // indirect ) diff --git a/apps/api-go/go.sum b/apps/api-go/go.sum index a23b1d0e..769d6d30 100644 --- a/apps/api-go/go.sum +++ b/apps/api-go/go.sum @@ -2,10 +2,23 @@ github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwTo github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/danielgtaylor/huma/v2 v2.34.1 h1:EmOJAbzEGfy0wAq/QMQ1YKfEMBEfE94xdBRLPBP0gwQ= github.com/danielgtaylor/huma/v2 v2.34.1/go.mod h1:ynwJgLk8iGVgoaipi5tgwIQ5yoFNmiu+QdhU7CEEmhk= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gofiber/fiber/v2 v2.52.9 h1:YjKl5DOiyP3j0mO61u3NTmK7or8GzzWzCFzkboyP5cw= github.com/gofiber/fiber/v2 v2.52.9/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.7.6 h1:rWQc5FwZSPX58r1OQmkuaNicxdmExaEz5A2DO2hUuTk= +github.com/jackc/pgx/v5 v5.7.6/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M= +github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= @@ -18,9 +31,13 @@ github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6T github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/philhofer/fwd v1.2.0 h1:e6DnBTl7vGY+Gz322/ASL4Gyp1FspeMvx1RNDoToZuM= github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tinylib/msgp v1.4.0 h1:SYOeDRiydzOw9kSiwdYp9UcBgPFtLU2WDHaJXyHruf8= github.com/tinylib/msgp v1.4.0/go.mod h1:cvjFkb4RiC8qSBOPMGPSzSAx47nAsfhLVTCZZNuHv5o= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= @@ -29,6 +46,18 @@ github.com/valyala/fasthttp v1.66.0 h1:M87A0Z7EayeyNaV6pfO3tUTUiYO0dZfEJnRGXTVNu github.com/valyala/fasthttp v1.66.0/go.mod h1:Y4eC+zwoocmXSVCB1JmhNbYtS7tZPRI2ztPB72EVObs= github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= +golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= +golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/postgres v1.6.0 h1:2dxzU8xJ+ivvqTRph34QX+WrRaJlmfyPqXmoGVjMBa4= +gorm.io/driver/postgres v1.6.0/go.mod h1:vUw0mrGgrTK+uPHEhAdV4sfFELrByKVGnaVRkXDhtWo= +gorm.io/gorm v1.31.0 h1:0VlycGreVhK7RF/Bwt51Fk8v0xLiiiFdbGDPIZQ7mJY= +gorm.io/gorm v1.31.0/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=