Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forms #28

Open
GetPsyched opened this issue Jan 25, 2024 · 5 comments · Fixed by #197 · May be fixed by #132, #187 or #186
Open

Forms #28

GetPsyched opened this issue Jan 25, 2024 · 5 comments · Fixed by #197 · May be fixed by #132, #187 or #186
Assignees
Labels
feature New feature or request
Milestone

Comments

@GetPsyched
Copy link
Member

GetPsyched commented Jan 25, 2024

Let's end Google forms for official purposes. We should implement our own dynamic form creation system that the faculty and staff can generate.

Tracking

@heydoyouknowme0
Copy link
Contributor

heydoyouknowme0 commented Jan 29, 2024

Planning to use DND-kit to drag n drop elements to add, conveniently arranged in a grid of cards alongside the form while building.

image

@heydoyouknowme0
Copy link
Contributor

heydoyouknowme0 commented Feb 7, 2024

image
image

  1. here shouldn't they be cascade on delete, at least for submissions as it loses all its meaning if that particular form is deleted.

  2. I will be using persons table as reference for both modifiable_by and visible_to(for now)

  3. Storing submissions as a json(answers, content) is the only thing that feels feasible for now. Also, some sort of feedback and marks(for quiz, tally). Still unclear on individual marks per question( also need some sort of checked flag for that) might be practical to make a new model for it??

  4. Analytics can be stored in questions itself, possibly incrementing on every submission.

Edit:
5. page_number variable for form_questions seems redundant (can't this just be implemented using limit and offset?)

@GetPsyched
Copy link
Member Author

GetPsyched commented Feb 7, 2024

  1. Yeah, we'll add cascades
  2. Okay.
  3. I don't think we should keep it in JSON. We can likely expand on the form_submissions table and make it a key-value pair type of thing where we store a foreign key to the question and then its answer with another foreign key of the user who answered it.
  4. Nope, let's keep analytics as post processing, not in the DB.
  5. Unsure how using limit and offset is a better approach. offset sounds like a fancy name for page_number lol.

@heydoyouknowme0
Copy link
Contributor

  1. Won't that just end up making too many queries, rather than just updating it while it's being formed.

  2. I just meant plain pagination in the backend, also that page number is basically useless when form shuffle is on

@GetPsyched
Copy link
Member Author

  1. On the contrary, one can argue that won't keeping it in the table allow for more bugs to slip through where values can remain outdated and also you just need to manage a lot more data.
  2. Plain pagination is only viable if you want a uniform number of questions per page, but that's not necessary. As for the shuffle, that's fine.

@heydoyouknowme0 heydoyouknowme0 mentioned this issue Feb 18, 2024
4 tasks
This was linked to pull requests Jun 8, 2024
@GetPsyched GetPsyched added feature New feature or request and removed back-end labels Sep 15, 2024
@GetPsyched GetPsyched added this to the next milestone Sep 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
Status: Backlog
Status: Backlog
2 participants