Skip to content

Repository files navigation

Mosco

CI

한 줄로 적으면 날짜·시각·카테고리가 알아서 붙는 캘린더 할 일 앱. 7시 러닝이라고 치면 오늘 19:00에 '운동' 카테고리로 들어간다.

iOS 17.0+ · SwiftUI + SwiftData · 1인 개발 · App Store

기능

입력 — 자연어 한 줄 입력, 시각 자동 추출(4시~7시는 종료 시각까지), 온디바이스 임베딩으로 카테고리 자동 분류, 날짜·시각 모두 선택 사항

보기 — 하루치를 목록 또는 세로 시간축으로. 마지막에 고른 모양이 두 화면에서 유지된다

캘린더 — 월 페이징, 여러 날에 걸친 할 일 블록, 반복 일정(요일·간격·매년), 공휴일·주말 표시, 날짜별 하루치 화면, 캘린더 나누기(개인/업무 등)

할 일 — 지난 미완료 모아 보기와 오늘로 가져오기, 순서 직접 정하기(모든 화면 공유), 메모, 디데이, 복사·붙여넣기, 카테고리별 색과 알림

꾸미기 — 테마 색을 직접 고른다. 위젯의 '오늘' 표시도 같이 바뀐다

바깥으로 — 홈 화면 위젯 3종, 잠금화면 위젯, 라이브 액티비티와 다이나믹 아일랜드, iCloud 동기화, 날씨 표시(WeatherKit), 카테고리별 알림

빌드

xcodebuild -project Mosco/Mosco.xcodeproj -scheme App -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro' build

Firebase Analytics를 쓰지만 GoogleService-Info.plist는 저장소에 들어 있어서 따로 받을 것이 없다. 그 파일이 없어도 앱은 돌고 분석만 조용히 꺼진다 (FirebaseAnalyticsSink.configure()가 nil을 낸다). 시뮬레이터는 이름으로 지정한다 — UDID는 지워졌다 다시 생기면서 바뀐다.

검증 사다리는 빌드 → 테스트 → 사람 → 심사다. MoscoTests(Swift Testing)와 CI가 앞의 두 칸을 맡는다 — PR마다 App·MoscoWidget 빌드와 테스트, 그리고 Mac Catalyst 빌드가 자동으로 돈다 (.github/workflows/ci.yml).

xcodebuild -project Mosco/Mosco.xcodeproj -scheme App -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro' test

구조

Mosco/App/Features/     Calendar · TodayTodo · Settings
Mosco/App/Common/       DesignSystem · Tutorial · ML · Weather · Sync · Notifications
Mosco/MoscoWidget/      위젯 · 라이브 액티비티
Mosco/Shared/           앱과 위젯이 같이 쓰는 것
Mosco/MoscoTests/       유닛 테스트 (Swift Testing)

카테고리 자동 분류는 온디바이스 임베딩(NLEmbedding + 코사인 유사도)으로 돈다. 처음엔 Create ML로 학습시킨 분류기였는데 2026-07-30에 갈아탔다 — 어떻게 돌고 왜 갈아탔는지는 docs/CATEGORIZATION.md에 있다.

문서

문서 무엇이 있나
CLAUDE.md 프로젝트 구조, 빌드·테스트 방법
CONTRIBUTING.md 커밋·브랜치·PR 규칙
RELEASING.md 버전 규칙, 태그, 릴리스 노트 쓰는 법
docs/TRAPS.md 한 번씩 크게 시간을 쓴 플랫폼 함정
docs/BACKLOG.md 밀린 일. 버린 것과 버린 이유도 같이
DesignSystem/README.md 디자인·문구 규범 = 되돌린 시도의 기록
PRIVACY.md 개인정보 처리방침

About

AI 워크플로우를 개발 및 적용하며 진행한 간편 캘린더 서비스

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages