blob: 5ba58ae8e98bafaa62e447dccbf76b6891b56626 [file] [log] [blame]
#summary One-sentence summary of this page.
#labels 2013DeveloperDoc
= Introduction =
Document describing how information is stored and managed on Melange. It describes the relationships between the data entities and how those entities are transformed into UI elements.
= Details =
== Data model architecture ==
* The program model stores the settings such as total number of slots available, age restrictions for participants, program's current visibility that are related to the entire program.
* The timeline model stores the program's timeline. However the timeline corresponding to organization application and mentor and student midterm and final evaluations are stored as part of the corresponding surveys outside this GSoCTimeline model. There exists a 1:1 relationship between the program model and the timeline model. program model references the timeline model through "timeline" reference property and timeline model references program model through "scope" reference property.
* The program messages model stores the message bodies of the emails that are sent by hosts to different various participants. Message model is a descendent of program model.
* The organization model stores both the information pertaining to the organization that are publicly visible such as organization name, contact details etc. and organization specific settings such as their GSoC proposal scoring scale, accepted and rejected messages, etc. This model also stores some derived information such as the number of mentors assigned to proposals, slots allocated and so on.
Relationship between entities: