Skip to content
HALLOWEEN edited this page Aug 5, 2022 · 110 revisions

TODO

Open issues for these:

  • Delete heroku branch and move config files to github gist (?) - the snippet thing, then link here at wiki new page Deploying to Heroku
  • Check if test case is present for deleting records with relationships (ALL models)
  • Create enhancement request at kweeznuts repository: loading screen (progress bar/ circle icon or smth) for longer transactions

When done with issues & pull requests:

* Cleaning code, perfectionist-type agenda, I resolve to not do these

  • Update all methods that use factories to get object itself as input instead of id
  • Update all CRUD methods to use sqlalchemy join method instead of so much customizations (see quiz_action crud)
  • Rename to inquizitor-ai? see https://namae.dev/
  • Organize: https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags-with-enums
  • Clean existing tests, divide into crud tests and api tests
  • Ponder: read-answers endpoint, is it necessary?
  • Add Test utility for letting a student to answer stuff prior
  • crud_quiz:: get_multi_by_participant:: return None for quiz["answers"] if due date has not yet passed
  • Investigate JWT authentication via FastAPI issue
  • Ponder what happens when a question is left unanswered? see \inquizitor\inquizitor\tests\api\api_v1\test_answers.py
  • Ensure that quiz-user combination is unique, see \inquizitor\inquizitor\api\api_v1\endpoints\quiz\quiz.py
  • Update factories (new model factory attributes), see \inquizitor\inquizitor\tests\factories.py

THESIS

  • Should users be unable to create accounts? Admin will create accounts from an email list instead (import)
  • Should superusers and teachers also be able to answer a quiz for testing purposes?

TRY

FASTAPI

DEPLOYING TO HEROKU

DEV

  • HTTPie: user-friendly command-line HTTP client for the API era
  • Black: uncompromising Python code formatter, makes code review faster by producing the smallest diffs possible

SUBLIME3

GIT

  • git clone Work:username/repo.git

REFERENCES

ARCHIVE

TODO

  • Cleaning/ refactoring
    • Update question and quiz endpoints to use the new Dependency functions
    • branch get-results-teacher > rapid-dev
      • pull main
      • test GET "/quizzes/": crud.quiz.get_multi_by_participant: answers pulled doesn't come from the latest attempt'
      • review and refactor crud methods for each model
    • review and merge rapid-dev
    • run https://pypi.org/project/black/ on main to clean the codebase
  • add documentation to readme (either screenshot or convert interactive doc to html)
  • gitignore logs
  • Add initial-data option to get real-world quiz data from available APIs (and note to user that it requires internet connection)

Data sources that might contain useful input device data:

Outline of models for input device data:

Fields in common: quiz_id, student_id, attempt_id, question_id, timestamp Models and their respective fields:

  1. Blur: x-y coordinate
  2. Focus: x-y coordinate
  3. Copy: content
  4. Paste: content, location pasted
  5. Left-click
  6. Right-click
  7. Double-click
Clone this wiki locally