Skip to content

sst-inc/SST-Announcer-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SST Announcer (iOS)

Language Xcode Cocoapods

iOS iPadOS Mac Catalyst

SST Announcer was built to help SST Students stay up to date with the school’s announcements with ease and convenience on their devices. The app allows users to browse, pin and share important announcements made by the school. The app also sends notifications to students whenever a new announcement is posted. This helped to ensure that students are kept updated with the latest information from the school.

Original design by FourierIndustries (formerly StatiX Industries)

Revamped in 2018 by OrbitIndustries

Revamped, again, in 2020 by Jia Chen and Shannen


Installation

This project uses Cocoapods. Check the Podfile for more information.

  1. To install Cocoapods, in terminal, run sudo gem install cocoapods
  2. To install the pods into the project, go to the project's directory and run pod install on this project
  3. Open the Announcer.xcworkspace
  4. Done

or just download on the App Store

App Store

Requirements

  • Xcode 11.4 or greater
  • Swift 5
  • iOS 13 or greater
  • iPadOS 13 or greater
  • MacOS 10.15 or greater
  • Cocoapods 1.8.4 or greater

Technologies/Libraries Used

Open Source Libraries

  • URLEmbeddedView
    • Previewing Links in the blog posts
    • Installed using Cocoapods
  • FeedKit
    • Fetching data from Students' Blog (Atom feed)
  • KALoader
    • Loading animations while getting data from RSS feed

Apple Technologies

  • UIKit
    • User Interface for iOS, iPadOS and MacOS
  • Mac Catalyst
    • To enable MacOS support
  • Background Tasks
    • Fetching new blog posts in the background, on device.
    • This is easier and more cost effective than running a server to push notifications to each device
      • TL;DR: I'm broke so this is the best way
      • Limitations:
        • Unable to work with Low-Power Mode on
  • User Notifications
    • To send notifications to the users whenever a new post comes (works together with Background Tasks)
  • Core Spotlight
    • To allow users to search for announcements using spotlight search

Screenshots (iOS)

Dark and Light mode

Home

Content

Search with Tags

Spotlight Search

Colors

Main Colors

These colors are used for different parts of the app such as backgrounds and labels.

Color Name Identifier Light Theme Dark Theme
Background "background" - #F5F4F6 - #060400
Global Tint "Global Tint" - #A9A9A9 - #A9A9A9
Grey 1 "Grey 1" - #434343 - #B8BABB
Grey 2 "Grey 2" - #DCDADB - #252628

Apple Colors

These colors are the ones as part of Apple's UIColor Human Interface Guidelines

Color Name API Light Theme Dark Theme
Blue .systemBlue - #007BFF - #0A84FF
Label .label - #000000 - #FFFFFF

Loading Colors

These colors are used for loading content using KALoader

Color Name Identifier Light Theme Dark Theme
First Load Color "First Load Color" - #DEDEDE - #202020
Second Load Color "Second Load Color" - #DDDDDD - #212121
Back Gray Color "Back Gray Color" - #F6F6F6 - #080808