-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO.txt
More file actions
116 lines (96 loc) · 6.74 KB
/
TODO.txt
File metadata and controls
116 lines (96 loc) · 6.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Server url - https://gentle-caverns-60163.herokuapp.com
Does not run right now because there is an issue with the database. I deployed it b/c postgre requires
the database to operate remotely and so I'm thinking ahead
Okay guys, this is a long one but please review the whole document and start
ASAP. As you solve issues please add an X or remove them from the list and
push them to git. Removing files permenantly from git can be weird so it may
be in our best interest to remove them from git itself than from our local
devices. Good luck and have fun!
-----<OVERVIEW OF ISSUES>-----
-type hinting
-commenting
-cleaning code -> legibility
-removing stale comments
-----<THE CLEANSE>-----
clean out js folder - remove unwanted/unneeded script files
clean out images folder
clean out fonts folder
clean out bootstrap folder
clean out main.css of unneeded declarations
-----<SPECIFIC FILES>-----
as you are cleaning, take a look at the css and see if its even needed
also, please improve commenting, especially on jinja code and db items as these
can be difficult to understand when taking a fresh look
List of files and what they need, DELETE AS YOU SOLVE PLEASE - (dont forget to
push)
-----<CSS Files>-----
main.css - remove clutter and unneeded declarations
- comment sections, better divide (this will probably need the most
work, everyone should work in this as everyone has probably touched
the main.css and will understand their own additions better, only
remove if you are certain it is not being used. if it is being used
but is overcomplicating feel free to edit to simplify it down)
-----<HTML Files>-----
layout.html - move javascript to separate file (located at bottom of layout)
take_quiz.html - move css to main.css
quiz.html - there is some commented out code, is it needed? if not remove
- move css to main.css or utilize existing css
- improve spacing
login.html - improve comments
- improve spacing
create_quiz.html - scripts located at top if they are globally used then put in
layout, if not then comment properly and separate from html
area for clarity
- improve section commenting and database item commenting
create_classroom.html - improve commenting and spacing
- comment on db items
classroom.html - scripts located at top if they are globally used then put in
layout, if not then comment properly and separate from html
area for clarity
- move css to main.css, or utilize existing styles located in
main.css
- fix spacing
- remove repeating comments
- there is some commented out code, is it needed? if not remove
add_quiz.html - commenting
- db commenting
-----<PYTHON Files>-----
-many need exception handling, see classrooms.routes.remove_active()
-comments should focus on what the parameters are, see
classrooms.routes.set_active() for a reference. this commenting style works
with the Visual Studio Code python extension.
-sort the imports, this can be done by selecting and right clicking all imports
classrooms.forms.py - needs exception handling
classrooms.routes.py - needs exception handling
quizzes.forms.py - needs exception handling
quizzes.routes.py - needs exception handling
users.forms.py - needs exception handling
users.routes.py - needs exception handling
HANSEL - I'll do error handling
-----<JAVASCRIPT Files>-----
files to be kept for sure, please review these. Add if there are any more that
need to be reviewed that are not on the list:
set_active.js - add comments above function to explain parameters and output
QuizForm.js - remove unneeded functions, specifically: Katie and Tim should
mainly review these as they have both been the ones to mainly
contribute to them. Communicate internally over what to keep
and what to remove.
Any files not listed are seen as redundant and should be removed. Please only
remove files that you have added yourself, or check with last known editor.
These edits MUST be done before we can advance any further, the further we
let them stay the more convaluted our code will become. Tackle one or two
files a day at minimum and this should be cleared up quickly
Thanks!
-Tim
<<Katie>>
There's also some changes to the database that we really need to do ASAP, since everything else depends on the db and how its's set up. This is what needs to be done/changed:
- change quiz to classroom relationship from "a classroom has many quizzes, but a quiz only has one classroom" (one-to-many) to "a classroom has many quizzes, and a quiz has many classrooms" (many-to-many). This requires creating a separate table in the db to link them together which is actually a pretty major change to how we access those objects in the db.
- change the structure of quizzes from "a quiz has one question and a list of Answer objects attached to it" to "a quiz has a list of Question objects attached to it that each have four answers". This will make it so we can easily add questions to a quiz, although each question will only have four multiple choice answers for the time being.
- add a Student model that will have Response objects attached to it, and possibly other fields, like student ID or classroom ID. This will make it easier to track student's answers/progress and organize the responses to a specific quiz.
- maybe making the Response objects use a Boolean instead of Enum field? I'm not sure exactly how Hansel has it set up right now but it might be something to consider as we make these other changes.
A lot of this is stuff that will mess up our other stuff, so that stuff needs to be changed too, and so on. I think having a meeting with everyone to discuss how the database works so everyone is on the same page and understand what needs to be done would be a good idea.
Thanks guys! We're crushing it
- To fix the many to many issue you create a weak entity table that links the two. I'll send some database videos that were very good as I was studying for my final that would be good for everyone to take a look at
Also, I agree that the response object should use a boolean for specifically if the student response were correct or not strictly. But the reason I'd say wait on it is that when we
want to store variable responses, i.e how correct they were or something like that then an Enum would be better. Its a minor thing so I wouldn't change it just yet tho I do agree
- Hansel March 19 2020 - I can take care of the weak entity thing