Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat/#8] 4주차 필수 과제 구현 #9

Open
wants to merge 31 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
319015d
refactor/#8: hilt 적용(hiltAndroidApp, hiltViewmodel, AndroidEntryPoint…
kangyein9892 Nov 14, 2024
27f4359
feat/#8: sharedpreference provide 추가
kangyein9892 Nov 14, 2024
2b4fe9a
feat/#8: UserDatasource, UserRepository 구현
kangyein9892 Nov 14, 2024
55f0f3f
refactor/#8: PreferenceUtil 대신 userRepository 사용
kangyein9892 Nov 14, 2024
a7005a4
add/#8: 서버 통신 관련 라이브러리 추가
kangyein9892 Nov 15, 2024
f704238
feat/#8: 네트워크 결과 처리 기능 구현
kangyein9892 Nov 15, 2024
aeecfcf
feat/#8: BaseResponse 및 SignUpResponse, SignUpRequest 추가
kangyein9892 Nov 15, 2024
68e863c
feat/#8: SignUp, User domain model 추가
kangyein9892 Nov 15, 2024
1e0250f
feat/#8: NetworkError, Result 상태 관리 클래스 및 결과 처리 구현
kangyein9892 Nov 15, 2024
d9afb86
feat/#8: domain model request로 변환 함수 구현
kangyein9892 Nov 15, 2024
2e12097
feat/#8: UserService, DataSource, Repository에 회원가입 SignUp api 연결
kangyein9892 Nov 15, 2024
3160ad8
feat/#8: DataSourceModule, NetworkModule, ServiceModule 수정 및 추가
kangyein9892 Nov 15, 2024
9fcd32e
feat/#8: network 상태 관리 위임하여 관리하는 기능 구현
kangyein9892 Nov 15, 2024
20ceb45
ui/#8: SignUp screen에 hobby TextField 추가
kangyein9892 Nov 15, 2024
f6d3368
mod/#8: SignUpSideEffect 및 SignUpState 수정
kangyein9892 Nov 15, 2024
b5682fb
feat/#8: SignUpViewModel 취미 update, 회원가입, 네트워크 처리, intent 처리 구현
kangyein9892 Nov 15, 2024
d4b7e5e
feat/#8: SignUpScreen에서 networkState, intent 처리, 회원가입 구현
kangyein9892 Nov 15, 2024
fe87207
chore/#8: request, response 파일명 수정
kangyein9892 Nov 15, 2024
a95dfc0
feat/#8: signIn login dto 및 domain model 구현
kangyein9892 Nov 15, 2024
99eaf02
chore/#8: signup dto 이름 오류 생긴 부분 수정
kangyein9892 Nov 15, 2024
ad8364e
chore/#8: signUp dto 이름 오류 생긴 부분 수정
kangyein9892 Nov 15, 2024
1f87147
chore/#8: domain SignUpResponse 이름 수정
kangyein9892 Nov 15, 2024
2ad9f31
feat/#8: UserService, DataSource, Repository에 login SignIn api 연결
kangyein9892 Nov 15, 2024
10a14cf
feat/#8: 각각 module에 auth service, datasource, repository provide 추가
kangyein9892 Nov 15, 2024
bc6eceb
feat/#8: 로그인 signIn network 상태 관리 위임하여 관리하는 기능 구현
kangyein9892 Nov 15, 2024
20427c3
feat/#8: login SignIn 기능 추가(서버 연결)
kangyein9892 Nov 15, 2024
eedd71c
feat/#8: token SharedPreference 저장 기능 구현
kangyein9892 Nov 15, 2024
639101e
feat/#8: 내 취미 조회 dto, domain model 추가
kangyein9892 Nov 15, 2024
ff83054
feat/#8: User Service, DataSource, Repository에 getMyHobby 내 취미 조회 추가
kangyein9892 Nov 15, 2024
92cbc24
feat/#8: getMyHobby 에러 위임하는 기능 추가
kangyein9892 Nov 15, 2024
98fbb00
feat/#8: 취미 조회 마이페이지에 반영 (서버 api 연결)
kangyein9892 Nov 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.ksp)
alias(libs.plugins.hilt)
}

android {
Expand Down Expand Up @@ -41,25 +43,24 @@ android {
}

dependencies {
implementation(project(":data"))
implementation(project(":domain"))
implementation(project(":presentation"))
Comment on lines 45 to +48

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

멀티모듈까지 엄청난걸요 ㅋㅎ

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

뭐야 이걸 못봤네ㄷㄷ 엄청나다!


implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.compose.navigation)

implementation(libs.hilt)
ksp(libs.hilt.compiler)
implementation(libs.kotlinx.serialization.json)
implementation (libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.androidx.lifecycle.runtime.compose.android)

implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
testImplementation(libs.junit)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>

<application
android:name=".WavveApplication"
android:allowBackup="true"
Expand All @@ -12,9 +14,10 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ANDANDROID"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".main.MainActivity"
android:name=".presentation.main.MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/org/sopt/and/WavveApplication.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.sopt.and

import android.app.Application
import org.sopt.and.util.PreferenceUtil
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class WavveApplication: Application() {

override fun onCreate() {
super.onCreate()
PreferenceUtil.init(this)
}
Comment on lines 9 to 11

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

궁금한 점!! 지현이 코드에도 이렇게 구현되어 있는데, 초기화 작업이 따로 없는 것 같은데 onCreate() 함수를 작성한 이유가 따로 있나요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아뇨...! 원래 PreferenceUtil.init 때문에 썼던 거였습니다...!!

}
7 changes: 0 additions & 7 deletions app/src/main/java/org/sopt/and/my/model/MyState.kt

This file was deleted.

8 changes: 0 additions & 8 deletions app/src/main/java/org/sopt/and/my/sideeffect/MySideEffect.kt

This file was deleted.

31 changes: 0 additions & 31 deletions app/src/main/java/org/sopt/and/my/viewmodel/MyViewModel.kt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

33 changes: 0 additions & 33 deletions app/src/main/java/org/sopt/and/util/PreferenceUtil.kt

This file was deleted.

72 changes: 0 additions & 72 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,75 +1,3 @@
<resources>
<string name="app_name">AND-ANDROID</string>

<string name="text_field_hide">hide</string>
<string name="text_field_show">show</string>
<string name="icon_close">닫기</string>
<string name="icon_info">정보</string>
<string name="icon_arrow_right">이동</string>
<string name="icon_notification">알림</string>
<string name="icon_settings">설정</string>
<string name="logo_image">로고 이미지</string>
<string name="icon_naver">네이버</string>
<string name="icon_kakao">카카오</string>
<string name="icon_tworld">티월드</string>
<string name="icon_facebook">페이스북</string>
<string name="icon_apple">애플</string>
<string name="icon_cast">캐스트</string>
<string name="icon_live">라이브</string>

<string name="main_tab_home">홈</string>
<string name="main_tab_search">검색</string>
<string name="main_tab_my">MY</string>

<string name="home_tab_new_classic">뉴클래식</string>
<string name="home_tab_drama">드라마</string>
<string name="home_tab_entertain">예능</string>
<string name="home_tab_movie">영화</string>
<string name="home_tab_animation">애니메이션</string>
<string name="home_tab_global">해외시리즈</string>
<string name="home_tab_documentary">시사교양</string>
<string name="home_tab_kids">키즈</string>
<string name="home_banner_image">홈배너 이미지</string>
<string name="home_banner_indicator">%s | %s</string>

<string name="signup_top_bar_title">회원가입</string>
<string name="signup_intro_text">이메일과 비밀번호만으로\nWavve를 즐길 수 있어요!</string>
<string name="signup_login_hint">[email protected]</string>
<string name="signup_login_guide">로그인, 비밀번호 찾기, 알림에 사용되니 정확한 이메일을 입력해주세요.</string>
<string name="signup_password_hint">Wavve 비밀번호 설정</string>
<string name="signup_password_guide">비밀번호는 8~20자 이내로 영문 대소문자, 숫자, 특수문자 중 3가지 이상 혼용하여 입력해 주세요.</string>
<string name="signup_other_service_text">또는 다른 서비스 계정으로 가입</string>
<string name="signup_other_service_guide">"SNS계정을 간편하게 가입하여 서비스를 이용하실 수 있습니다. 기\n존 POOQ 계정 또는 Wavve 계정과는 연동되지 않으니 이용에 참고\n하세요."</string>
<string name="signup_button_text">wavve 회원가입</string>
<string name="signup_success_text">회원가입을 완료했습니다.</string>
<string name="signup_failure_email_text">이메일 형식이 올바르지 않습니다.</string>
<string name="signup_failure_password_text">비밀번호 형식이 올바르지 않습니다.</string>
<string name="signup_failure_text">회원가입이 실패했습니다.</string>

<string name="signin_login_hint">이메일 주소 또는 아이디</string>
<string name="signin_password_hint">비밀번호</string>
<string name="signin_login_text">로그인</string>
<string name="signin_find_id_text">아이디 찾기</string>
<string name="signin_reset_password_text">비밀번호 재설정</string>
<string name="signin_signup_text">회원가입</string>
<string name="signin_divider_text">|</string>
<string name="signin_other_service_text">또는 다른 서비스 계정으로 가입</string>
<string name="signin_other_service_guide">"SNS계정을 간편하게 가입하여 서비스를 이용하실 수 있습니다. 기\n존 POOQ 계정 또는 Wavve 계정과는 연동되지 않으니 이용에 참고하세요."</string>
<string name="signin_success_text">로그인에 성공했습니다.</string>
<string name="signin_failure_text">아이디 또는 비밀번호가 일치하지 않습니다.</string>
<string name="signin_text_sns_guide">"SNS계정을 간편하게 가입하여 서비스를 이용하실 수 있습니다.\n\t기존 POOQ 계정 또는 Wavve 계정과는 연동되지 않으니 이용에 참고하세요."</string>

<string name="my_profile_image">내 프로필 이미지</string>
<string name="my_buy_text">구매하기</string>
<string name="my_first_buy_text">첫 결제 시 첫 달 100원!</string>
<string name="my_ticket_text">현재 보유하신 이용권이 없습니다.</string>
<string name="my_watch_contents_text">전체 시청 내역</string>
<string name="my_watch_contents_empty_text">시청 내역이 없어요.</string>
<string name="my_like_contents_text">관심 프로그램</string>
<string name="my_like_contents_empty_text">관심 프로그램이 없어요.</string>
<string name="my_email_error_text">이메일을 불러올 수 없습니다.</string>
<string name="my_error_text">오류로 인해 데이터를 불러올 수 없습니다.</string>
<string name="my_logout_text">로그아웃</string>
<string name="logout_success_text">로그아웃을 성공했습니다</string>

</resources>
5 changes: 5 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ plugins {
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.compose) apply false
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.jetbrains.kotlin.jvm) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.hilt) apply false
alias(libs.plugins.ksp) apply false

}
1 change: 1 addition & 0 deletions data/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading