Adaptive quizzes are a type of assessment that adjusts to the skill level of the student, providing a more personalized learning experience. Adaptive learning may contribute to both improving student learning outcomes and increasing student motivation and engagement. The Adaptive Quiz activity enables a teacher to create tests that efficiently measure the takers' abilities.
Adaptive testing is a system of testing that changes to meet the current level of the student and ongoing progress the student makes. Adaptive tests are comprised of questions selected from the question bank that are tagged with a score of their difficulty. The questions are chosen to match the estimated ability level of the current test-taker. If the test-taker succeeds on a question, a more challenging question is presented next. If the test-taker answers a question incorrectly, a less-challenging question is presented next. This allows for a more accurate model of the students’ current level of attainment.
- Import and Export data from Google Spreadsheet for questions and answers
- Login/logout and register account with JWT authentication
- Calculate the score of the test
Client: ReactJS, axios, styled-components
Server: Node, Express, mongoose, google-spreadsheet, dotenv, bcryptjs, jsonwebtoken, http-status-codes
Clone the Project
git clone https://link-to-project
Go to the project directory
cd my-project
Create .env file
cd server
touch .env
Add your environment variables in .env file
MONGO_URL=your_mongo_uri
MONGO_URL_PASSWORD=your_mongo_uri_password
JWT_SECRET=your_jwt_secret
JWT_LIFETIME=1d
GOOGLE_CLIENT_EMAIL=your_google_client_email
GOOGLE_PRIVATE_KEY=your_google_private_key
GOOGLE_SHEET_ID=your_google_spreadsheet_id
Install dependencies
cd my-project
npm run setup
Start application
npm run start
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.