open-source-ideas / ideas

💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
6.56k stars 221 forks source link

User-generated exams. DIY self-assessment software. #182

Open Kreijstal opened 5 years ago

Kreijstal commented 5 years ago

Project description

I am always eager to learn something, but it is really hard to learn, it is even harder to test yourself, testing is easier than teaching, and schools test more than teach, unfortunately it is not that easy to test yourself, how can you test yourself if you don't have the right answers? Of course, you could borrow books, there are tons of books, that have compiled lots of questions and answers so that you can test yourself for a specific topic. This is excellent, but if you are not on a library or if you want to study some hours before an exam, you will hardly have time to do this. Anyway, most if not all schoolbooks have always some kind of excercise you can do, and those excercises might have solutions.

So it would work like this. Users can input, questions about various topics (they can be multiple choice, fill the blanks, etc...), either mathematics, programming, science or grammar of a different language, they have to post the correct solution, and the questions can be downvoted and upvoted, or flagged if they are "hard to read" questions or the answers are just wrong. Of course there is a limitation, the answers have to be easy for the computer to read, so they have to be short, they have to be testable, open-ended questions are then not suitable.

If you want an anology it is something like a stackoverflow where instead of asking questions, you post tests. People grade your tests to how good they are.

Users can tag questions, analogous to an imagebooru, according to their difficulty, topic or level. and users can discuss the question. For example, in the discussion section of the question, they can ask why a solution is true if it is. Users can "favorite" questions, and they can compile a set of questions to make "exams".

Finally, users can do exams, and try their best in order to pass them.

I am asking something like this, because I feel this would create some quality courses in the long term, teachers with no coding experience, can start creating their own tests on the website, for their students, people can benefit from the answers being available, people can prepare themselves for any kind of exam, and they don't have to invest so much as they used to.

For languages, it would be something like duolingo except everyone can decide their own content, their own exams, and they don't have to rely until others do it for them.

As an user, you have a history of the questions that you have solved, and failed to solve for some reason, and you can get some kind of insight in what are your weaknesses in some topic.

The goal is to make a compilation of testable question/answers, and it should be easy to input such questions and answers. I think many students would benefit. I don't think this is any ultimative way of knowing how good you are on a given topic, but it is a very interesting way to improve on your knowledge.

[Describe the project the best you can. Give any background information or link to resources that are necessary to understand the problem it is intended to solve. The more you elaborate on your idea, the easier it is to accomplish.]

Relevant Technology

Okay, so there are 'some' websites that kind of do this, but they don't make the input of Q&A as general, and you cannot divide the exams, you are forced to take the whole course. These are

These websites are not focused on questions and answers, they're focusing exclusively on flashcards. But there is more to self-assesing than just flashcards. You cannot comment on the quizes, you cannot aks why is the solution so, they're more about memorizing, than about understanding, or about thinking analytically, that's their selling point. They do focus more on vocabulary than anything else. I don't think their implementation is wrong by any means, but it is not so good as they can be, it is very stiff, you cannot suggest or discuss changes to an exam, etc. They are not open source, either.

Complexity and required time

[Please only tick off one box in each category by changing [ ] to [x]. The labels on the project will then be updated by the maintainers as soon as possible.]

Complexity

Required time (ETA)

karthickshiva commented 5 years ago

Hey, I'm interested in this project. Fill me in.

minarch91 commented 5 years ago

