Skip to content

SungJuyeon/MoodCard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📱 MoodCard – 초대장 생성 iOS 앱

📌 프로젝트 소개

MoodCard는 결혼식, 생일, 기념일 등 다양한 이벤트를 위한 초대장을 쉽고 빠르게 제작하고 공유할 수 있는 iOS 앱입니다.

사용자는 간단한 키워드 입력만으로 자신의 분위기에 맞는 초대장 템플릿을 추천받고, 텍스트, 이미지, 색상, 드로잉 기능을 활용해 개인화된 초대장을 제작할 수 있습니다.

또한 카카오톡 공유 및 참석 여부 확인 기능을 통해 초대장 생성부터 참여 관리까지 하나의 앱에서 해결할 수 있습니다.

🏗️ 시스템 구조

•	Client: iOS App (UIKit, Storyboard)
•	Server: Firebase (Storage + Firestore)
•	External API:
•	Kakao Login / KakaoLink
•	Naver Map API
•	OpenAI API

✨ 주요 기능

🔐 로그인

•	Kakao OAuth 기반 간편 로그인
•	카카오톡 앱 / 웹 로그인 자동 분기 처리

🏠 홈 화면

•	초대장 개수 및 진행 예정 이벤트 확인
•	최근 초대장 리스트 제공

🎨 초대장 생성

•	7가지 카테고리 선택
•	결혼식 / 생일 / 기념일 / 졸업식 / 기업행사 / 파티 / 기타
•	키워드 기반 템플릿 추천

🤖 템플릿 추천 시스템

•	Jaccard 유사도 기반 추천 알고리즘
•	사용자 키워드 vs 템플릿 키워드 비교

✏️ 초대장 편집

•	텍스트 수정
•	날짜 및 시간 설정
•	이미지 추가
•	색상 변경
•	드로잉 기능 (Canvas)

🖼️ 이미지 저장 및 공유

•	Firebase Storage 업로드
•	카카오톡 공유 (딥링크 기반)

📍 지도 연동

•	Naver Map API 사용
•	주소 → 좌표 변환 (Geocoding)
•	지도 및 마커 표시

📅 캘린더 연동

•	EventKit 활용
•	기기 캘린더에 일정 추가

👥 참석 관리

•	Firebase 기반 실시간 참석자 관리
•	카카오 딥링크 → 자동 참석 등록

📊 통계 기능

•	초대장 생성 / 참여 수
•	카테고리별 비율 시각화

핵심 기술

  • ✔️ Kakao OAuth 로그인

    • 앱/웹 로그인 분기 처리
    • 사용자 프로필 연동
  • ✔️ Template Engine 구조 설계

  • ✔️ 추천 알고리즘 (Jaccard Similarity)

  • ✔️ OpenAI API 활용

    • GPT 기반 스타일 및 문구 추천
  • ✔️ Canvas 드로잉 기능

    • CoreGraphics 기반 실시간 드로잉
    • 터치 이벤트 처리
  • ✔️ Firebase 연동

    • Storage: 이미지 저장
    • Firestore: 초대장 및 참석자 데이터 관리
  • ✔️ 딥링크 시스템

    • KakaoLink 기반 초대장 공유
    • URL Scheme: termproject://invitation/{id}
    • 자동 참석 등록 처리

🛠️ 사용 기술

•	Language: Swift
•	UI: UIKit, Storyboard
•	Backend: Firebase (Storage, Firestore)
•	API:
•	Kakao SDK
•	Naver Map API
•	OpenAI API

📷 주요 화면

  1. Kakao 로그인
image
  1. Kako 프로필 연동 및 사용자 정보 표시
image
  1. 초대장 템플릿 엔진
image
  1. 초대장 자동 추천 알고리즘
image image image image
  1. 스타일, 문구 추천 시스템
image
  1. 그림 그리기 캔버스 기능
  2. 초대장 미리보기 이미지 처리
image
  1. 초대장 업로드
image
  1. 장소 표시 및 확인 기능
image
  1. 기기 캘린더 앱 연동
image image
  1. Kakao 공유 기능
image
  1. firebase에 저장된 초대장 목록
image
  1. 참석자 참여 과정 (아이패드 스크린샷)
image image image
•	로그인 화면
•	홈 화면
•	초대장 생성
•	템플릿 추천
•	지도 연동
•	카카오 공유
•	참석자 관리

🚀 프로젝트 회고

이번 프로젝트를 통해 단순한 기능 구현을 넘어 하나의 서비스를 설계하고 구현하는 경험을 할 수 있었습니다.

특히,

  • Firebase 기반 실시간 데이터 처리
  • Kakao 로그인 및 딥링크 처리
  • 외부 API 통합

과정을 통해 실무적인 개발 역량을 크게 향상시킬 수 있었습니다.

다만, ViewController에 로직이 집중되면서 코드 구조의 한계를 느꼈고, 향후에는 **아키텍처 개선(MVVM 등)**을 통해 유지보수성을 높이고자 합니다.

📌 향후 개선 방향

  • MVVM 아키텍처 적용
  • 코드 모듈화 및 리팩토링
  • 사용자 피드백 기반 UX 개선
  • 테스트 코드 작성

About

MoodCard – 초대장 생성 앱 (2025.06.22)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages