An open API service indexing awesome lists of open source software.

https://github.com/eat-ssu/ios

🍽️ EAT-SSU: μˆ­μ‹€λŒ€ 학식 리뷰 μ•± 🍽️ iOS λ ˆν¬μ§€ν† λ¦¬
https://github.com/eat-ssu/ios

fastlane github-actions ios soongsil-university swift swiftui tuist uikit xcode

Last synced: 16 days ago
JSON representation

🍽️ EAT-SSU: μˆ­μ‹€λŒ€ 학식 리뷰 μ•± 🍽️ iOS λ ˆν¬μ§€ν† λ¦¬

Awesome Lists containing this project

README

          

![eatssu_main](https://github.com/user-attachments/assets/ae21de9d-8333-46fb-b0ad-d8578f572fda)

# EAT-SSU: μˆ­μ‹€λŒ€ 학식 리뷰 μ•±
**EAT-SSUλŠ” μˆ­μ‹€λŒ€ν•™κ΅ ν•™μƒλ“€μ˜ 즐겁고 νŽΈλ¦¬ν•œ 학식 μ΄μš©μ„ κΏˆκΎΈλŠ” ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.**
- `학생식당`, `도담식당`, `ν‘Έλ“œμ½”νŠΈ`, `μŠ€λ‚΅μ½”λ„ˆ`, `κΈ°μˆ™μ‚¬ 식당`의 λͺ¨λ“  메뉴λ₯Ό 비ꡐ할 수 μžˆμ–΄μš”.
- 학식에 λŒ€ν•œ 리뷰λ₯Ό 톡해 μˆ­μ‹€λŒ€ ν•™μš°λ“€κ³Ό 정보λ₯Ό κ³΅μœ ν•  수 μžˆμ–΄μš”.
- μ‹λ‹Ήμ˜ μš΄μ˜μ‹œκ°„κ³Ό μœ„μΉ˜λ₯Ό 확인할 수 μžˆμ–΄μš”!
- [More & Contact](https://eat-ssu.notion.site/EAT-SSU-1d2eeef75a1681198583e5282eaae6ba)

## λ‹€μš΄λ‘œλ“œ
2023.11.27~ μ„œλΉ„μŠ€ 쀑
- [App Store](https://apps.apple.com/kr/app/eat-ssu-%EC%88%AD%EC%8B%A4%EB%8C%80-%ED%95%99%EC%8B%9D-%EB%A6%AC%EB%B7%B0-%EC%95%B1/id6472618331)
- [Play Store](https://play.google.com/store/apps/details?id=com.eatssu.android)

## λ³΄μ•ˆκ·œμ •

- `xcconfig` νŒŒμΌμ„ μ‚¬μš©ν•΄μ„œ λ―Όκ°ν•œ 정보λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.
- ν•΄λ‹Ή νŒŒμΌλ“€μ€ νŒ€ λ‚΄λΆ€μ—μ„œλ§Œ κ³΅μœ λ©λ‹ˆλ‹€.
- ν•΄λ‹Ή νŒŒμΌλ“€μ€ `App/Resources/Secrets` κ²½λ‘œμ— μœ„μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

## Tuist κ°œλ°œν™˜κ²½

> 개발자 별 λ‘œμ»¬μ—μ„œ μ–΄λ–€ 방법을 μ‚¬μš©ν•΄μ„œ `tuist`의 버전을 κ΄Έλ¦¬ν•˜λŠλƒμ— λ”°λΌμ„œ ν˜Έν™˜μ„± 톡일을 μœ„ν•΄μ„œ 확인해야 ν•©λ‹ˆλ‹€.

⭐️ EATSSU iOSμ—μ„œλŠ” `tuist latest`을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ `tuist`μ—μ„œ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ 비ꡐ적 μ΅œμ‹  λ²„μ „μ˜ μ•ˆμ •λœ 버전을 μ°Ύμ•„μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€.

### Mise μ‚¬μš© μ‹œ

- [mise](https://github.com/jdx/mise)μ—μ„œ μ„€μΉ˜ν•©λ‹ˆλ‹€.
- 이 λ•Œ `Homebrew`λ‘œλ„ `mise`λ₯Ό μ„€μΉ˜ν•  수 μžˆλŠ”λ°, μ •μƒλ™μž‘ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— κΌ­ μœ„μ˜ 링크둜 μ§„ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.
- μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μ§„ν–‰ν•΄μ„œ μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€.
- miseλ₯Ό μ‚¬μš©ν•˜λ©΄ ν”„λ‘œμ νŠΈ λ³„λ‘œ tuist 버전을 λ‹€λ₯΄κ²Œ μ‚¬μš©ν•  수 μžˆμ–΄μ„œ, 이 방법을 μ±„νƒν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.

### Homebrew μ‚¬μš© μ‹œ

- [Tuist Quick Install Guide](https://docs.tuist.dev/en/guides/quick-start/install-tuist)λ₯Ό μ°Έκ³ ν•΄μ„œ μ„€μΉ˜ν•˜λ©΄ λ©λ‹ˆλ‹€.
- μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό 순차적으둜 μž…λ ₯ν•΄ μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€.

```zsh
brew tap tuist/tuist
brew install --formula tuist@latest
```

## ν”„λ‘œμ νŠΈ 싀행방법

- Xcodeμ—μ„œ ν•΄λ‹Ή ν”„λ‘œμ νŠΈλ₯Ό μ—΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
- `tuist generate` λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

### μ˜μ‘΄μ„± μ„€μΉ˜

```zsh
tuist install
```

### ν”„λ‘œμ νŠΈ μ‹€ν–‰

```zsh
tuist generate
```

## Issue Title

``` zsh
[Commit Type] 이슈 제λͺ©
```

## Commit Type

> issueνƒ­μ˜ labelκ³Ό 동일

`Setting` ν”„λ‘œμ νŠΈ μ„ΈνŒ…, 라이브러리 μ„€μΉ˜

`Feat` μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„ (new feature)

`Add` 파일 μΆ”κ°€

`Fix` 버그 μˆ˜μ • (bug fix)

`Docs` λ¬Έμ„œ μž‘μ„±, μˆ˜μ • (documentation)

`Refactor` μ½”λ“œ λ¦¬νŒ©ν† λ§ (refactoring)

`Test` ν…ŒμŠ€νŠΈ μ½”λ“œ, λ¦¬νŒ©ν† λ§ ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€

`Chore` λΉŒλ“œ 업무 μˆ˜μ •, νŒ¨ν‚€μ§€ λ§€λ‹ˆμ € μˆ˜μ •, 파일 이동 및 이름 λ³€κ²½ λ“± (production code 변경이 μ—†λŠ” 경우)

## Commit Message Conventions

``` zsh
[#이슈번호] μ»€λ°‹λ©”μ‹œμ§€
### Description
- [#1] Project Setting
- [#2] Add AlermBar
```

## Branch Title Conventions

```zsh
Commit Type / issue number
```

## Code Convention**

### 1. 넀이밍

- ν•¨μˆ˜, λ©”μ„œλ“œ :Β **lowerCamelCase**Β μ‚¬μš©ν•˜κ³ , λ™μ‚¬λ‘œ μ‹œμž‘ν•œλ‹€.
- λ³€μˆ˜, μƒμˆ˜ :Β **lowerCamelCase**Β μ‚¬μš©ν•œλ‹€.
- μ•½μ–΄
- μ•½μ–΄λ‘œ μ‹œμž‘ν•˜λŠ” 경우: μ†Œλ¬Έμžλ‘œ ν‘œκΈ°
- κ·Έ μ™Έμ˜ κ²½μš°μ—λŠ” μ•½μ–΄λ₯Ό 항상 λŒ€λ¬Έμžλ‘œ ν‘œκΈ°ν•©λ‹ˆλ‹€
- 클래슀, ꡬ쑰체, enum, extension λ“± :Β **UpperCamelCase**Β μ‚¬μš©ν•œλ‹€.
- enum의 각 caseμ—λŠ” **lowerCamelCase**λ₯Ό μ‚¬μš©

### 2. 띄어쓰기, λ“€μ—¬μ“°κΈ°, 곡백

- MARK 주석 μœ„μ™€ μ•„λž˜μ—λŠ” 곡백 ν•„μˆ˜
- 콜둠(`:`)을 μ“Έ λ•Œμ—λŠ” 콜둠의 였λ₯Έμͺ½μ—λ§Œ 곡백 두기 (단, μ‚Όν•­ μ—°μ‚°μžμ˜ 경우 콜둠 μ•žλ’€λ‘œ λ„μš°κΈ°)
- `if let`,Β `guard let` ꡬ문이 κΈ΄ κ²½μš°μ—λŠ” μ€„λ°”κΏˆν•˜κ³  ν•œ μΉΈ λ“€μ—¬μ“°κΈ°
- 콀마(`,`) 뒀에 곡백 μΆ”κ°€
- μ—°μ‚°μž μ•žλ’€λ‘œ 곡백을 μΆ”κ°€ν•©λ‹ˆλ‹€.
- ν™”μ‚΄ν‘œ(`->`) μ–‘μͺ½μ— 가독성을 μœ„ν•΄ 빈 곡백을 μΆ”κ°€ν•©λ‹ˆλ‹€.
- `@objc`, `λΈ”λŸ­ λ‹¨μœ„` μ‚¬μ΄μ—λŠ” μ€„λ°”κΏˆμ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

### 3. 주석

- `///` λ₯Ό μ‚¬μš©ν•΄μ„œ λ¬Έμ„œν™”μ— μ‚¬μš©λ˜λŠ” 주석 남기기
- `// MARK:` λ₯Ό μ‚¬μš©ν•΄μ„œ μ—°κ΄€λœ μ½”λ“œλ₯Ό ꡬ뢄짓기
- κ°€λŠ₯ν•œ μ½”λ“œ μ•ˆμ—μ„œ λ¬Έμ„œν™”λ₯Ό μ§„ν–‰ν•΄μ„œ 생산성을 올릴 수 μžˆλ„λ‘ μ •λ¦¬ν•˜κΈ°

## Folder Structure
```
iOS
┣ EATSSU_MVC
┃ ┣ EATSSU_MVC
┃ ┃ β”— Sources
┃ ┃ ┣ Data
┃ ┃ ┃ ┣ Firebase
┃ ┃ ┃ ┣ LocalDB
┃ ┃ ┃ β”— Network
┃ ┃ ┣ Notification
┃ ┃ ┣ Presentation
┃ ┃ ┃ ┣ Auth
┃ ┃ ┃ ┃ ┣ Enum
┃ ┃ ┃ ┃ ┣ View
┃ ┃ ┃ ┃ β”— ViewController
┃ ┃ ┃ ┣ Home
┃ ┃ ┃ ┃ ┣ Enum
┃ ┃ ┃ ┃ ┣ Model
┃ ┃ ┃ ┃ ┣ Protocol
┃ ┃ ┃ ┃ ┣ View
┃ ┃ ┃ ┃ β”— ViewController
┃ ┃ ┃ ┣ MyPage
┃ ┃ ┃ ┃ ┣ Enum
┃ ┃ ┃ ┃ ┣ Model
┃ ┃ ┃ ┃ ┣ View
┃ ┃ ┃ ┃ β”— ViewController
┃ ┃ ┃ β”— Review
┃ ┃ ┃ ┣ View
┃ ┃ ┃ β”— ViewController
┃ ┃ β”— Utility
┃ β”— UnitTests
┣ EATSSU_MVVM
┃ β”— EATSSU_MVVM
┃ β”— Sources
┣ EATSSUComponents
┃ β”— EATSSUComponents
┃ β”— Sources
┃ β”— Extension
┣ fastlane
┣ Tuist
β”— 기타 νŒŒμΌλ“€
```