1).[Описание проектаЭта инициатива с открытым исходным кодом ,для разработки технологии и концепции для криптовалют. Цель состоит в том,чтобы ,(опираясь на фундамент общепринятых заповедей морали и любого гражданско-уголовное Права , реализующего задачи Сохранения населения),Построить децентрализованную финансовую концепцию увеличения глобального принятия Справедливости. Проект PEP263 "МОРАЛЬНОЕ ПРАВО" Монета для Справедливости.Разработка и кодирование децентрализованной,саморегулируемой криптовалюты. Экономика которой является надежным и беспроигрышным решением базирующемся на трансформации ,,до судебно распределённого , 100% Морального ущерба,(моральных потерь-убытка)>>трансформация>> в Материальные доходы. Я мечтаю о платформе для каждого пользователя блокчейна и криптовалюте на основе ETH которая может представлять собой универсальное приложение для запуска различных(национальных) квалификаций токенов,базирующихся на специализированных(национальных) смарт-контрактах,облегчающих нагрузку на национальные системы уголовного и гражданского правосудия ,толкающих(делающих выгодным) движения в сторону Справедливости на основе ,до судебной, гражданской пере адресации-распределении 100%-ов Морального ущерба, в смарт-контракте.Экономика Токена-справедливости становится привязанной к > общественной организации > моральному ущербу >Справедливости> банку. Давайте на минуту представим что вы пострадали от не правомерных действий лиц преступивших закон.Вам необходима уверенность в скорейшей поимке и наказании преступников,необходимо исключить коррупцию со стороны правоохранительных и судебных органов,в условиях когда нет уверенности в будущем правосудном решении,но Вы пострадали и уверены что понесли моральный и материальный ущерб.Тогда единственный способ уверенно заинтересовать в движении к справедливости,как противовес-отдать(пере адресовать) свой,ещё не определенный судом (виртуальный) Моральный ущерб ,взяв его за 100%% ,распределить его в сматр-контракте в пользу Полиции,Прокурора,Суда и Церкви(по вероисповеданию).Для этого нужно будет только зайти на сайт Общественной организации ,заполнить и дать старт смарт-контракту,для исполнения которого ,самостоятельно присоединятся все заинтересованные в поиске вашего,распределенного морального ущерба,его оценки и поглащения .Вы получаете правосудное решение и Справедливость.Для монетизации к смарт-контракту и распредлению % присоединяется банк ...Таким образом монета для справедливости ведет к решению нескольких проблем связанных с коррупцией и Справедливостью.Построение само регулируемой экосистемы позволит быть не зависимой от экосистемы и лиц которые будут сней работать.Разработка своего,национального способа достижения справедливости ,чтобы "развить" оптимальную сетевую архитектуру использования национальных смарт-контрактов с самостоятельными операционными программами,которые могут облегчить и обеспечить автоматическую оценку и обмен стоимостью при выполнении определенных ,национальных,условий ведения гражданского и уголовного права ,экономически трансформируемого ,до судебно распределенного,морального ущерба.Всё это относится к Открытому исходному коду.Тема разрабатывается с 0.Опыта разработки нет.Совсем нет.Но есть открытое общественное движение и готовность на собственном примере,начиная с себя пройти всю цепочку,испытать на правоохранительной и судебной системе алгоритм и архитектуру разрабатываемой монеты для справедливости. Я очень хотел бы чтобы мне помогли ,возможно партнерство, с построением и оптимизацией алгоритма сети а также обширной практики настройки параметров алгоритма,чтобы было правильно. Всё это требует глубокого,детального понимания кода,который я надеюсь построить под Вашим руководством. Я  хочу достичь, в партнерстве с Вами ,взаимопонимания. 2)Сложность  Advanced-проект требует от пользователя хорошего понимания всех компонентов проекта, чтобы внести свой вклад3)Необходимое время (ETA) Много работы-проект займет больше пары недель и потребуется серьезное планирование11.05.2019, 17:41, "karthickshiva" notifications@github.com:Hey, I'm interested in this project. Fill me in.

—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

aidanlam commented 5 years ago

I am interested in working on this I had a similar idea! Hit me up with some denials

FredrikAugust commented 5 years ago

Hit me up if you need some help organising this!

wubin1989 commented 5 years ago

I am interesting in the project! Fill me in.

FredrikAugust commented 5 years ago

@wubin1989 @aidanlam @karthickshiva @Kreijstal; Sounds like you all are interested in creating this! Perhaps you should set up a slack/discord channel and discuss it further? Let me know if I can help.

minarch91 commented 5 years ago

Согласен с @FredrikAugust.Следует создать канал с заинтересованными @karthickshiva @aidanlam @Kreijstal @wubin1989 .Думаю следует обсудить общее наименования открытого исходного кода.Для приложения-для Прибыли ,с характеристиками(прибыль-вероятная-предполагаемая-призрачная-планируемая-возможная-виртуальная прибыль).Прибыль взятая за 100%.Думаю приложение ,с такими характеристиками прибыли,станет связующим звеном в создании монеты для Справедливости,для Здоровья и для всего, виртуального,что стремится стать материальным . Спасибо за стремление к взаимопониманию.

keerthivasan-r commented 5 years ago

I'm interested to contribute in this project. Looking forward for the planning

KOLANICH commented 5 years ago

@FredrikAugust, could you ban minarch91 ? His text looks like generated automatically.

FredrikAugust commented 5 years ago

Agree @KOLANICH. WIll ban him now.

dhruv-dv commented 5 years ago

I'm interested to in this idea. Let's create repo and start documenting

keerthivasan-r commented 5 years ago

Who is going to start with repo? @Kreijstal WIll you?

Kreijstal commented 5 years ago

Well, the question is, what would the input format look like, will it be something like markdown? Will we have to create a new parser? How do we even start? So what I am thinking for now is. The website is just a static page, and you can put links to a json file, the json file is the exam, the website downloads the json, and displays the exam for you. When that is done, we could probably work on the website itself. We can fork the code of a forum, and instead of users creating threads, they create, exams.

Kreijstal commented 5 years ago

Who is going to start with repo? @Kreijstal WIll you?

Alright, I guess we can start with a repo.

Kreijstal commented 5 years ago

@keerthivasan-r @hackDV @wubin1989 @aidanlam @karthickshiva https://github.com/Kreijstal/diytest/issues/1 Please, I'd like to hear your input on this :)

keerthivasan-r commented 5 years ago

Yeah, There are multiple ways of doing this site. I would think as the site enabled with various types of question formats and structures. so, users can start creating the tests easily without having to meddle with json or any other input format. The UI will be more easier.

FredrikAugust commented 5 years ago

Hurrah! :tada: The project has begun! https://github.com/Kreijstal/diytest

KIRA009 commented 5 years ago

I am interested.

keerthivasan-r commented 5 years ago

@KIRA009 Please see the repo

osopromadze commented 5 years ago

I'm interested to contribute in this project. Is it started?

reeshabhranjan commented 4 years ago

Any updates on this project? The repo has just 4 commits till now.

keerthivasan-r commented 4 years ago

nope, still its not started.. Looking forward for people to contribute.

Mirr0red commented 4 years ago

Hello, I'd like to be part of this project, it seems cool and actually I had kind of a similar idea to this before. I hope I can be a good help for you.

keerthivasan-r commented 4 years ago

@HoussemBenTaher Welcome aboard. Thanks for joining. Where do you think you can contribute?

Mirr0red commented 4 years ago

I'm more of a backend developer, I can help with creating the backend code for this.

keerthivasan-r commented 4 years ago

@HoussemBenTaher Great, Can we discuss in this thread? Discuss on Tech stack

pambrocio commented 4 years ago

I would like to contribute to this

FiddleINC commented 4 years ago

Is this project still on?

FredrikAugust commented 4 years ago

I don't think it's being worked on @FiddleINC, so feel free to work on it! :)

Kreijstal commented 1 year ago

Hi. I got interested in this project. If this project is developed in an effective way this has a lot of potential. Just by reading this, my mind starts to think of many possibilities that this project can be taken. I like to contribute to this project. Is this project still on?

Not really, it never did start, but, hey, maybe with chatgpt we can actually go places now

Kreijstal commented 1 year ago

I guess someone needs to write a design document, this is a possible outline

Design Document Outline for the Website Project

  1. Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions, Acronyms, and Abbreviations 1.4. References 1.5. Overview

  2. System Overview 2.1. System Architecture 2.2. System Components 2.3. User Roles and Responsibilities 2.4. Assumptions and Dependencies

  3. System Features and Requirements 3.1. User Registration and Authentication 3.2. User Profiles 3.3. Question Submission 3.4. Question Categorization and Tagging 3.5. Voting and Flagging System 3.6. Discussion and Commenting 3.7. Exam Creation 3.8. Exam Taking 3.9. User Progress Tracking and Insights 3.10. Search and Filtering 3.11. Accessibility and Internationalization

  4. User Interface Design 4.1. Design Principles 4.2. Layouts and Navigation 4.3. Responsive Design 4.4. Color Scheme and Typography 4.5. Iconography and Imagery 4.6. Interaction Design

  5. System Architecture 5.1. Frontend 5.2. Backend 5.3. Database Design 5.4. API Design 5.5. Security Considerations 5.6. Performance and Scalability

  6. Development Environment and Tools 6.1. Programming Languages 6.2. Frameworks and Libraries 6.3. Development Tools 6.4. Version Control 6.5. Deployment and Hosting

  7. Project Management and Collaboration 7.1. Team Structure 7.2. Communication Channels 7.3. Task Management 7.4. Code Review and Quality Assurance 7.5. Testing Strategy

  8. Timeline and Milestones 8.1. Project Phases 8.2. Milestones and Deliverables 8.3. Estimated Timeline

  9. Risks and Mitigations 9.1. Risk Identification 9.2. Risk Assessment 9.3. Risk Mitigation Strategies

  10. Conclusion

What do you think?