From 5b6226ea985f2c1f93e5f99a667c12fa660c34b1 Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 00:54:17 +0700 Subject: [PATCH 01/14] Fix upload image for course --- frontend/my-app/src/routes/CreateCourse.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/my-app/src/routes/CreateCourse.svelte b/frontend/my-app/src/routes/CreateCourse.svelte index a6d41be..82b2cc3 100644 --- a/frontend/my-app/src/routes/CreateCourse.svelte +++ b/frontend/my-app/src/routes/CreateCourse.svelte @@ -19,7 +19,7 @@ let counter = 6; let message = ""; let errorMsg = ""; - let file: any[] | Blob; + let file: FileList; let formData = new FormData(); let formModal = false; @@ -42,7 +42,7 @@ async function UploadImage() { let res; - formData.append("file", file[0]); + formData.set("file", file[0]); console.log(formData); let img_url:string; res = await axios From 3d205af19f4cd1ddce24e8b083556871d70388cf Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 01:02:47 +0700 Subject: [PATCH 02/14] Validate exam submission --- .../my-app/src/routes/lesson/+page.svelte | 80 +++++++++++++++++-- 1 file changed, 73 insertions(+), 7 deletions(-) diff --git a/frontend/my-app/src/routes/lesson/+page.svelte b/frontend/my-app/src/routes/lesson/+page.svelte index a0c45fc..b6cf265 100644 --- a/frontend/my-app/src/routes/lesson/+page.svelte +++ b/frontend/my-app/src/routes/lesson/+page.svelte @@ -1,6 +1,6 @@
@@ -16,13 +21,14 @@
-

Student ID:

-

Student Name:

+

Student ID: 123

+

Student Name: Thang

+
- +
@@ -32,6 +38,7 @@ > Tên khoá học vẽ +

FlowBite

diff --git a/frontend/my-app/src/routes/instructor/score/+page.svelte b/frontend/my-app/src/routes/instructor/score/+page.svelte new file mode 100644 index 0000000..2897047 --- /dev/null +++ b/frontend/my-app/src/routes/instructor/score/+page.svelte @@ -0,0 +1,5 @@ + + \ No newline at end of file From ad1e7aba4350a48b8cd7905e25095422246dfc7b Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 12:58:52 +0700 Subject: [PATCH 09/14] Change grading page route --- .../my-app/src/routes/instructor/{score => grading}/+page.svelte | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/my-app/src/routes/instructor/{score => grading}/+page.svelte (100%) diff --git a/frontend/my-app/src/routes/instructor/score/+page.svelte b/frontend/my-app/src/routes/instructor/grading/+page.svelte similarity index 100% rename from frontend/my-app/src/routes/instructor/score/+page.svelte rename to frontend/my-app/src/routes/instructor/grading/+page.svelte From fb7d95119240b9e4a0b4daf2c479175d3bab9472 Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 13:16:43 +0700 Subject: [PATCH 10/14] Fix exam submission status --- frontend/my-app/src/routes/lesson/+page.svelte | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/my-app/src/routes/lesson/+page.svelte b/frontend/my-app/src/routes/lesson/+page.svelte index 8bd8b22..13a64f7 100644 --- a/frontend/my-app/src/routes/lesson/+page.svelte +++ b/frontend/my-app/src/routes/lesson/+page.svelte @@ -141,11 +141,14 @@ if(examInfo.examStatus === "SUBMITTED"){ openSubmitButton = false; submitted = true; + passed = false; + failed = false; } else if (examInfo.examStatus === "PASSED"){ openSubmitButton = false; submitted = false; passed = true; + failed = false; // MarkCompleted(); } else if (examInfo.examStatus === "FAILED"){ @@ -158,6 +161,7 @@ openSubmitButton = true; submitted = false; passed = false; + failed = false; } }) .catch((error: AxiosError) =>{ @@ -167,6 +171,7 @@ openSubmitButton = true; submitted = false; passed = false; + failed = false; } }) } From ff56f463ec247d7508349136b3e4cc7d8bdecf1d Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 18:01:33 +0700 Subject: [PATCH 11/14] Add types --- frontend/my-app/src/lib/types.ts | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/frontend/my-app/src/lib/types.ts b/frontend/my-app/src/lib/types.ts index 6c6f006..832c62c 100644 --- a/frontend/my-app/src/lib/types.ts +++ b/frontend/my-app/src/lib/types.ts @@ -1,4 +1,32 @@ import { type } from "os"; +export type GradingExam = { + examID:number; + score:string; + comment:string; +} +export type GetExamAllInfo = { + examInfo: ExamStatusInfo; + customerInfo:Customer + courseContent:CourseContent; + course:Course +}; +export type ReviewsPaginationForGrading = { + content: ExamStatusInfo[]; + pageable: Pageable; + totalElements: number; + totalPages: number; + last: boolean; + numberOfElements: number; + first: boolean; + size: number; + number: number; + sort: { + unsorted: boolean; + sorted: boolean; + empty: boolean; + }; + empty: boolean; +}; export type ExamStatusInfo = { id:number; score:string; @@ -123,7 +151,7 @@ type AccountPagination = { empty: boolean; }; -type Customer = { +export type Customer = { customerID: number; fullName: string; birthDate: Date; From ffa902306330449b574e589723148ec0dec6179e Mon Sep 17 00:00:00 2001 From: Ngo Quang Thang Date: Tue, 7 Nov 2023 18:02:04 +0700 Subject: [PATCH 12/14] Add exam grading feature --- frontend/my-app/src/routes/ScoringPage.svelte | 268 +++++++++++++++--- 1 file changed, 236 insertions(+), 32 deletions(-) diff --git a/frontend/my-app/src/routes/ScoringPage.svelte b/frontend/my-app/src/routes/ScoringPage.svelte index 18aff95..d015051 100644 --- a/frontend/my-app/src/routes/ScoringPage.svelte +++ b/frontend/my-app/src/routes/ScoringPage.svelte @@ -1,49 +1,253 @@ +{#if showEmptyMessage} +
+

Nothing to grade... Grab yourself a cup of coffee

+ + + + +
+{/if} +
- Bức vẽ + {#each reviewPagination.content as item} + Bức vẽ + {/each}
-
-
-
-

Student ID: 123

-

Student Name: Thang

- -
+ {#each reviewPagination.content as item} +
+
+

+ Student ID: {getAllExamInfo.customerInfo.customerID} +

+

+ Student Name: {getAllExamInfo.customerInfo.fullName} +

+

Exam ID: {item.id}

+ +
-
-
- +
+
+ +
-
-
-

- Tên khoá học vẽ -

-

FlowBite

-

- Section -

+
+

+ Course Name: {getAllExamInfo.course.name} +

+

+ Course Content: {getAllExamInfo.courseContent.title} +

+ + +