FYE: The First Year Experience

The official mobile application used during The First Year Experience at The American University in Cairo from 2015-2018.

Videos:

Promotional Video

Tutorial Video

Project’s Github: https://github.com/MalakSadek/FYE

We created this application to serve as a guide for freshmen entering The American University in Cairo for the first time. It had a section for AUC, providing general information about the university and its facilities and services (useful for all students) and a section for FYE, providing information about the 3-day event that takes place at the beginning of each semester for freshmen.

It provides freshmen with information regarding AUC (places that offer student discount, on-campus services and food outlets, etc.) and the FYE program (schedules, maps, and inforgraphics) as well as useful services such as live group chat rooms/message boards, and an in-board video player for FYE’s Youtube channel.

The project is now discontinued as the university migrated to a more general application and the Student Union also produced their own application. The application used to be available on both the App Store and the Play Store and was downloaded and actively used by 3000+ users.

Application Design (Android & iOS):

First screen, sign up, first-time tutorial/help guide, and main menu for FYE and AUC tabs (alternated by swiping left and right)

Guide for places that offer AUCians discounts, guide for on-campus food outlets, guide for university services.

Guide for useful external links, FAQs, guide for university clubs and societies.

Guide for majors offered at AUC, FYE video player, scoreboard for FYE competitions.

Chat screen in a message board, map of booths in the university plaza during FYE.

The Technical Stuff

Application Features:

  • Users can sign up for the application, sign into it if they have an existing account, change their passwords, and log out.
  • There is a help page displayed upon opening the application, describing all the features in details to the user.
  • The Academic Guide button lists all the majors, minors, and core curriculum, displays info about them upon clicking on one, and can open a link to the AUC catalog entry for the relevant selection.
  • The Clubs button lists all the clubs in the university, and displays their mission and contact information upon clicking on one.
  • The Maps button links to the application developed by Mostafa El Leithy & Windrose Co. called AUC Maps on android, and currently does nothing on iOS.
  • The Message Boards button subscribes the user to the relevant house and group message board which they select during signing up if they are FYE students, if not they are only subscribed to the announcements message board. Upon selecting a message board, they can view and send messages, except for the announcements message boards, only admins can send messages on it.
  • The FAQ button displays common questions freshmen have and the answer upon selecting one.
  • The Important Links button displays useful links such as the AUC mail, and the bus schedule, and can open them in the browser.
  • The Discounts button lists the places that give discounts to AUCians, and where they are located, their numbers, and the discounted amount upon selecting one.
  • The Food Outlets button lists all the food outlets on campus, their locations, working hours, and number upon selecting one.
  • The Facilities and Services button lists all the facilities in the universities, and then lists the services each one offers.
  • The 3 Day Schedule, FYE Guide, Majors Fair, Engagement Fair, FYE Stations, and Treasure Hunt buttons open zoom-able pictures provided by FYE.
  • The Competition button opens a list of houses, and the ranked group winners for each house for the FYE competition.
  • The Youtube Channel button lists all the videos on FYE’s Youtube channel and can play them upon selection.
  • Notifications can be sent manually, or whenever there is a new message in a message board, and will be pushed to the user whether the app is in the foreground, background, or terminated.

Application Logic:

  • Any account based logic is implemented using Firebase authentication system, however upon signing up, the user is also added to a MySQL database named Users, in order to later retrieve their names to be displayed in the Settings page (not available in Firebase), and to obtain their selected House and Group, if not stored in shared preferences/user defaults.
  • A user cannot sign up without an AUC email, if the email is already registered, or if their passwords do not match, and cannot enter the app without clicking on the link in the verification email sent to them.
  • Most of the buttons in the AUC tab implement ListViews in Android, and UITableView in iOS, the data is populated from MySQL tables using PHP scripts, to make the process as generic and dynamic as possible.
  • For messaging, Firebase was used for both Android and iOS.
  • For zooming on images, APIs were used for both Android and iOS (refer to next section).
  • For displaying Youtube videos an API was also used (refer to next section).

Third Party APIs Used:

  • Android:
  • Picasso – for lazy loading images
  • PhotoView – for zooming in on images
  • Youtube API – for getting videos in a channel and displaying them
  • Firebase – for authentication, notifications, and messaging
  • iOS:
  • Firebase – same as android
  • Youtube API – same as android
  • ImageScrollView – for zooming in on images

The Back-end:

  • The back-end of the application is a MySQL database interfaced to using PHP scripts, with several tables:
  • Academic_guide, Clubs, Competition, Discounts, Facilities_and_Services, FAQ, Food, Links, Messages, spinnerData, Users, Youtube.
  • These all provide the data to populate the application, all data is stored in the back-end and retrieved dynamically so that the information can easily and practically be updated, it is also used for storing messages (from the chat feature) and user profile information.

Leave a comment

Design a site like this with WordPress.com
Get started