Instructions and descriptions for each of the different functions of MH Aid are written in great detail below. They are supported with images, and should be very simple to understand. If there are any questions, please feel free to email myang1220@gmail.com
To understand how MH Aid works, it is important to understand the different view controllers that are used in the storyboard. On the top, there is the Tab Bar Controller. This creates a tab bar with several clickable items; each will eventually display a unique page. The tab bar controller splits the app into six different sections: home, schedule, activities, lunch, contact, and calendar.
Below the tab bar controller lie a row of navigation controllers; each serve as a root view controller to the initial tab bar controller. When each of the aforementioned items/buttons are pressed, the application loads the respective navigation controller. These navigation controllers allow users to return back to a view using the navigation bar on the top of the screen by simply pressing the "back" button. The exception to this is the lunch view controller, which does not use a navigation controller but instead relies on action show segues and unwind segues.
Embedded within each of these navigation controller lies at least one other view controller which pertains specifically to the item chosen on the tab bar. What exactly these view controllers display and how they function will be elaborated in further depth below.
The home view controller serves as the landing page for MH Aid. A segmented control lies on this view controller, and upon changing tabs, a different view is displayed. Coding-wise, if the tab tag is 1, Twitter is displayed; if the tab tag is 2, Instagram is displayed; if the tab tag is 3, Facebook is displayed. The goal is for users to be able to remain up-to-date on Morris Hills current events.
This is the initial page that users see when they press the schedule item on the tab bar. It is a blank schedule with all eight blocks listed.
Once the user presses the edit button on the top left, a new page is loaded where users can first enter their current grade level. Upon that input, the following scroll pickers are edited based off of the entered grade level, as each grade has different classes that are available.
After users select all of their classes, their inputs are transported onto the originial view. This data is saved until the next time the edit button is pressed.
The third page links directly to a Google Site detailing relevant information regarding Morris Hills' extracurriculars activities. On the side bar, users can choose which topic of activity they want to explore, as well as the specific club that they might be interested in.
Upon pressing the lunch item, the user is greeeted with the above screen. The daily dishes remain constant and are always visible, as they are never changed from day-to-day.
If the user is an administrator, they have the option to choose "Sign-in" in the top right corner. A new screen (shown above) is displayed.
Upon entering the correct authentication pin, the administrator is led to a new page where they can add the day's new menus. The text fields code for: today's two specials, today's vegetables, and whether or not fries are served for the day.
Above are two very similar images. Depending on whether the administrator chooses if fries will be served or not, a different result is shown at the bottom of the screen. If yes (which is an answer students love), a smiley face is shown. If no (which, conversely, is an answer students hate), a thumbs down is shown. This data is saved for future users to see.
If users have questions for their teachers or for the developer, they have the option to press the "contact" tab (note: for certain users, the screen may be too small and so the "contact" tab can be found by pressing the "more" tab). This is the screen that will appear:
Upon entering the required information in the text fields, the user can then press submit. This will bring up an pre-made email draft containing the question that the user wants to ask with the recipient as the email of the teacher chosen. In order to sign off the email, the code takes the "sender name" text field and places it after "Sincerely,".
If the user decides to contact the developer if they have any questions or if they found a bug, they have the option to do so by pressing the "contact us" button. Similar to the function above, a pre-made email draft is displayed with the pre-set recipient as myang1220@gmail.com.
The last thing that can be found on the contact view controller is the privacy policy and terms and conditions. This is hyperlinked through the button labeled with the same name. The linked Google Sites contains the privacy policy and terms and conditions under separate tabs.
The final view controller is the calendar view controller. Here, a Google Calendar with all of Morris Hills' events are integrated directly into the app. Users can move backward or forward through the months to view the different events.