Skip to content

maxsofar/SBapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Study Buddy

A native iOS app for browsing Technion course materials — built after the university's own resource site went down and left nothing usable in its place.

Background

The Technion had a community resource site (studybuddy.co.il) aggregating lessons and exams by course. When it became unreliable I decided to build a cleaner mobile version: one that loads fast, works offline for saved content, and actually looks like a modern iOS app.

What it does

  • Loads a course list from a remote CSV (hosted on GitHub), so data stays up to date without app updates
  • Search with live results across all courses
  • Browse lessons and exams per course
  • Scrapes lesson links directly from studybuddy.co.il using SwiftSoup when needed
  • Favorite courses, persisted across sessions
  • Per-week completion tracking
  • Home screen quick actions ("Show Favorites") via the iOS shortcut system
  • Localization support (Hebrew/English)

Stack

  • Swift, SwiftUI
  • SwiftCSV — CSV parsing for the course list
  • SwiftSoup — HTML scraping for lesson links
  • UserDefaults — lightweight persistence for favorites and completion state

Architecture

The app is small but structured deliberately:

  • StudyBuddy — root view, navigation stack, search area, CSV fetch on launch
  • CoursesData — data models (Course, Exam, Courses), scraping logic, state management
  • CourseView — per-course screen with lesson/exam tabs and toolbar actions
  • SearchViewModel — typed search with live filtering over the course list
  • ActionService / AppDelegate — handles iOS quick actions registered at startup

Notes

This was a self-directed project during a break in studies — I learned SwiftUI from scratch, following guides but consistently going beyond them to add my own features and design preferences. The scraping layer and the GitHub-hosted CSV data source were both decisions I made to keep the app useful without needing a backend.

About

Native iOS app for browsing Technion course materials — SwiftUI, live CSV data, HTML scraping with SwiftSoup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages