Skip to content

Commit b00b9a5

Browse files
authored
Merge pull request #8 from One-Team-One-Goal/development
Version 1.0.1
2 parents 1f75a25 + 89c8ce3 commit b00b9a5

File tree

9 files changed

+1207
-132
lines changed

9 files changed

+1207
-132
lines changed

package-lock.json

Lines changed: 58 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"dependencies": {
2929
"@ai-sdk/groq": "^2.0.14",
3030
"@fastify/static": "^8.2.0",
31+
"@google/generative-ai": "^0.24.1",
3132
"@nestjs/common": "^11.0.1",
3233
"@nestjs/config": "^4.0.2",
3334
"@nestjs/core": "^11.0.1",
@@ -38,7 +39,7 @@
3839
"@prisma/client": "^6.15.0",
3940
"@supabase/supabase-js": "^2.55.0",
4041
"ai": "^5.0.23",
41-
"axios": "^1.11.0",
42+
"axios": "^1.13.2",
4243
"class-transformer": "^0.5.1",
4344
"class-validator": "^0.14.2",
4445
"nestjs-zod": "^5.0.0",

src/assessment/assessment.controller.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,46 @@ export class AssessmentController {
4040
}
4141
}
4242

43+
/**
44+
* Start a lesson-specific practice assessment
45+
* POST /api/assessment/start-lesson-practice
46+
*
47+
* This generates a focused 10-question quiz for a single lesson.
48+
* Questions have topic-specific difficulty based on user's mastery.
49+
*/
50+
@Post('start-lesson-practice')
51+
async startLessonPractice(@Body() body: { uid: string; lessonId: number }) {
52+
try {
53+
if (!body.lessonId || body.lessonId < 1 || body.lessonId > 4) {
54+
return {
55+
success: false,
56+
error: 'Invalid lessonId. Must be 1, 2, 3, or 4.'
57+
};
58+
}
59+
60+
const result = await this.assessmentService.startLessonPracticeAttempt(body.uid, body.lessonId);
61+
62+
if (!result.questions || !Array.isArray(result.questions)) {
63+
console.error('Result questions is not an array:', result.questions);
64+
return {
65+
success: false,
66+
error: 'Failed to generate valid assessment questions. Please try again.'
67+
};
68+
}
69+
70+
return {
71+
success: true,
72+
data: result
73+
};
74+
} catch (error) {
75+
console.error('Error in startLessonPractice controller:', error);
76+
return {
77+
success: false,
78+
error: error.message || 'Failed to start lesson practice. Please try again.'
79+
};
80+
}
81+
}
82+
4383
/**
4484
* Submit an adaptive practice assessment
4585
* POST /api/assessment/submit-adaptive-practice

0 commit comments

Comments
 (0)