Skip to content
/ examor Public
forked from codeacme17/examor

For students, scholars, interviewees and lifelong learners

License

Notifications You must be signed in to change notification settings

gwonyuu/examor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



A website application that allows you to take exams based on your knowledge notes

⚠️ The project is still under development and the first version will be released soon




💡 Inspiration

'For learners, one of the best habits should be regular self-testing' - Make It Stick: The Science of Successful Learning

When I'm learning a new technology, I have the habit of taking notes and jotting down important information. It's a good habit, but I also have a bad habit of not enjoying reading the notes I've written (I'm not sure if this is the case for most people 🫣). This results in my notes becoming mere mementos without substantial use. That's why I choose to create an application that continuously prompts you with questions to review your note contents.

✨ Features

This project primarily focuses on question generation and answer detection based on user documentation. In the initial version, I've implemented a simplified version of the Ebbinghaus memory curve, which allows periodic reviews based on the accuracy of your answers.

Generate Issues from Documentation

When users create notes, they can upload associated documents. The application generates a set of questions from these documents, based on their content. These questions will be presented to the users in the future.

Answer Detection

After users receive daily questions, they can provide answers. GPT will score, validate, and provide the correct answers. The score is determined by evaluating the correctness of the answers and the linked document (0 ~ 10 points). This score influences the subsequent Ebbinghaus review process.

Ebbinghaus Memory

I've implemented a simplified version of Ebbinghaus memory, currently consisting of only 8 lines of code. I plan to optimize this function further in the future.

Regarding the actual function, once GPT generates a test, the score is recorded and affects the future review date. Higher scores result in longer intervals until the next review.

📦️ Modules

Notes Management

Notes Management is a module to oversee all uploaded documents. Within this module, you can delete or add new files to your uploaded notes. Note that deleting all documents under a note will clear the associated questions.

Random Question

Random Question is a module that randomly selects a question from the existing question bank. Implementation of this module enables this feature.

Note

Note is a virtual module generated in your app for each note you create. In this module, you can answer questions. Question pushing is implemented according to the Ebbinghaus memory curve. You will receive three types of question data:

  • Questions for Today's Review: As the name suggests, this data pertains to questions that need review on the current day for questions answered in the past.

  • Expired Questions: These are questions not completed within the required review timeframe on the same day, resulting in this data being collected.

  • New Questions: When the user-defined daily question count is not met from the above two data sets, this supplementary data set is pushed to the user.

Examine

Examine is a central module where users answer questions, allowing GPT to score and validate answers. The module comprises three components:

  • Answer: Users enter their answers, and test content can be displayed after submission.

  • Last Record: Records the user's previous answer to the question and the detection outcome.

  • Document Content: This component displays the actual uploaded document content, serving as the basis and final answer for the question.


Contributing

Contributions to the project are welcome! If you find a bug or have an idea for a new feature, please submit an issue or pull request.

License

AGPL-3.0 license © 2023-Present leyoonafr

About

For students, scholars, interviewees and lifelong learners

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 49.7%
  • Python 26.0%
  • TypeScript 20.0%
  • SCSS 3.7%
  • HTML 0.3%
  • JavaScript 0.2%
  • Dockerfile 0.1%