In mnf-science university, students can choose courses in a semster freely but they struggle with schedule conflicts (time, prerequisite and too high level courses). It takes the UNI days to revise every schedule to make sure all of them are valid. Gadwal solves this problem with ease by making sure every schedule is valid before submit, It filters the department's courses first so it removes taken and passed courses, courses which prerequisites hadn't been passed and courses that are 2 levels higher then it makes every possible combination of the remaining courses with respect to needed credits and takes into account desired and undesired courses. Making combination can be very exhaustive, so try to minimize the possiblites as much as possible by choosing more desired and undesired courses instead of leaving them on "Neutral".
swift
Xcode
SwiftUI FireBase
MVVM