feat: 🚀 😃 convert repo into a monorepo 🚀 😃 (#51)
* Merge main into turbo-monrepo * feat: rename apps * feat: remove supbase videos and serve all from project * feat: move supabase to root * feat: update README * docs: update link
This commit is contained in:
@@ -0,0 +1,212 @@
|
||||
import { QuestionTypes } from '../utils';
|
||||
|
||||
import type { ExerciseTemplate } from '$lib/utils/types';
|
||||
|
||||
const template: ExerciseTemplate = {
|
||||
title: 'Node.js File Upload Quiz',
|
||||
description: 'Test your knowledge of uploading files in Node.js.',
|
||||
questionnaire: {
|
||||
questions: [
|
||||
{
|
||||
title: 'What is the purpose of file uploading in Node.js applications?',
|
||||
name: 'question1',
|
||||
points: 2,
|
||||
order: 0,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'To download files from the internet.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'To allow users to upload files to the server.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'To generate random files on the server.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Which module in Node.js is commonly used for handling file uploads?',
|
||||
name: 'question2',
|
||||
points: 1,
|
||||
order: 1,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'fs',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'http',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'express',
|
||||
is_correct: true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'What is the purpose of the "multer" middleware in Express.js?',
|
||||
name: 'question3',
|
||||
points: 1,
|
||||
order: 2,
|
||||
question_type: QuestionTypes[1], // CHECKBOX
|
||||
options: [
|
||||
{
|
||||
label: 'To handle file uploads in a convenient way.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'To serve static files from a directory.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'To create and manipulate files on the server.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Explain the difference between synchronous and asynchronous file uploads.',
|
||||
name: 'question4',
|
||||
points: 2,
|
||||
order: 3,
|
||||
question_type: QuestionTypes[2], // TEXTAREA
|
||||
options: []
|
||||
},
|
||||
{
|
||||
title:
|
||||
'How can you restrict the types of files that users can upload in an Express.js application?',
|
||||
name: 'question5',
|
||||
points: 2,
|
||||
order: 4,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'By using the "fileType" option in Multer.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'By disabling file uploads altogether.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'By configuring the Express.js routes.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'What is the purpose of the "single" method in Multer?',
|
||||
name: 'question6',
|
||||
points: 1,
|
||||
order: 5,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'To handle multiple file uploads at once.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'To handle a single file upload.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'To handle text input fields.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'How do you access the uploaded file in your Express.js route handler?',
|
||||
name: 'question7',
|
||||
points: 1,
|
||||
order: 6,
|
||||
question_type: QuestionTypes[1], // CHECKBOX
|
||||
options: [
|
||||
{
|
||||
label: 'By using the "req.files" object provided by Multer.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'By using the "req.body" object.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'By sending a separate HTTP request to retrieve it.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'What is the purpose of the "destination" option in Multer?',
|
||||
name: 'question8',
|
||||
points: 1,
|
||||
order: 7,
|
||||
question_type: QuestionTypes[1], // CHECKBOX
|
||||
options: [
|
||||
{
|
||||
label: 'To specify the folder where uploaded files will be saved.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'To limit the maximum file size of uploads.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'To define custom validation rules for uploaded files.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'How can you handle errors during file uploads in an Express.js route?',
|
||||
name: 'question9',
|
||||
points: 2,
|
||||
order: 8,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'By using try-catch blocks.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'By passing an error-handling middleware to the route.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'By ignoring errors and continuing the upload process.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'What is the purpose of the "file.fieldname" property in the uploaded file object?',
|
||||
name: 'question10',
|
||||
points: 2,
|
||||
order: 9,
|
||||
question_type: QuestionTypes[0], // RADIO
|
||||
options: [
|
||||
{
|
||||
label: 'To identify the original field name of the file input.',
|
||||
is_correct: true
|
||||
},
|
||||
{
|
||||
label: 'To store the binary content of the uploaded file.',
|
||||
is_correct: false
|
||||
},
|
||||
{
|
||||
label: 'To specify the destination folder for file storage.',
|
||||
is_correct: false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default template;
|
||||
Reference in New Issue
Block a user