-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #287 from APP-iOS5th/develop-Readme
Update README.md
- Loading branch information
Showing
1 changed file
with
137 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,137 @@ | ||
# Kabinett | ||
# <img src="https://github.com/user-attachments/assets/ab59a537-cf78-433b-ab77-8b0fcaada511" width="40" alt="App Store"> Kabinett ![Xcode](https://img.shields.io/badge/Xcode-007ACC?style=for-the-badge&logo=Xcode&logoColor=white)<img src="https://img.shields.io/badge/15.4.0-515151?style=for-the-badge"> ![Protopie](https://img.shields.io/badge/Protopie-%23FF6661.svg?style=for-the-badge) ![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white) | ||
|
||
![introduce0](https://github.com/user-attachments/assets/ddbbe617-fcca-4dfb-a4d5-ee78945aed33) | ||
|
||
### 🍏 [*Kabinett App Store 링크*](https://apps.apple.com/kr/app/kabinett/id6670604670) | ||
|
||
## :package: 프로젝트 소개 | ||
### 여러 플랫폼에 흩어져 있는 편지들을 한 곳에 모아 보관하고, 편지 형태로 커스터마이즈한 메시지를 여유롭게 주고받을 수 있는 편지 메신저 앱 | ||
|
||
Kabinett은 빠른 응답과 잦은 알림에 지친 사람들을 위한 여유로운 페이스의 메신저 앱입니다. 푸시 알림, 읽음 표시, 타이핑 인디케이터 없이 위젯을 통해 조용한 알림을 보내고 대화창 없이 ***편지 형식으로 메세지를*** 주고 받을 수 있습니다. | ||
|
||
사용자는 ***원하는 편지지, 봉투, 우표, 폰트를 선택***해 편지를 작성할 수 있고 사진을 동봉할 수 있으며, 여러 플랫폼에 흩어져 있는 소중한 편지들을 모아 보관할 수 있습니다. 보관된 편지는 키워드와 날짜로 쉽게 검색할 수 있습니다. Apple 로그인을 통해 Kabinett 번호를 생성하여 익명으로도 편지를 주고받을 수 있으며, 비로그인 상태에서도 자신에게 편지를 쓰는 기능이 지원됩니다. | ||
|
||
Kabinett은 편지의 물리적 감성을 담아낸 직관적인 인터페이스로 디지털 환경에서도 진심 어린 편지를 주고받는 설렘을 선사합니다. 서두르지 않고 긴 메시지를 보내고 싶을 때나 오랫동안 연락하지 못한 친구에게 안부를 전할 때, 편안한 소통을 즐길 수 있는 공간을 제공합니다. | ||
|
||
|
||
## :world_map: 주요 기능 | ||
### 편지 아카이빙하기 | ||
|
||
- **홈 화면**: 전체 편지 리스트와 미열람 편지 수를 표시하며, 앱 최초 실행 시 웰컴 편지 토스트 메시지를 표시합니다. | ||
- **편지 리스트**: 편지 리스트를 표시하고, 키워드 및 날짜로 편지를 검색할 수 있습니다. | ||
- **편지 보관 기능**: Kabinett에서 주고받은 편지들과 외부 플랫폼 메시지 캡처본을 보관할 수 있습니다. | ||
|
||
### 편지 불러오기 & 편지 쓰기 | ||
|
||
- **편지 작성 방식**: "편지 불러오기"와 "편지 쓰기" 중 선택할 수 있습니다. | ||
- **편지 불러오기**: 카메라 또는 앨범에서 이미지를 선택하고, 발송 대상 및 날짜를 설정한 후, 봉투와 우표를 선택해 저장할 수 있습니다. | ||
- **편지 쓰기**: 사용자가 원하는 편지지, 봉투, 폰트, 우표를 선택할 수 있으며, 메시지 본문 작성과 사진 동봉 기능을 제공합니다. 프리뷰 화면에서 최종 편지를 발송할 수 있습니다. | ||
|
||
### 편지 커스터마이즈하기 | ||
|
||
- 사용자는 원하는 편지지, 봉투, 우표, 폰트를 선택하여 편지를 커스터마이즈할 수 있습니다. | ||
|
||
### 나에게 편지 쓰기 | ||
|
||
- **나에게 쓰기 기능**: 비로그인 사용자도 자신에게 편지를 작성할 수 있습니다. | ||
|
||
### Kabinett 연락처 | ||
|
||
- **Kabinett 번호**: 6자리의 고유한 숫자로, 사용자는 Kabinett 번호 또는 사용자 닉네임을 통해 수신자를 간단하게 찾을 수 있습니다. | ||
|
||
### 날짜나 키워드 필터로 편지 검색하기 | ||
|
||
- **편지 검색 기능**: 날짜와 키워드로 필터링하여 특정 편지를 빠르게 찾을 수 있습니다. | ||
|
||
### 프로필 관리 | ||
|
||
- **로그인 기능**: Apple 로그인과 Kabinett 번호를 생성할 수 있으며, 비로그인 상태로도 일부 기능을 사용할 수 있습니다. | ||
- **프로필 설정**: 프로필 정보를 수정하고 이미지를 크롭할 수 있으며, 로그아웃 및 회원 탈퇴 기능을 제공합니다. | ||
|
||
## 📮 개발 기간 | ||
> 2024.08.05-09.13: MVP 버전 배포 | ||
> 2024.11.04: 1.0.1 업데이트 | ||
## 🎞️ 실행 화면 | ||
| 편지 열람하기 | 편지 보내기 | 편지 검색하기(사용자) | 편지 검색하기(기간) | 로그인과 프로필 | | ||
|---|---|---|---|---| | ||
| ![LetterView-ezgif com-speed](https://github.com/user-attachments/assets/eaf97958-6998-46f1-81ee-ebefcd2d3801) | ![WriteLetter-ezgif com-speed](https://github.com/user-attachments/assets/7fafb1a5-5d5c-42cc-8423-9ac1bc30693d) | ![SearchName-ezgif com-speed](https://github.com/user-attachments/assets/dc363677-b254-413a-8218-4a7993b216d7) | ![ezgif com-speed](https://github.com/user-attachments/assets/4ee7557a-130e-448c-8397-8f2ecfabe914) | ![LoginProfile-ezgif com-speed](https://github.com/user-attachments/assets/c446f038-79f9-4b0c-94f2-f22dd2c88aab) | | ||
|
||
## :people_holding_hands: 팀 Kabinett | ||
| [권도율](https://github.com/YuleGlycerine) | [김송](https://github.com/ksiomng) | [김정우](https://github.com/JeongWo) | [김진웅](https://github.com/jinwoong16) | [석지혜](https://github.com/the-hye) | [채윤원](https://github.com/uunwon) | | ||
|---|---|---|---|---|---| | ||
| <img src="https://github.com/APP-iOS5th/Saver/assets/164737302/3bdf1c10-1c06-4696-8f9a-a61a4a73fe6b" width=180 /> | <img src="https://avatars.githubusercontent.com/u/19872750?v=4" width=180 /> | <img src="https://avatars.githubusercontent.com/u/112370814?v=4" width=180 /> | <img src="https://avatars.githubusercontent.com/u/26710036?v=4" width=180 /> | <img src="https://avatars.githubusercontent.com/u/66719957?v=4" width=180 /> | <img src="https://avatars.githubusercontent.com/u/48541984?v=4" width=180 /> | | ||
|
||
## :microscope: 담당 | ||
권도율 [@YuleGlycerine](https://github.com/YuleGlycerine) | ||
* 담당 | ||
- 프로덕트 디자인, 유저 리서치, 인터랙션 디자인 | ||
- 프로필 탭 구현 | ||
* 구현 기능 | ||
- 프로필 탭: 프로필 화면, 프로필 설정, 프로필 이미지 크롭, 사용자 닉네임 변경 기능, 로그아웃과 회원탈퇴 | ||
- 로그인 플로우: 애플 로그인 기능 구현, 닉네임과 카비넷 넘버(고유번호)으로 회원 등록 / 로그인 / 비로그인 유저 구분 로직 | ||
|
||
김송 [@ksiomng ](https://github.com/ksiomng) | ||
* 담당 | ||
- 편지 쓰기 뷰 구현 | ||
* 구현 기능 | ||
- 편지 작성: 편지지, 폰트, 편지 봉투, 우표의 원하는 옵션을 선택 / 선택한 옵션들로 편지를 작성 | ||
|
||
김정우 [@JeongWo](https://github.com/JeongWo) | ||
* 담당 | ||
- 메인 탭, 편지 불러오기 구현 | ||
* 구현 기능 | ||
- 편지 불러오기: 편지봉투에 사진을 첨부하여 편지 작성 | ||
|
||
김진웅 [@jinwoong16](https://github.com/jinwoong16) | ||
* 담당 | ||
- 아키텍처 설계 | ||
* 구현 기능 | ||
- 파이어베이스 인증 서비스 개발 | ||
|
||
석지혜 [@the-hye](https://github.com/the-hye) | ||
* 담당 | ||
- 편지 작성, 편지함(메인페이지) 데이터 레이어 구현 | ||
* 구현 기능 | ||
- 편지작성, 편지함 탭 데이터 저장, 삭제, 로딩 구현 | ||
- Firebase Firestore, Storage 연동 | ||
|
||
채윤원 [@uunwon ](https://github.com/uunwon) | ||
* 담당 | ||
- 서비스 기획, 페르소나 설정, 와이어프레임, QA | ||
- 메인 페이지 뷰 구현 | ||
* 구현 기능 | ||
- 편지함 탭: 메인 화면, 편지 검색(이름, 기간) | ||
|
||
## 🧾 기술 스택 | ||
### 개발 환경 | ||
- **Swift**: 5.10 | ||
- **Xcode**: 15.4 | ||
- **iOS**: 17.4 | ||
- **Firebase** SDK: 11.1.0 | ||
|
||
### 기술 스택 | ||
- **iOS**: SwiftUI, UIKit | ||
- **Backend** | ||
- Firebase Storage | ||
- Firebase FireStore | ||
- Firebase Authentication | ||
- **Software Architecture**: 확장된 MVVM | ||
- **비동기 처리**: Combine | ||
- **Git 전략**: Git Flow 전략 | ||
|
||
### Dependencies | ||
- **iOS** | ||
- Kingfisher: 7.12.0 | ||
- Firebase: 11.1.0 | ||
|
||
### 협업 도구 | ||
- Figma | ||
- Github | ||
- Discord | ||
- Fork | ||
|
||
## 🚏 아키텍쳐 패턴 | ||
### 확장한 MVVM: MVVM을 토대로 Clean Architecture를 차용한 구조 | ||
<img width="1012" alt="스크린샷 2024-11-02 오후 5 36 12" src="https://github.com/user-attachments/assets/56cdc1ad-eb6b-422e-a018-cad1a55247b7"> | ||
|