Skip to content

이스트소프트 iOS 프론티어 1기 Final Project 대상 빵식이와 함께 당신의 책빵을 꾸려보세요!

Notifications You must be signed in to change notification settings

ESTSOFT-iOS-01/B.READ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

B.READ

내 생각을 메모로 남기고, 책에서 발견한 나만의 문장을 수집하는 독서 기록 서비스

독서에 관심 있는 사람들이 책을 읽는 과정 속에서 책의 내용과 자신의 생각을 간편하게 기록하고,
다양한 추천과 동기부여를 통해 꾸준히 독서를 이어나갈 수 있도록 돕는 기록 및 공유 서비스입니다.

📑 B.READ FigJam 📑

📑 B.READ 발표자료 📑

🍎 Developers

신승재 김도연 도민준 심근웅
팀장 👑 팀원 👨🏻‍💻 팀원 👨🏻‍💻 팀원 👨🏻‍💻
온보딩

메모
마이페이지
검색
추천
앨런 요약
문장 수집
위젯
책빵
기록

🎥 주요 기능 시연 영상

온보딩 검색 책빵 기록 마이페이지

🛠️ Development Environment 🛠️

iOS Xcode

🥞 Stacks 🥞

Tech Stack

Library & API

Tools

✏️ Project Design ✏️

프로젝트 아키텍쳐

💻 Convention 💻

🌲 Branch Convention 🌲

  1. 기본 브랜치 설정
  • develop: 기본 브랜치로, 기능을 개발하는 브랜치
  1. 작업 순서
    1. 작업할 이슈 작성
    2. 적합한 Project, Milestone 할당(Assignees, Label 자동 할당)
    3. 자동 생성 브랜치에서 작업 수행
    4. 원격 저장소에 작업 브랜치 푸시
    5. Pull Request 생성
    • develop 브랜치 대상으로 Pull Request 생성
    • 리뷰어의 리뷰를 받은 후 PR을 승인 받고 develop 브랜치에 자동 병합
    • Swift Build Check 성공 시에만 병합 가능

🧑‍💻 Code Convention 🧑‍💻

📑 자체 Coding Convention 📑

네이밍 규칙

  • 변수/상수: 카멜케이스 (예: userName)
  • 클래스/구조체: 파스칼케이스 (예: UserProfile)
  • 함수/메서드: 동사로 시작하며 카멜케이스 (예: fetchData())

코드 스타일

  • 명시적 타입 선언: 가능하면 타입 명시 (예: var name : String = “name”)
  • 옵셔널 처리: guardif let을 사용하여 안전하게 언래핑
  • 함수 파라미터: 간결하고 직관적인 이름 사용

💬 Issue Convention 💬

모든 이슈에 대한 템플릿

## 💡 Issue
<!-- 이슈에 대해 간단하게 설명해 주세요 -->

## 🔥 Tasks
<!-- 해야 할 작업들을 나열해 주세요 -->

🫷 PR Convention 🫸

<!-- PR 제목 컨벤션: [이슈 라벨] 작업한 내용 요약 -->

## 💡 PR 유형
<!-- 해당하는 유형에 "x"를 입력하세요. -->
- [ ] Feature: 기능 추가
- [ ] Hotfix: 작은 버그 수정
- [ ] Bugfix: 큰 버그 수정
- [ ] Refactor: 코드 개선
- [ ] Chore: 환경 설정

## ✏️ 변경 사항
<!-- 이 PR에서 작업한 내용을 간단히 요약해주세요. -->

## 🚨 관련 이슈
<!-- 관련된 이슈 번호를 적어주세요. 여러 개인 경우 쉼표로 구분하세요. -->
- close #

## 🧪 테스트
<!-- 이 PR에서 테스트한 내용을 설명해주세요. -->
- [ ] 목표한 구현 정상 동작 확인

## 🎨 스크린샷
<!-- UI 변경사항이 있는 경우 스크린샷을 첨부해주세요. -->
<!-- img src "이부분에 gif파일 넣어주세요" -->
|기능|스크린샷|
|:--:|:--:|
|GIF|<img src = "" width ="250">|

## ✅ 체크리스트
<!-- 꼭 모두 체크하고 PR을 생성해주세요. -->
- [ ] 코드/커밋이 정해진 컨벤션을 잘 따르고 있나요?
- [ ] PR의 Assignees와 Reviewers를 설정했나요?
- [ ] 불필요한 코드가 없고, 정상적으로 동작하는지 확인했나요?
- [ ] 관련 이슈 번호를 작성했나요?

## 🔥 추가 설명
<!-- 리뷰어가 알아야 할 추가적인 정보가 있다면 여기에 적어주세요. -->
<!-- 코드 리뷰를 받고 싶은 코드나, 설명하고 싶은 코드가 있다면 적어주세요. -->

🙏 Commit Convention 🙏

  • feature : 새로운 기능이 추가되는 경우
  • docs : 문서에 변경 사항이 있는 경우
  • refactor : 코드 리팩토링하는 경우 (기능 변경 없이 구조 개선)
// Format
[#Issue Number]: [Description]

// Example
[feature]: 로그인 기능 구현

📁 Foldering Convention 📁

B.READ
├── App
│   ├── Coordinator
│   ├── DIContainer
│   └── PreviewableContainer
├── Data
│   ├── DTOs
│   │   ├── Record
│   │   └── UserInfo
│   ├── Impls
│   └── Storage
├── DesignSystem
│   ├── Font
│   └── Icon
├── Domain
│   ├── Dummy
│   ├── Entity
│   ├── Repository
│   │   ├── Error
│   │   ├── Inerface
│   │   └── Stubs
│   ├── Service
│   │   ├── Interface
│   │   └── Stub
│   ├── UseCase
│   └── UseCaseImpl
├── Network
│   ├── Aladin
│   ├── Alan
│   └── NetworkClient
├── Presentation
│   ├── Common
│   │   ├── Components
│   │   └── ValueObject
│   ├── Home
│   ├── Library
│   │   ├── LibraryView
│   │   ├── RecordView
│   │   └── ViewModel
│   ├── Login
│   ├── Memo
│   ├── MyPage
│   ├── OnBoarding
│   ├── Record
│   │   ├── View
│   │   └── ViewModel
│   ├── Search
│   │   ├── VM
│   │   └── View
│   │       ├── Components
│   │       └── Main
│   ├── Sentence
│   └── Setting
└── Util
    ├── Constants
    └── Extensions

🔥 Trouble Shooting 🔥

  • 여기에 링크 달기

About

이스트소프트 iOS 프론티어 1기 Final Project 대상 빵식이와 함께 당신의 책빵을 꾸려보세요!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages