A SwiftUI app for viewing the SMHS schedule, designed and built better than the official SMHS app 🙌.

Overview

SMHS Schedule: A SwiftUI app for viewing the SMHS schedule

SMHS Schedule is the one-stop experience for Santa Margarita Catholic High School's students, much better than the official SMHS app. Made by a SMHS student, for SMHS students, SMHS Schedule aims to deliver a beautiful and native app experience. If you like this project, please star ★.

DOWNLOAD NOW on the App Store 👇

SMHS Schedule looks equally gorgeous on your iPhone and iPad.

🧭 Navigation

✅ Tasklist

🔨 Build

This repo is an Xcode Project that contains the SMHS Schedule cross platform app for iOS and macOS. To get things running:

Prerequisite

  1. A Mac running macOS Catalina 10.15.4 or later
  2. Xcode 12.1 or later

Steps

  1. Clone or fork the repo
https://github.com/jevonmao/SMHS-Schedule.git
  1. Open the SMHSSchedule.xcodeproj file to load project
  2. On the upper left corner, select approriate scheme for iOS or macOS
  3. Swift Package Manager should automatically install all dependencies, and you can now build or run the app! To learn more about SPM, click here

✨ Features

InClass™ Countdown

The InClass™ countdown features a live countdown and a progress ring that displays time left for the current period. Easily visualize the time left in class and get on top of your schedule.


SMHS Schedule, Effortlessly.

The Schedule tab makes it effortlessly easy to view all your class schedules. For all future dates. Browse through all the schedule dates in a beautiful list, and tap on any date to glance the detailed schedule for that day.


School News, Stay Updated.

Stay updated on the newest campus news stories, all on your fingertips. SMHS Schedule provides a supercharged in-app school news reading experience, with gorgeous photos and graphics, and iOS native reader view.


Made by SMHS Student, For SMHS Students.

This is a project of Jevon Mao, a class of 2024 student at SMHS. SMHS Schedule is built ground-up from a students' perspective, and will undergo constant update bringing new features.


❓ Why

The reasons for building this project, SMHS Schedule, are private and public. On a private level, the creator is a SMHS student and need to see the class schedule several times a day. The official SMHS app is poorly built and while acheiving the function of class schedules, left plenty of room for improvements. And since Jevon had some knowledge of Swift and iOS development, he decided to make a better app for himself.

But at the same time, SMHS Schedule has a purpose on the public level. For the 1600 students attending SMHS, this app will greatly enhance students' school experience by providing a one-stop app that offers a variety of features. When compared to the official SMHS app, SMHS Schedule is designed and built better to specifically solve the issues that the official app failed on. The creator wanted to use his software skills to produce something meaningful for his school and his fellow students.

💪 Contribute

Contributions are welcome here for coders and non-coders alike. No matter what your skill level is, you can for certain contribute to SMHS Schedule's open source community.

Please read contributing.md before starting. Check the issues or the README feature tasklist for things to work on.

If you encounter ANY issue, have ANY concerns, or ANY comments, please do NOT hesitate to let me know. Open a discussion, issue, or email me. As a developer, I feel you when you don't understand something in the codebase. I try to comment and document as best as I can, but if you happen to encounter any issues, I will be happy to assist in any way I can.

⚖️ License

SMHS Schedule is created by Jingwen (Jevon) Mao and licensed under the MIT License


JUMP TO TOP

Issues
Releases(2.0.1)
  • 2.0.1(Oct 15, 2021)

    What's Changed

    • Fixed an issue where today screen's schedule will be stuck on another day by @jevonmao in https://github.com/jevonmao/SMHS-School-App/pull/78
    • Added Firebase push notifications by @jevonmao in https://github.com/jevonmao/SMHS-School-App/pull/81
    • Fix issue #79 where announcements do not fetch at all by @jevonmao in https://github.com/jevonmao/SMHS-School-App/pull/80
    • Improved UX by using time ago to show last updated time for announcement by @jevonmao
    • Added Firebase Crashlytics by @jevonmao

    Full Changelog: https://github.com/jevonmao/SMHS-School-App/compare/2.0.0...2.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.2.4(Sep 6, 2021)

    What's New?

    • Added optional period 8 schedule for correct days and times
    • Daily announcements are finally here! Find them by scrolling down on today tab

    What's Fixed?

    • Removed the changing to schedule tab's navigation title to avoid glitchy feeling UI
    • Update onboarding modal to match new features
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1(Aug 8, 2021)

    What's Fixed?

    • Updated app display name
    • Updated why statements
    • Remove SwiftUIX dependency
    • Updated acknowledgments for open source libraries used
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Aug 7, 2021)

    What's New?

    • Added shiny, new tab to check your Aeries grade book, always up to date
    • Redesigned Today screen's header and buttons for an improved experience
    • Polish campus news screen for a more beautiful experience

    What's Fixed?

    • Various UX and performance improvements
    • Bug fixes
    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Apr 28, 2021)

    What's New 🎉

    • iOS 14 Widgets! You can now glance today's schedule beautifully presented on the widgets.
    • Quickly find out what's new with a gorgeous onboarding modal.
    • Completely redesigned UI for many elements such as the loading indicator view

    What's Fixed 🔨

    • Fixed a bug where the app schedule view will not show anything on initial launch
    • Fixed an issue where the loading indicator is not in ideal position
    • Fixed a bug where the week categories show wrong dates
    • Fixed a bug where an unwanted icon will show for an empty week
    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Apr 28, 2021)

Owner
Jevon Mao
Hello there! I am currently a high school student who loves to code. A Swift and Python guru 🤗.
Jevon Mao
Designed for gesture-driven animations. Fast, simple, & extensible!

Yet Another Animation Library Designed for gesture-driven animations. Fast, simple, & extensible! It is written in pure swift 3.1 with protocol orient

Luke Zhao 503 Nov 11, 2021
Better Easing for SpriteKit in Swift

This easing library began life as a port of buddingmonkey's Objective C SpriteKit Easing library to Swift. This library extends upon the basic easing

Craig Grummitt 105 Oct 25, 2021
Various types of Animations created in SwiftUI and can be used anywhere you want.

SwiftUI-Animations Animations created with SwiftUI. Hello there, I'm Shubham and in this repository, I'll be posting the code for the animations that

Shubham Kr. Singh 1.1k Nov 11, 2021
A number of preset loading indicators created with SwiftUI

ActivityIndicatorView A number of preset loading indicators created with SwiftUI We are a development agency building phenomenal apps. Usage Create an

Exyte 659 Nov 26, 2021
SwiftUI Animation

Hey there Hi, I'm Arvind Patel, a iOS Developer ?? from India. Beside's programming, I enjoy eating food and Watching Movies. I'm a creative problem s

Arvind Patel 402 Nov 24, 2021
Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.

Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.

IBAnimatable 8.6k Nov 17, 2021
Customizable download button with progress and transition animations. It is based on Apple's App Store download button.

AHDownloadButton is a customizable download button similar to the download button in the latest version of Apple's App Store app (since iOS 11). It fe

Amer Hukić 424 Nov 10, 2021
A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices.

Keyframes Keyframes is a combination of (1) an ExtendScript script that extracts image animation data from an After Effects file and (2) a correspondi

Facebook Archive 5.4k Nov 18, 2021
Easy to read and write chainable animations in Objective-C and Swift

Whats new in version 3.x? Swiftier syntax Swift 4 support Bug fixes and improvements Whats new in version 2.x? Re-architected from the ground up, no m

Jeff Hurray 3.2k Nov 18, 2021
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together!

ver 2.0 NB! Breaking changes in 2.0 - due to a lot of requests EasyAnimation does NOT automatically install itself when imported. You need to enable i

Marin Todorov 2.9k Nov 9, 2021
⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift.

中文介绍 This project is inspired by JHChainableAnimations! Why Choose LSAnimator & CoreAnimator? You can write complex and easy-to-maintain animations in

木子 1.6k Nov 22, 2021
An elegant and flexible tweening library for iOS and tvOS.

PMTween is an elegant and flexible tweening library for Objective-C, currently supporting the iOS and tvOS platforms. It offers sensible default funct

Brett Walker 350 Nov 9, 2021
An easy way to add a simple, shimmering effect to any view in an iOS app.

Shimmer Shimmer is an easy way to add a shimmering effect to any view in your app. It's useful as an unobtrusive loading indicator. Shimmer was origin

Facebook Archive 9.4k Nov 22, 2021
Real time chat app written in Swift 5 using Firebase

Quick Chat for iOS Quick Chat for iOS is a real time chat app written in Swift 5 using Firebase. Quick Chat allows to send and receive text messages,

Henry Aslanyan 1.8k Nov 24, 2021
:sparkles: Twinkle iOS/tvOS app elements in Swift

Twinkle ✨ Twinkle is a Swift and easy way to make any UIView in your iOS or tvOS app twinkle. This library creates several CAEmitterLayers and animate

patrick piemonte 586 Nov 15, 2021
A gallery app of custom animated transitions for iOS.

AnimatedTransitionGallery Collection of custom animated transitions for iOS using UIViewControllerAnimatedTransitioning protocol. How to build $ git c

Shuichi Tsutsumi 2.5k Nov 17, 2021
An easy way to add a simple, shimmering effect to any view in an iOS app.

Shimmer Shimmer is an easy way to add a shimmering effect to any view in your app. It's useful as an unobtrusive loading indicator. Shimmer was origin

Facebook Archive 9.4k Nov 24, 2021
An extensible iOS and OS X animation library, useful for physics-based interactions.

Pop is an extensible animation engine for iOS, tvOS, and OS X. In addition to basic static animations, it supports spring and decay dynamic animations

Facebook Archive 19.9k Nov 18, 2021
Physics-based animations for iOS, tvOS, and macOS.

Advance An animation library for iOS, tvOS, and macOS that uses physics-based animations (including springs) to power interactions that move and respo

Tim Donnelly 4.4k Nov 15, 2021