35기 AND SOPT 앱잼 : 공백
24.12.21 ~ ing
공강 시간을 특별하게 채울 수 있는 서비스 공백을 소개합니다.
우리는 공강이라는 공백 속에서 더 많은 연결과 경험을 발견하고,
이를 통해 더욱 의미 있고 즐거운 대학 생활을 만들어갈 수 있습니다.
공백이 당신의 공강 시간을 특별하게 채우는 친구가 되어드릴게요!
손민재 (Lead) @SYAAINN |
김대현 @wjdrjs00 |
송민서 @MinseoSONG |
---|---|---|
스플래시 나의채움 모임상세 모임방 |
온보딩 시간표 홈 |
모임조회 모임등록 마이페이지 |
기능 | 설명 | 주요 특징 |
---|---|---|
1️⃣ 온보딩 | 나의 정보를 입력하고 공강 시간을 채울 준비를 할 수 있는 공간 | - 학교와 학과 등 간단한 정보를 입력 - 수업 시간표를 바탕으로 공강 시간표 확인 |
2️⃣ 채우기 | 나의 공강 시간에 열리는 모임을 확인할 수 있는 공간 | - 카테고리 필터링 - - - 원하는 모임 신청 가능 |
3️⃣ 모임 모집 | 나의 공강 시간에 하고 싶은 모임을 직접 등록할 수 있는 공간 | - 주기 선택 (일회성 / 다회성) - 날짜와 시간 - 카테고리 / 커버사진 - 장소 / 인원 / 소개글 입력 후 등록 |
4️⃣ 나의 채움 | 내가 참여하는 모임 현황을 한눈에 확인할 수 있는 공간 | - 내가 모집한 모임: 진행 중 / 종료된 모임 구분 가능 - 내가 신청한 모임: 진행 중 / 종료된 모임 구분 가능 |
5️⃣ 스페이스 | 같은 모임을 신청한 멤버만 참여할 수 있는 공간 | - 참여 멤버 정보 확인 - 대화를 통해 모임 준비 |
6️⃣ 모임 상세 | 모임에 대한 다양한 정보를 확인하고 신청할 수 있는 공간 | - 댓글 작성 및 조회 - 모임 신청 및 취소 - 등록자 프로필 조회 - 모임 시간, 날짜, 장소 등 모임 정보 조회 ⭐️등록자: 멤버 관리 가능 ⭐️참여자: 등록자와 대화 후 모임 신청 가능 |
온보딩
스플래시 |
온보딩 |
회원가입 |
홈
홈 |
채우기
채우기 |
모임 모집하기 |
모임 신청하기 |
나의 채움
나의 채움 |
모임 상세 |
스페이스 |
📕 Code , Package , Git , GitHub Convention
Item | Naming Rule | Example | Reason |
---|---|---|---|
Class | Pascal Case | TestActivity.kt |
클래스, 인스턴스를 명확히 구분하기 위해 (Kotlin Code Convention) |
Interface | Pascal Case | TestInterface.kt |
클래스와 일관된 네이밍 규칙을 유지하기 위해 (Kotlin Code Convention) |
Function | lower Camel Case | getTest() |
일관성과 가독성을 높이기 위해 (Kotlin Code Convention) |
Variable | lower Camel Case | var = userPwd |
Kotlin Code Convention |
Value | lower Camel Case | val = userPwd |
Kotlin Code Convention |
const val | UPPER SNAKE CASE | NICKNAME_PATTERN |
변경 불가능한 값을 쉽게 식별하기 위해 |
XML File | snake case | activity_test.xml |
어떤 일을 하는 View인지 구분하기 위해 |
XML ID | snake case | btn_submit |
- |
Drawable File Name | snake case | <WHERE>_<DESCRIPTION>_<SIZE> |
일관성을 유지하기 위해 |
colors.xml | snake case | <WHERE>_<DESCRIPTION> |
일관된 ID 사용 권장 |
strings.xml | snake case | <WHERE>_<DESCRIPTION> |
일관된 ID 사용 권장 |
styles.xml | snake case | <WHERE>_<DESCRIPTION> |
일관된 ID 사용 권장 |
📂 com.sopt.gongbaek
┣ 📂 data
┃ ┣ 📂 local
┃ ┃ ┣ 📂 datasource
┃ ┃ ┣ 📂 datasourceimpl
┃ ┣ 📂 mapper
┃ ┃ ┣ 📂 todata
┃ ┃ ┣ 📂 todomain
┃ ┣ 📂 remote
┃ ┃ ┣ 📂 datasource
┃ ┃ ┣ 📂 datasourceimpl
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 base
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┣ 📂 response
┃ ┃ ┣ 📂 service
┃ ┃ ┣ 📂 util
┃ ┣ 📂 repositoryimpl
┣ 📂 di
┣ 📂 domain
┃ ┣ 📂 model
┃ ┣ 📂 repository
┃ ┣ 📂 type
┃ ┣ 📂 usecase
┣ 📂 presentation
┃ ┣ 📂 model
┃ ┣ 📂 type
┃ ┣ 📂 ui
┃ ┃ ┣ 📂 auth
┃ ┃ ┣ 📂 component
┃ ┃ ┣ 📂 groupdetail
┃ ┃ ┣ 📂 grouplist
┃ ┃ ┣ 📂 groupregister
┃ ┃ ┣ 📂 grouproom
┃ ┃ ┣ 📂 home
┃ ┃ ┣ 📂 main
┃ ┃ ┣ 📂 mygroup
┃ ┃ ┣ 📂 onboarding
┃ ┃ ┣ 📂 splash
┃ ┣ 📂 util
┣ 📂 ui.theme
항목 | 세부 내용 |
---|---|
Development Tools | Android Studio |
Android Studio Version | LadyBug |
Kotlin Version | 2.0.0 |
Category | Details |
---|---|
Languages | Kotlin |
UI Framework | Jetpack Compose |
Architecture | Single Activity Architecture |
Navigation | Jetpack Navigation |
Module Type | Single Module |
State Management (MVI) | 선정 이유
|
Asynchronous | Coroutine, Flow |
Design Pattern | Repository Pattern 선정 이유
|
Dependency Injection | Dagger-Hilt 선정 이유
|
Architecture Type | Clean Architecture 선정 이유
|
UI Design | Material3 |
Networking | Retrofit, OkHttp |
Build Tools | Gradle Version Catalog |
—