-
Notifications
You must be signed in to change notification settings - Fork 15
Models
This Wiki documents the models and their attributes. These are only speculation and the actual attributes can change depending on the direction in which the project moves forward.
The users who have viewership access to events and get notified of announcements. They have the following attributes
- String Email ID - obtained when they sign in with their institute account
- String Name - also obtained from the google account
The holder for events scheduled by organizers. The attribute list is not exhaustive and we might need more fields in future. Also, all the attributes mentioned below may not be applicable to all the events. Care must be taken to mark the relevant fields as @required
in the model
- String Event name
- int/Duration duration
- DateTime Event date and start time
- String Event venue
- Enum Type of event (possibly an enum - workshop, talk, hackathon, quiz/competition etc)
- List<String> Speakers
- List<String> Organizer(s) (the person who created this event on this platform)
-
Map<String, String> Prizes/Schwags - we are using maps to map prizes to positions, eg
{"first":"1000","second":"750","special":"500"}
-
Map<String, String> Winners - we are using maps to map prizes to winners, eg
{"first":"[email protected]","second":"[email protected]","special":"[email protected]"}
- String Special notes
The organizers are the people who can manage events and announcements. They have the following attributes
- String Email ID - obtained from institute ID login
- String Name - also obtained from the google account
The app feedback model would be relatively simple, consisting only of the feedback related to app functionalities. Everything would be rated in stars out of 5. Add relevant asserts to make sure invalid values cannot be inserted.
- int Overall experience
- int Event details
- int Event announcements/notifications
- String Any other feedback in the form of text
The event feedback model would not be as simple as the app feedback model. Here the valid attributes would be dynamically selected and displayed to the user based on the type of event. For instance, if there is a talk which has no associated prizes or schwag, then the feedback form should only ask for the attendee's views on relevant topics i.e feedback only on speaker, venue, time and fields like prizes schwag should not be displayed. Some other attributes that can be a part of the feedback are (ratings out of 5). Add relevant asserts to make sure invalid values cannot be inserted.
- int Overall experience
- String Suggestions/feedback in the text
The above guide is only to help you understand the structure of the app. This is by no means an exhaustive list of models or their attributes. We might have to add more of these in future as we continue to develop the app. If you think some model or attributes are missing then create a separate issue for further discussion on them.