아트트립과 함께 국내·해외 전시·공연을 한 번에 모아보고, 일상과 여행 속 문화 경험을 더 가볍게 시작해 보세요.
여행 중 “지금 이 도시에서 볼 만한 전시”부터, 관심사에 맞는 전시까지 한 흐름으로 이어집니다.
- 일정에 맞는 전시 찾기: 원하는 날짜/기간을 선택하면, 그때 볼 수 있는 전시만 모아 보여줘요.
- 취향에 맞는 추천: 관심 장르/스타일을 바탕으로 당신에게 어울리는 전시를 추천해요.
- 전시 상세 정보 한눈에: 장소·기간·가격·소개는 물론, 진행 중/오픈 예정/마감 임박 상태까지 바로 확인할 수 있어요.
- 공식 사이트로 바로 이동: 더 자세한 정보나 예매가 필요하면, 공식 예매처/전시 사이트로 즉시 이동할 수 있어요.
- 보관함 & 최근 본 전시: 저장해 둔 전시와 최근에 본 전시를 다시 쉽게 확인할 수 있어요.
Intent→ViewModel→State- 네비게이션/토스트 등 1회성 이벤트는
Effect로 분리합니다.
- Presentation: Screen / ViewModel / Contract(State·Intent·Effect)
- Domain: Model / UseCase / Repository Interface
- Data: Repository Implementation / Remote·Local DataSource
- feature 단위 라우팅을 기준으로 화면을 구성합니다.
- route contract를 명시해 파라미터/진입 조건을 관리합니다.
core/
di/
navigation/
ui/ # component / theme / util
data/
local/
remote/
repository/
domain/
model/
repository/
usecase/
presentation/
home/
map/
stamp/
bookmark/
mypage/
exhibition_detail/
UI 일관성과 개발 속도를 위해 Jetpack Compose 기반 디자인 시스템을 구축했습니다.
- 공통 컴포넌트: Button/Chip/Tab/BottomSheet/TopBar 등
- 테마 토큰: color / typography / shape 기준 정리
- Android Studio (최신 안정 버전 권장)
- JDK 17+
- Android SDK
git clone <repo-url>Android Studio에서 프로젝트를 열고 실행(Run)하세요.
- 작업은 기능 단위 브랜치에서 진행하고, PR 리뷰 후
develop에 병합합니다. - 개발 중에는 변경 단위를 PR 기준으로 관리하기 위해 Squash Merge를 사용합니다.
- 배포 시점에는
develop → main을 Merge Commit으로 반영해 릴리즈 단위 이력을 추적합니다. - 브랜치 네이밍 예:
feat|fix|chore/<scope>/<task>
이 프로젝트는 Semantic Versioning(SemVer) 을 따릅니다.
-
형식:
MAJOR.MINOR.PATCH -
예시:
1.2.0기능 추가(하위 호환 유지)1.2.1버그 수정2.0.0호환성 깨지는 변경