Built by Hank Hayes for CS392E: Mobile Computing
- About
- Dependencies
- Packages
- Special instructions
- Usage
- Project requirements
- Contact
OrgSync is a student organization management application. It aims to give student organizations an easy way to manage their members, send announcements, and plan events.
- Swift version:
Apple Swift Version 5.9 - Xcode version:
15.0.1 (15A507) - iOS Deployment target:
17.0
- Firebase:
https://github.com/firebase/firebase-ios-sdk
- Simulator:
iPhone 15 Pro Max - Orientation:
Portrait - Test account email:
hankhayes@utexas.edu - Test account password:
adminone
Sample data for members, events, and announcements have been already created. There's no need to launch multiple simulators, but if you'd like to see the Firebase Realtime Database in action, this would be the best way to do so.
Registering as a new user will give you "member" privileges, so you will not be able to do things like create announcements or events.
OrgSync is built on top of a FireBase Realtime Database, which allows students to create their own membership account. Announcements and events that are created in the app are actually viewable on other devices at the time of creation.
There are a few parts of this app that I started building and have not completed. All core project requirements are fulfilled but you may encounter an occasional bug or unfinished section.
- Settings screen. The implemented behaviors are dark mode, haptics, and alternate app icons.
SettingsTVC.swiftSettingsViewController.swift
- Non default fonts and colors used
- Verdana & System Indigo
- Login/register path with Firebase
WelcomeViewController.swiftLoginViewController.swiftSignUpViewController.swift
- Core Data
- User profile path using camera and photo library
- Multithreading
EventsViewController.swiftrefreshing table views
- SwiftUI
- Two or more additional view types, being segmented controllers, picker views, switches, and menu buttons
SettingsTVC.swiftchanges settings using segmented controllers and switchesAnnouncementViewController.swifthas a menu button that allows filtering and announcement creationCreateAnnouncementViewController.swiftuses a picker view to choose an announcement tag
- Table View
MemberViewController.swiftdisplays members in a UITableView
- Collection View
- Tab Bar View Controller
TabBarController.swiftcontrols navigation throughout the app
- Page View Controller
- Alerts
AnnouncementViewController.swiftserves an alert upon successfully creating an event
- Popovers
- Stack Views
- Scroll Views
- Haptics
TabBarController.swiftplays a haptic when the tab is changed
- User Defaults
SettingsTVC.swiftstores user settings in User Defaults
- Local Notifications
- Core Graphics
- Gesture Recognition
- Animation
- Calendar
EventDetailViewController.swiftlets you add an event to your calendar
- Core Motion
- Core Location / MapKit
- Core Audio
- Firebase (if not used to fulfill major element requirement)
- Core Data (if not used to fulfill major element requirement)
- Other