Closed DedsecKnight closed 1 year ago
Questions for @DedsecKnight
Current ERD Diagram
Officer can see other stuffs from other divisions
I believe this refer to a potential flaw in that design, which basically allows officers to see responses for all applications. In other words, this means that a Project officer can see responses for Research application regardless whether they are affiliated with Research or not. If this is not an issue for other divisions, feel free to ignore it.
Should talk to other directors about how they’re using TypeForm
I believe this has to do with the fact that we need to consult with officers from other division to see what their issues with Typeform Application system are, from which we will know how we can improve it with the new application system.
What is the use of User ID in the "Junction table between person and application".
Junction table represents the Many-to-Many relationship between User and Cohort application, meaning that a user can apply to multiple cohort programs and a cohort program can have multiple applicants. The purpose of User ID is so that we can later fetch all applications that a user submitted to along with the status of each application in Portal view.
Current ERD Diagram
The diagram looks good to me. A few things I think will be needed for it to work with our current database architecture:
The officer
object is not tied to the Profile
object, which is currently our source of truth for user data on Portal. The easiest way I can think of to fix this is to add profileID
field to officer
table, which will act as a foreign key referring to Profile object. The schema for Profile object can be found below if necessary:
model Profile {
id String @id @default(auto()) @map("_id") @db.ObjectId
firstName String
lastName String
email String @unique
netid String @unique
classStanding String
major String
utdStudent Boolean
roles String[]
membershipStatus Boolean
membershipTS DateTime?
resume Boolean
resumeTS DateTime?
user User @relation(fields: [userId], references: [id])
userId String @unique @db.ObjectId
events EventReservation[]
}
Also, in the officer
object, an officer can also belong to multiple division, so make sure to take that into consideration as well.
I believe this refer to a potential flaw in that design, which basically allows officers to see responses for all applications. In other words, this means that a Project officer can see responses for Research application regardless whether they are affiliated with Research or not. If this is not an issue for other divisions, feel free to ignore it.
This is an issue so it will be fixed.
I believe this has to do with the fact that we need to consult with officers from other division to see what their issues with Typeform Application system are, from which we will know how we can improve it with the new application system.
I can do this for Research easily - will have to reach out to Projects and Education.
@DedsecKnight quick question for the user: to me, entryID and userID seem redundant? If we are using userID to find all applications done by that user, what is the use of entryID?
In the document scheme, it's labeled as the primary key but I think just userID should just be the primary key. What do you think?
Nevermind, I read it wrong - it's all good
This is the process for resolving conflicts when multiple divisions want an applicant:
So each division chooses some people it wants to interview, and if multiple divisions choose the same person, then they're interviewed by the division that they ranked higher
Updated database app - pending review from @DedsecKnight
@DedsecKnight - I think I'll just do the user flow since for the wireframe, I'm not really orientated with the design outline of Portalv2.0 nor am I frontend person
Sounds good to me
Completed database scheme uploaded here for reference:
Applicant/User userflow
Done with both workflows. Need to meet with UI/Frontend designers to hash out how it will look like. Files to be uploaded @ today's meeting
Describe new addition Portal v2 is expected to provide an in-house application system, which allows officers to overcome drawbacks that they are facing due to using Typeform. Right now, it is necessary that the user flow and the high-level architecture is consolidated.
Task List
Additional context