Skip to content

EatPic/EatPic-iOS

Repository files navigation

🚀 프로젝트 이름

간단한 한 줄 소개

EatPic은 사용자가 식사 사진을 기록하고, 유튜브 링크나 간단한 레시피를 함께 공유하는 식사 기록 커뮤니티 앱입니다.


👥 멤버

리버(이재원) 증윤(송승윤) 데이지(원주연) 비엔(이은정)
사진1 사진2 사진3 사진4
PL FE FE FE
GitHub GitHub GitHub GitHub

📱 소개

EatPic은 사용자가 매일의 식사를 사진으로 기록하고 공유할 수 있는 앱입니다.
단순한 식사 인증을 넘어서, 커뮤니티를 통한 공유, 감정 반응(이모지), 그리고 챌린지형 습관 형성 기능을 통해, 사용자들이 즐겁게 식단을 관리할 수 있도록 도와줍니다.

EatPic은 식사를 기록하는 모든 순간에 소소한 동기를 부여하고, 함께하는 즐거움 속에서 건강한 루틴을 만들 수 있도록 지원합니다.


📆 프로젝트 기간

  • 전체 기간: 2025.06.23 - 2025.08.22
  • 개발 기간: 2025.07.12 - 2025.08.22

🔎 기술 스택

Envrionment

Development

Communication


📱 화면 구성

사진 넣어주세요 사진 넣어주세요

🗂️ 폴더 컨벤션

해당 폴더 구조는 초기 기준을 제시하며, 이후 파일이 추가되더라도 README에 모두 반영하지 않습니다.

단, 새로운 폴더가 생길 경우에는 구조에 포함하여 관리합니다.

EatPic-iOS/
├── .github/
├── Resources/
│   ├── Assets.xcassets/
│   ├── Colors.xcassets/
│   ├── Secrets.xcconfig
│   └── Fonts/
│       └── # 확정되면 작성                          
│
├── Sources/
│   ├── App/
│   │   ├── AppDelegate.swift         # (필요시 추가) 앱 생명주기
│   │   └── EatPicIOSApp.swift        # @main 앱 진입점
│   │
│   ├── Core/
│   │   ├── Network/
│   │   │   ├── NetworkService.swift         # MoyaProvider 관리
│   │   │   ├── TargetType/                  # Moya Target 정의
│   │   │   │   └── AuthAPI.swift
│   │   │   └── DTO
│   │   │       ├── Request/                     # API 요청 모델(Codable)
│   │   │       │   └── LoginRequset.swift
│   │   │       └── Response/                    # API 응답 모델(Codable)
│   │   │           └── LoginResponse.swift
│   │   │
│   │   └── Environment/                   # 앱 환경과 과련된 전체 설정(의존성, 빌드 환경, 플래그 등)
│   │       └── DIConttainer.swift         # 전역 의존성 주입을 위한 환경 구성
│   │
│   ├── Components/
│   │   └── Common/
│   │       ├── PrimaryButton.swift
│   │       └── RoundedTextField.swift
│   │
│   ├── Screens/    # 화면에 맞추어 추가하면 됨 
│   │   ├── Login/
│   │   │   ├── LoginView.swift
│   │   │   └── LoginViewModel.swift
│   │   │   
│   │   └── Home/
│   │       ├── HomeView.swift
│   │       └── HomeViewModel.swift
│   │
│   ├── Models/   # 모델 저장 위치
│   │   ├── LoginModel.swift
│   │   └──  HomeModel.swift
│   │
│   └── Utilities/
│       ├── Extensions/
│       │   ├── Color+Extensions.swift
│       │   ├── Font+Extensions.swift
│       │   └── View+Extensions.swift
│       ├── Config/
│       │   └── Config.swift
│       ├── Constants/
│       │   └── UIConstants.swift
│       └── Preview/
│           └── DevicePreviewHelper.swift
│
├── Tests/ 
│   ├── EatPicIOSTests.swift
│   └── CoreTests/          # 추후 테스트코드 작성시 추가
│
├── mise.toml               # mise 환경설정 파일
├── Project.swift           # Tuist 프로젝트 정의 파일
├── Tuist/                  # Tuist 관련 패키지 및 설정
│   ├── Package.resolved
│   └── Package.swift
├── Tuist.swift             # Tuist 진입점 스크립트
└── .gitignore              # Git 무시 파일

브랜치 전략

  • Github-flow 사용
  • 모든 브랜치는 main 브랜치에서 분기

