From 736059646dfa4a952f4d981b4d0b5a0e32ffc065 Mon Sep 17 00:00:00 2001 From: RezHackXYZ Date: Thu, 15 May 2025 06:27:40 +0530 Subject: [PATCH] made the filestructure better and migrated the game creation from the old type of db to the newer relational db type! --- .vscode/settings.json | 10 +- README.md | 69 +++---- jsconfig.json | 8 +- package-lock.json | 10 ++ package.json | 1 + src/app.css | 1 - src/routes/+layout.svelte | 3 +- src/routes/+page.svelte | 25 ++- src/routes/create/+page.svelte | 170 ++---------------- .../components/Questions/answers.svelte | 23 +++ .../components/Questions/question.svelte | 30 ++++ .../components/buttons/DeleteQuestion.svelte | 20 +++ .../components/buttons/NewQuestion.svelte | 15 ++ .../components/buttons/StartGame.svelte | 18 ++ .../buttons/UseDemoQuestions.svelte | 15 ++ .../create/logic/GameCreateData.svelte.js | 54 ++++++ src/routes/create/logic/InsertGameInDB.js | 58 ++++++ src/routes/create/logic/StartGame.js | 17 ++ src/routes/host/[gamePin]/+page.js | 6 - src/routes/host/[gamePin]/+page.svelte | 81 --------- src/routes/hostgame/[gamePin]/+page.js | 6 - src/routes/hostgame/[gamePin]/+page.svelte | 100 ----------- src/routes/join/+page.svelte | 72 -------- src/routes/play-lobby/[gamePin]/+page.js | 6 - src/routes/play-lobby/[gamePin]/+page.svelte | 112 ------------ src/routes/play/[gamePin]/+page.js | 5 - src/routes/play/[gamePin]/+page.svelte | 134 -------------- svelte.config.js | 10 +- 28 files changed, 343 insertions(+), 736 deletions(-) delete mode 100644 src/app.css create mode 100644 src/routes/create/components/Questions/answers.svelte create mode 100644 src/routes/create/components/Questions/question.svelte create mode 100644 src/routes/create/components/buttons/DeleteQuestion.svelte create mode 100644 src/routes/create/components/buttons/NewQuestion.svelte create mode 100644 src/routes/create/components/buttons/StartGame.svelte create mode 100644 src/routes/create/components/buttons/UseDemoQuestions.svelte create mode 100644 src/routes/create/logic/GameCreateData.svelte.js create mode 100644 src/routes/create/logic/InsertGameInDB.js create mode 100644 src/routes/create/logic/StartGame.js delete mode 100644 src/routes/host/[gamePin]/+page.js delete mode 100644 src/routes/host/[gamePin]/+page.svelte delete mode 100644 src/routes/hostgame/[gamePin]/+page.js delete mode 100644 src/routes/hostgame/[gamePin]/+page.svelte delete mode 100644 src/routes/join/+page.svelte delete mode 100644 src/routes/play-lobby/[gamePin]/+page.js delete mode 100644 src/routes/play-lobby/[gamePin]/+page.svelte delete mode 100644 src/routes/play/[gamePin]/+page.js delete mode 100644 src/routes/play/[gamePin]/+page.svelte diff --git a/.vscode/settings.json b/.vscode/settings.json index 0067ed3..8a9beca 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,13 @@ "editor.quickSuggestions": { "strings": true }, - "cSpell.words": ["SUPABASE"] + "cSpell.words": [ + "correctanswer", + "creationdate", + "gameid", + "kahoot", + "questionid", + "questionstext", + "SUPABASE" + ] } diff --git a/README.md b/README.md index b5b2950..321f964 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,45 @@ -# sv +# DB Diagrams -Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). +## Current DB Diagram -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# create a new project in the current directory -npx sv create - -# create a new project in my-app -npx sv create my-app +```mermaid + erDiagram + GAMES { + int GamePIN PK + string gameStatus + json questions + jsonb players + } ``` -## Developing +## Goal MVP DB Diagram -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: +```mermaid + erDiagram + GAMES { + int ID PK + string creator + date creationDate + string status + } + QUESTIONS { + int ID PK + int GameID FK + string QuestionsText + string CorrectAnswer + } + ANSWERS { + int ID PK + int QuestionID FK + string content + } + PLAYERS { + int ID PK + int GameID FK + int Score + } -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open + GAMES ||--o{ QUESTIONS : contains + QUESTIONS ||--o{ ANSWERS : has + GAMES ||--o{ PLAYERS : participated_by ``` - -## Building - -To create a production version of your app: - -```bash -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. diff --git a/jsconfig.json b/jsconfig.json index a86a4fd..428e42f 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,13 +2,7 @@ "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { "allowJs": true, - "checkJs": false, + "checkJs": true, "moduleResolution": "bundler" } - // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias - // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files - // - // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes - // from the referenced tsconfig.json - TypeScript does not merge them in - } diff --git a/package-lock.json b/package-lock.json index 4569f4e..95b6d82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/postcss": "^4.1.6", @@ -1091,6 +1092,15 @@ "@sveltejs/kit": "^2.0.0" } }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz", + "integrity": "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==", + "dev": true, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, "node_modules/@sveltejs/kit": { "version": "2.20.8", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.20.8.tgz", diff --git a/package.json b/package.json index 7b25e2b..d04f917 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/postcss": "^4.1.6", diff --git a/src/app.css b/src/app.css deleted file mode 100644 index d4b5078..0000000 --- a/src/app.css +++ /dev/null @@ -1 +0,0 @@ -@import 'tailwindcss'; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 42146f4..1fde110 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,11 +1,12 @@
{@render children()}