iOS app for managing lecture schedules, assignments, and academic notes for UPN "Veteran" Yogyakarta students
- View all schedules grouped by day
- Filter to show only today's classes
- Auto-highlight ongoing and upcoming classes
- Search schedules by course name or lecturer
- Each course has a customizable unique color
- Course detail: name, lecturer, room, and personal notes
- Auto-import schedule from text (SIAKAD format / copy-paste)
- Manual input per course if needed
- Edit and delete schedules anytime
- Add tasks with title, description, course, deadline, and priority (Low / Medium / High)
- Automatic task status: Active, Done, or Overdue
- Time remaining indicator (minutes, hours, days)
- Deadline reminder notifications with a "Mark as Done" action directly from the notification
- Filter tasks by status
- Monthly calendar view
- Add notes to specific dates
- View scheduled courses on the selected day
- Set username with profile photo
- Record GPA per semester
- GPA progress chart across semesters (using Swift Charts)
- Reminder notifications before class starts
- Configure number of reminders (1β5 times) and interval between reminders
- Deadline notifications that can be marked done directly from the notification
- Dark / light / system appearance support
- Bilingual: Indonesian and English
- Adaptive gradient background based on color scheme
- Home screen widget displaying today's lecture schedule
| Component | Detail |
|---|---|
| Platform | iOS 17+ |
| Language | Swift 5.9 |
| UI Framework | SwiftUI |
| Data Persistence | UserDefaults via @AppStorage |
| Notifications | UserNotifications framework |
| Charts | Swift Charts |
| Widget | WidgetKit |
- Clone this repo
- Open
spader.xcodeprojin Xcode 15+ - Select a device or simulator (iOS 17+)
- Build & Run (
Cmd + R)
No external dependencies need to be installed via SPM β everything is included in the project.
Distributed under the MIT License. See LICENSE for more information.
Built by Wildan Rifqi β Informatics student at UPN "Veteran" Yogyakarta.