🔖 브랜치 컨벤션

  • main - 메인 브랜치
  • feat/xx - 기능 단위로 독립적인 개발 환경을 위해 작성
  • refactor/xx - 개발된 기능을 리팩토링 하기 위해 작성
  • chore/xx - 빌드 작업, 패키지 매니저 설정 등
  • design/xx - 디자인 변경
  • fix/xx - 버그 수정
  • test/xx - 테스트 코드 작업 및 수행

📑 커밋 컨벤션

💬 깃모지 가이드

아이콘 코드 설명 원문
🐛 bug 버그 수정 Fix a bug
sparkles 새 기능 Introduce new features
💄 lipstick UI/스타일 파일 추가/수정 Add or update the UI and style files
♻️ recycle 코드 리팩토링 Refactor code
heavy_plus_sign 의존성 추가 Add a dependency
🔀 twisted_rightwards_arrows 브랜치 합병 Merge branches
💡 bulb 주석 추가/수정 Add or update comments in source code
🔥 fire 코드/파일 삭제 Remove code or files
🚑 ambulance 긴급 수정 Critical hotfix
🎉 tada 프로젝트 시작 Begin a project
🔒 lock 보안 이슈 수정 Fix security issues
🔖 bookmark 릴리즈/버전 태그 Release / Version tags
📝 memo 문서 추가/수정 Add or update documentation
🔧 wrench 구성 파일 추가/삭제 Add or update configuration files.
⚡️ zap 성능 개선 Improve performance
🎨 art 코드 구조 개선 Improve structure / format of the code
📦 package 컴파일된 파일 추가/수정 Add or update compiled files
👽 alien 외부 API 변경 반영 Update code due to external API changes
🚚 truck 리소스 이동, 이름 변경 Move or rename resources
🙈 see_no_evil .gitignore 추가/수정 Add or update a .gitignore file

🏷️ 커밋 태그 가이드

태그 설명
feat 새로운 기능 추가
fix 버그 수정
refactor 코드 리팩토링 (기능 변경 없이 구조 개선)
style 코드 포맷팅, 세미콜론 누락, 들여쓰기 수정 등
docs README, 문서 수정
test 테스트 코드 추가 및 수정
chore 패키지 매니저 설정, 빌드 설정 등 기타 작업
design UI, CSS, 레이아웃 등 디자인 관련 수정
hotfix 운영 중 긴급 수정이 필요한 버그 대응
ci/cd 배포 관련 설정, 워크플로우 구성 등

✅ 커밋 예시 모음

🎉 chore: 프로젝트 초기 세팅
✨ feat: 프로필 화면 UI 구현
🐛 fix: iOS 17에서 버튼 클릭 오류 수정
💄 design: 로그인 화면 레이아웃 조정
📝 docs: README에 프로젝트 소개 추가


📁 PR 컨벤션

PR 시, 템플릿이 등장합니다. 해당 템플릿에서 작성해야할 부분은 아래와 같습니다.

  1. PR 유형 작성, 어떤 변경 사항이 있었는지 [] 괄호 사이에 x를 입력하여 체크할 수 있도록 한다.
  2. 작업 내용 작성, 작업 내용에 대해 자세하게 작성을 한다.
  3. 추후 진행할 작업, PR 이후 작업할 내용에 대해 작성한다
  4. 리뷰 포인트, 본인 PR에서 꼭 확인해야 할 부분을 작성한다.
  5. PR 태그 종류, PR 제목의 태그는 아래 형식을 따른다.

🌟 태그 종류 (커밋 컨벤션과 동일)

태그 설명
[Feat] 새로운 기능 추가
[Fix] 버그 수정
[Refactor] 코드 리팩토링 (기능 변경 없이 구조 개선)
[Style] 코드 포맷팅, 들여쓰기 수정 등
[Docs] 문서 관련 수정
[Test] 테스트 코드 추가 또는 수정
[Chore] 빌드/설정 관련 작업
[Design] UI 디자인 수정
[Hotfix] 운영 중 긴급 수정
[CI/CD] 배포 및 워크플로우 관련 작업

✅ PR 예시 모음

🎉 [Chore] 프로젝트 초기 세팅
✨ [Feat] 프로필 화면 UI 구현
🐛 [Fix] iOS 17에서 버튼 클릭 오류 수정
💄 [Design] 로그인 화면 레이아웃 조정
📝 [Docs] README에 프로젝트 소개 추가

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages