{"id":22480407,"url":"https://github.com/kimxwan0319/rxschoolmeal","last_synced_at":"2026-02-17T12:32:48.377Z","repository":{"id":48983672,"uuid":"377713201","full_name":"kimxwan0319/RxSchoolMeal","owner":"kimxwan0319","description":"🇰🇷 자신의 학교 급식을 가져올 수 있는 라이브러리 입니다!","archived":false,"fork":false,"pushed_at":"2021-07-02T07:10:09.000Z","size":141,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-08T15:46:02.760Z","etag":null,"topics":["carthage","cocoapods","library","spm","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimxwan0319.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-17T05:17:15.000Z","updated_at":"2023-06-27T06:23:44.000Z","dependencies_parsed_at":"2022-09-07T13:50:53.235Z","dependency_job_id":null,"html_url":"https://github.com/kimxwan0319/RxSchoolMeal","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/kimxwan0319/RxSchoolMeal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimxwan0319%2FRxSchoolMeal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimxwan0319%2FRxSchoolMeal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimxwan0319%2FRxSchoolMeal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimxwan0319%2FRxSchoolMeal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimxwan0319","download_url":"https://codeload.github.com/kimxwan0319/RxSchoolMeal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimxwan0319%2FRxSchoolMeal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006211,"owners_count":26084062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carthage","cocoapods","library","spm","swift"],"created_at":"2024-12-06T15:24:29.953Z","updated_at":"2025-10-11T04:51:59.728Z","avatar_url":"https://github.com/kimxwan0319.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RxSchoolMeal\n\n![CI](https://github.com/kimxwan0319/RxSchoolMeal/actions/workflows/main.yml/badge.svg?event=release)\n[![Version](https://img.shields.io/cocoapods/v/RxSchoolMeal.svg?style=flat)](https://cocoapods.org/pods/RxSchoolMeal)\n![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)\n![Swift Package Manager](https://img.shields.io/badge/Swift_Package_Manager-compatible-4BC51D.svg?style=flat)\n[![License](https://img.shields.io/cocoapods/l/RxSchoolMeal.svg?style=flat)](https://cocoapods.org/pods/RxSchoolMeal)\n[![Platform](https://img.shields.io/cocoapods/p/RxSchoolMeal.svg?style=flat)](https://cocoapods.org/pods/RxSchoolMeal)\n[![codecov](https://codecov.io/gh/kimxwan0319/RxSchoolMeal/branch/main/graph/badge.svg?token=KAWST1E1TU)](https://codecov.io/gh/kimxwan0319/RxSchoolMeal)\n\n\n\n## Usage\n### 초기화\niOS 앱에서 RxSchoolMeal를 사용하려면 RxSchoolMeal 파일을 아래와 같이 임포트(import)해야 합니다. 또한 학교이름을 이용해 RxSchoolMeal를 초기화 하는 과정이 필요합니다. 다음 예제를 참고하여 AppDelegate.swift에 RxSchoolMeal를 초기화하는 코드를 추가합니다.\n```swift\nimport RxSchoolMeal \n\nfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -\u003e Bool { \n\nㅤ... \n    SchoolCommon.initSchool(schoolName: \u003c#학교이름#\u003e)\nㅤ... \nㅤ\n}\n```\n\n### 급식 정보 가져오기\n급식 정보를 가져오는 코드의 기본적인 형태입니다.\n```swift \nMEAL.getMeal(\u003c#날짜#\u003e, timePart: \u003c#식사구분#\u003e).subscribe(onSuccess: { meal in\n    print(meal)\n})\n.disposed(by: disposeBag)\n```\n\n* 위 `\u003c#날짜#\u003e`라고 작성 되어있는 부분에는 [`MealDate`](https://github.com/kimxwan0319/RxSchoolMeal/blob/main/Sources/RxSchoolMeal/MealDate.swift)라는 이름으로 정의된 enum을 입력합니다.\n  | Raw Value                  | Description                                                  |\n  | -------------------------- | ------------------------------------------------------------ |\n  | `.today`                   | 오늘을 나타냅니다.                                           |\n  | `.anotherDate(date: Date)` | 원하는 날짜를 Date 타입으로 받습니다.                        |\n  | `.plusMinusDay(day: Int)`  | 오늘을 기준으로 조회하고 싶은 날짜가 몇일 후인지, 몇일 전인지를 Int형식으로 받습니다. |\n* 위 `getMeal()` 함수는 `timePart: \u003c#식사구분#\u003e` 부분을 작성하지 않아도 되도록 오버로딩 되어있습니다. \n  만약 [`MealModel`](https://github.com/kimxwan0319/RxSchoolMeal/blob/main/Sources/RxSchoolMeal/Model/MealModel.swift)라는 이름으로 정의된 struct로 아침, 점심, 저녁 메뉴를 모두 받고싶다면 작성하지 않으시면 됩니다. \n  하지만 아침, 점심, 저녁중 하나를 `[String]`형태로 받아보고 싶다면 작성하시면 됩니다. \n* `\u003c#식사구분#\u003e` 라고 작성 되어있는 부분에는 [`MealPartTime`]()이라는 이름으로 정의된 enum을 입력합니다.\n  | Raw Value    | Description    |\n  | ------------ | -------------- |\n  | `.breakfast` | 아침밥 입니다. |\n  | `.lunch`     | 점심밥 입니다. |\n  | `.dinner`    | 저녁밥 입니다. |\n \u003cdetails\u003e\u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\n \u003cp\u003e\n\n 아래 세 예제는 모두 오늘의 급식을 조회합니다.\n ```swift\n MEAL.getMeal(.today).subscribe(onSuccess: { meal in \n    print(meal)\n }, onFailure: { err in\n    print(err)\n })\n .disposed(by: disposeBag)\n ```\n ```swift\n MEAL.getMeal(.anotherDate(date: Date())).subscribe(onSuccess: { meal in\n    print(meal)\n }, onFailure: { err in\n    print(err)\n })\n .disposed(by: disposeBag)\n ```\n ```swift\n MEAL.getMeal(.plusMinusDay(day: 0)).subscribe(onSuccess: { meal in\n    print(meal)\n }, onFailure: { err in\n    print(err)\n })\n .disposed(by: disposeBag)\n ```\n 아래 예제는 어제의 급식중 점심만 가져오는 예제입니다.\n ```swift\n MEAL.getMeal(.plusMinusDay(day: -1), timePart: .lunch).subscribe(onSuccess: { meal in\n    print(meal)\n }, onFailure: { err in\n    print(err)\n })\n .disposed(by: disposeBag)\n ```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\n## Installation\n\n### [CocoaPods](https://guides.cocoapods.org/using/using-cocoapods.html)\n```ruby\n# Podfile\nuse_frameworks!\n\ntarget 'YOUR_TARGET_NAME' do\n    pod 'RxSchoolMeal', '1.0.3'\nend\n```\nReplace `YOUR_TARGET_NAME` and then, in the `Podfile` directory, type:\n```\n$ pod install\n```\n\n### [Carthage](https://github.com/Carthage/Carthage)\nAdd this to `Cartfile`\n\n```\ngithub \"kimxwan0319/RxSchoolMeal\" \"1.0.3\"\n```\n```\n$ carthage update\n```\n\n### [Swift Package Manager](https://github.com/apple/swift-package-manager)\n```swift\n// Package.swift\n\ndependencies: [\n    .package(url: \"https://github.com/kimxwan0319/RxSchoolMeal\", from: \"1.0.3\")\n]\n```\n\n## Author\n\nsemicolondsmkr, kimxwan0319@naver.com\n\n## License\n\nRxSchoolMeal is available under the MIT license. See the LICENSE file for more info.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimxwan0319%2Frxschoolmeal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimxwan0319%2Frxschoolmeal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimxwan0319%2Frxschoolmeal/lists"}