GitHub - codeacme17/examor: For students, scholars, interviewees and lifelong le...
source link: https://github.com/codeacme17/examor
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
A website application that allows you to take exams based on your knowledge notes. Let you really remember what you have learned and written.
💡 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.
🏁 Start
I'm very sorry, the proxy may not be available when starting the project with docker-compose, I'll fix it as soon as possible. This problem can currently be avoided by using the developer method.
Clone this repo
git clone https://github.com/codeacme17/examor.git
cd examor
Run docker compose
docker-compose up
Please make sure Docker is installed on your local machine, and ports
51717
,51818
, and52020
are available on your local host
Open http://localhost:51818
in your browser to access Examor. (Due to optimization scheme for modules, it may be slow when loading the program or entering a certain page for the first time)
✨ 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 (v0.1).
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.
Role Selection
⚠️ The feature in the current version might not be entirely stable. In the upcoming plans, I will continue to optimize this feature (v0.1).
Roles can provide more possibilities for question generation and assessment. You can set roles in the configuration page. For more information about various roles, it's recommended to refer to the Role Manual.
📦️ 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
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. See more in CONTRIBUTING.
License
AGPL-3.0 license © 2023-Present leyoonafr
Recommend
-
69
除非特别声明,此文章内容采用知识共享署名 3.0许可,代码示例采用Apache 2.0许可。更多细节请查看我们的服务条款。
-
12
点击标题下「 搜索与推荐Wiki 」可快速关注 ▼ 相关推荐 ▼ 1、
-
7
Identify — and Hire — Lifelong Learners David Muir/ Getty Images Summary. The most pertinent question one can ask of a current or future employee may just be: How do you learn? Lifelong lear...
-
3
Women in Tech: “Lifelong learning is crucial in this fast-evolving sector” July 3, 2021Dominik Mohilo...
-
5
STEM schooling for a world of lifelong training Philip Virgo Winsafe Ltd Published: 30...
-
5
Hear From the MongoDB World 2022 Diversity Scholars
-
3
Ranked #11 for today...
-
7
MIT scholars awarded seed grants to probe the social implications of generative AI MIT scholars awarded seed grants to probe the social implications of generative AI...
-
7
...
-
0
Second round of seed grants awarded to MIT scholars studying the impact and applications of generative AI Second round of seed grants awarded to MIT scholars studyin...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK