Skip to content

Commit dd11bd6

Browse files
authored
Merge pull request #531 from TeamSparker/release-1.0.0
Release 1.0.0
2 parents 4e251db + 254728a commit dd11bd6

File tree

866 files changed

+26226
-52
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

866 files changed

+26226
-52
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: Feature request
3+
about: 구현하려는 부분을 작성해주세요
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
## 💻 화면 이름
11+
12+
## 🎤기능 설명
13+
14+
## 필요 태스크
15+
- [ ] Task1
16+
- [ ] Task2

.github/pull_request_template.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
## ✒️관련 이슈번호
3+
- Closed #123
4+
## 💻화면 이름
5+
#123 관련 화면이름
6+
## 완료 태스크
7+
- Task1
8+
- Task2
9+

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ captures/
5555

5656
# Google Services (e.g. APIs or Firebase)
5757
# google-services.json
58+
app/google-services.json
5859

5960
# Android Patch
6061
gen-external-apklibs
@@ -95,7 +96,6 @@ obj/
9596
.idea/gradle.xml
9697
.idea/jarRepositories.xml
9798
.idea/navEditor.xml
98-
9999
# OS-specific files
100100
.DS_Store
101101
.DS_Store?
@@ -142,4 +142,7 @@ fabric.properties
142142

143143
!/gradle/wrapper/gradle-wrapper.jar
144144

145-
# End of https://www.toptal.com/developers/gitignore/api/androidstudio
145+
### KaKao Auth Key
146+
app/src/main/res/values/kakao_auth.xml
147+
148+
# End of https://www.toptal.com/developers/gitignore/api/androidstudio

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Spark-Android
2+
![banner](https://user-images.githubusercontent.com/54737136/150546992-b745fed0-f151-4842-9524-7ce36cda1ab4.png)
3+
4+
안드는🗿🔪퍄퍅..퍄퍅,,,퍅...파...스파크🎇
5+
6+
7+
## ⚡️프로젝트 소개 : ⭐️SPARK⭐️
8+
1️⃣ `기존`끝없이 반복되는 66일의 굴레 가능성→ `디벨롭`‘66일 동안 한 팀당 주어지는 총 세 번의 기회’
9+
10+
2️⃣ `기존`'칭찬하기'와 '스파크 보내기' → `디벨롭`'스파크 보내기'로 통합
11+
12+
3️⃣ 타이머 인증 : 사진인증은 디폴트로 두고, 방을 만드는 사람이 인증 방식을 선택할 수 있도록!
13+
14+
4️⃣ 기존 와프보다 디테일해진 습관 등록 과정
15+
16+
5️⃣ 대기방 : 친구들이 모두 모일 때까지 기다리는 도중에도 습관 인증 가능
17+
18+
19+
## ⚡️팀원 소개
20+
| 이창환 | 조재훈 | 이호재 | 손연주 |
21+
|:-------:|:-------:|:-------:|:-------:|
22+
|<img src="https://user-images.githubusercontent.com/91423342/148880108-08dddb1c-a862-4e1d-b0fd-4a33d4a4c2e8.jpeg" width="200" height="200"/> | <img src="https://user-images.githubusercontent.com/91423342/148880154-7848c470-824d-4198-aece-4940ad808ba8.png" width="200" height="200"/> | <img src="https://user-images.githubusercontent.com/91423342/148880221-86ea677f-d272-464c-9b67-90ae31620f3e.jpeg" width="200" height="200"/> | <img src="https://user-images.githubusercontent.com/91423342/148880265-18fd3045-96e7-4984-9497-39c971295a7a.png" width="200" height="200"/> |
23+
| 홈, 방생성 역할 담당 | 습관방 역할 담당 | 보관함 역할 담당 | 온보딩 , 로그인 , 피드 역할 담당|
24+
25+
## ⚡️팀 협업 방식
26+
### 🔥Branch 전략
27+
[Spark 브랜치 전략 Wiki](https://github.com/TeamSparker/Spark-Android/wiki/Branch-%EC%A0%84%EB%9E%B5)
28+
### 🔥Coding Convention
29+
[Spark Coding Convention Wiki](https://github.com/TeamSparker/Spark-Android/wiki/Coding-Convention)
30+
### 🔥Github Convention
31+
[Spark Github Convention Wiki](https://github.com/TeamSparker/Spark-Android/wiki/GitHub-Convention)
32+
### 🔥Package Convention
33+
[Spark Package Convention Wiki](https://github.com/TeamSparker/Spark-Android/wiki/Package-Convention)
34+
### 🔥기술 스택
35+
[Spark 기술 스택 Wiki](https://github.com/TeamSparker/Spark-Android/wiki/%EA%B8%B0%EC%88%A0-%EC%8A%A4%ED%83%9D)
36+

app/build.gradle

Lines changed: 85 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
11
plugins {
22
id 'com.android.application'
33
id 'kotlin-android'
4+
id 'kotlin-kapt'
5+
id 'dagger.hilt.android.plugin'
6+
id 'com.google.gms.google-services'
7+
id 'androidx.navigation.safeargs.kotlin'
8+
id 'kotlin-parcelize'
49
}
510

611
android {
712
compileSdk 31
813

914
defaultConfig {
10-
applicationId "com.spark.android"
15+
applicationId "com.teamsparker.android"
1116
minSdk 26
1217
targetSdk 31
1318
versionCode 1
14-
versionName "1.0"
19+
versionName "1.0.0"
1520

1621
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1722
}
1823

1924
buildTypes {
20-
release {
25+
debug {
2126
minifyEnabled false
27+
shrinkResources false
28+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
29+
}
30+
release {
31+
debuggable false
32+
minifyEnabled true
33+
shrinkResources true
2234
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2335
}
2436
}
@@ -29,6 +41,11 @@ android {
2941
kotlinOptions {
3042
jvmTarget = '1.8'
3143
}
44+
45+
buildFeatures {
46+
viewBinding true
47+
dataBinding true
48+
}
3249
}
3350

3451
dependencies {
@@ -37,7 +54,72 @@ dependencies {
3754
implementation 'androidx.appcompat:appcompat:1.4.0'
3855
implementation 'com.google.android.material:material:1.4.0'
3956
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
57+
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
58+
implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha03'
4059
testImplementation 'junit:junit:4.+'
4160
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
4261
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
62+
63+
//glide
64+
implementation 'com.github.bumptech.glide:glide:4.12.0'
65+
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
66+
67+
//Retrofit2
68+
implementation "com.squareup.retrofit2:retrofit:2.9.0"
69+
70+
//gson
71+
implementation "com.google.code.gson:gson:2.8.9"
72+
73+
//gson converter
74+
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
75+
76+
//okhttp3
77+
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
78+
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
79+
80+
// ViewModel(by viewModels 사용용도)
81+
implementation "androidx.fragment:fragment-ktx:1.4.0"
82+
implementation 'androidx.activity:activity-ktx:1.4.0'
83+
// ViewModel coroutine 스코프를 위한거
84+
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0"
85+
86+
//coroutine
87+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1"
88+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1'
89+
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
90+
91+
//navigation compose
92+
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
93+
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
94+
95+
//Hilt
96+
implementation "com.google.dagger:hilt-android:2.38.1"
97+
kapt "com.google.dagger:hilt-android-compiler:2.38.1"
98+
kapt 'androidx.hilt:hilt-compiler:1.0.0'
99+
100+
// Firebase
101+
implementation platform('com.google.firebase:firebase-bom:28.4.2')
102+
implementation 'com.google.firebase:firebase-messaging-ktx'
103+
implementation 'com.google.firebase:firebase-analytics-ktx'
104+
105+
// KaoKao Login
106+
implementation "com.kakao.sdk:v2-user:2.8.4"
107+
108+
//lottie
109+
implementation "com.airbnb.android:lottie:4.2.2"
110+
111+
// Paging
112+
implementation 'androidx.paging:paging-runtime-ktx:3.1.1'
113+
114+
// Lifecycle-KTX
115+
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1'
116+
117+
// viewpager indicator
118+
implementation 'me.relex:circleindicator:2.1.6'
119+
120+
// SwipeRefreshLayout
121+
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
122+
123+
// Timber
124+
implementation 'com.jakewharton.timber:timber:5.0.1'
43125
}

app/proguard-rules.pro

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,10 @@
1818

1919
# If you keep the line number information, uncomment this to
2020
# hide the original source file name.
21-
#-renamesourcefileattribute SourceFile
21+
#-renamesourcefileattribute SourceFile
22+
23+
# Keep data for network connection.
24+
-keep class com.kakao.sdk.**.model.* { <fields>; }
25+
-keep class * extends com.google.gson.TypeAdapter
26+
-keep class com.teamsparker.android.data.remote.entity.request.** { *; }
27+
-keep class com.teamsparker.android.data.remote.entity.response.** { *; }

app/src/androidTest/java/com/spark/android/ExampleInstrumentedTest.kt renamed to app/src/androidTest/java/com/teamsparker/android/ExampleInstrumentedTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.spark.android
1+
package com.teamsparker.android
22

33
import androidx.test.platform.app.InstrumentationRegistry
44
import androidx.test.ext.junit.runners.AndroidJUnit4

app/src/main/AndroidManifest.xml

Lines changed: 118 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,135 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.spark.android">
3+
package="com.teamsparker.android">
4+
5+
<uses-permission android:name="android.permission.INTERNET" />
6+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
7+
<uses-permission android:name="android.permission.CAMERA" />
8+
<uses-permission
9+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
10+
android:maxSdkVersion="28" />
11+
12+
<uses-feature
13+
android:name="android.hardware.camera2"
14+
android:required="false" />
415

516
<application
6-
android:allowBackup="true"
7-
android:icon="@mipmap/ic_launcher"
17+
android:name="com.teamsparker.android.SparkApplication"
18+
android:allowBackup="false"
19+
android:dataExtractionRules="@xml/data_extraction_rules"
20+
android:fullBackupContent="false"
21+
android:fullBackupOnly="false"
22+
android:icon="@mipmap/ic_app_logo"
823
android:label="@string/app_name"
9-
android:roundIcon="@mipmap/ic_launcher_round"
24+
android:roundIcon="@mipmap/ic_app_logo_round"
1025
android:supportsRtl="true"
1126
android:theme="@style/Theme.SparkAndroid">
1227
<activity
13-
android:name=".MainActivity"
14-
android:exported="true">
28+
android:name="com.teamsparker.android.ui.habit.HabitSendSparkActivity"
29+
android:exported="false"
30+
android:screenOrientation="portrait"
31+
android:theme="@style/Transparent"
32+
android:windowSoftInputMode="adjustResize" />
33+
<activity
34+
android:name="com.teamsparker.android.ui.feedreport.FeedReportActivity"
35+
android:exported="false"
36+
android:screenOrientation="portrait" />
37+
<activity
38+
android:name="com.teamsparker.android.ui.alarmcenter.AlarmCenterActivity"
39+
android:exported="false"
40+
android:screenOrientation="portrait" />
41+
<activity
42+
android:name="com.teamsparker.android.ui.onboarding.OnBoardingActivity"
43+
android:exported="true"
44+
android:screenOrientation="portrait" />
45+
<activity
46+
android:name="com.teamsparker.android.ui.storage.photo.StoragePhotoMainPickActivity"
47+
android:exported="true"
48+
android:screenOrientation="portrait" />
49+
<activity
50+
android:name="com.teamsparker.android.ui.mypage.MyPageActivity"
51+
android:exported="false"
52+
android:screenOrientation="portrait" />
53+
<activity
54+
android:name="com.teamsparker.android.ui.share.InstaActivity"
55+
android:exported="true"
56+
android:screenOrientation="portrait" />
57+
<activity
58+
android:name="com.teamsparker.android.ui.waitingroom.WaitingRoomActivity"
59+
android:exported="true"
60+
android:screenOrientation="portrait" />
61+
<activity
62+
android:name="com.teamsparker.android.ui.certify.CertifyActivity"
63+
android:exported="true"
64+
android:screenOrientation="portrait" />
65+
<activity
66+
android:name="com.teamsparker.android.ui.timer.TimerStartActivity"
67+
android:exported="true"
68+
android:screenOrientation="portrait" />
69+
<activity
70+
android:name="com.teamsparker.android.ui.habit.HabitGoalManageActivity"
71+
android:exported="false"
72+
android:screenOrientation="portrait" />
73+
<activity
74+
android:name="com.teamsparker.android.ui.joincode.JoinCodeActivity"
75+
android:exported="true"
76+
android:screenOrientation="portrait" />
77+
<activity
78+
android:name="com.teamsparker.android.ui.makeroom.MakeRoomActivity"
79+
android:exported="true"
80+
android:screenOrientation="portrait" />
81+
<activity
82+
android:name="com.teamsparker.android.ui.storage.photo.StoragePhotoCollectionActivity"
83+
android:exported="false"
84+
android:screenOrientation="portrait" />
85+
<activity
86+
android:name="com.teamsparker.android.ui.habit.HabitActivity"
87+
android:configChanges="orientation"
88+
android:exported="true"
89+
android:screenOrientation="portrait"
90+
android:windowSoftInputMode="adjustNothing" />
91+
<activity
92+
android:name="com.teamsparker.android.ui.auth.AuthActivity"
93+
android:configChanges="orientation"
94+
android:exported="true"
95+
android:screenOrientation="portrait" />
96+
<activity
97+
android:name="com.teamsparker.android.ui.intro.IntroActivity"
98+
android:exported="true"
99+
android:screenOrientation="portrait">
15100
<intent-filter>
16101
<action android:name="android.intent.action.MAIN" />
17102

18103
<category android:name="android.intent.category.LAUNCHER" />
19104
</intent-filter>
20105
</activity>
106+
<activity
107+
android:name="com.teamsparker.android.ui.main.MainActivity"
108+
android:exported="true"
109+
android:screenOrientation="portrait" />
110+
<activity
111+
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
112+
android:exported="true">
113+
<intent-filter>
114+
<action android:name="android.intent.action.VIEW" />
115+
116+
<category android:name="android.intent.category.DEFAULT" />
117+
<category android:name="android.intent.category.BROWSABLE" />
118+
119+
<!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth" -->
120+
<data
121+
android:host="oauth"
122+
android:scheme="@string/kakao_redirect_scheme" />
123+
</intent-filter>
124+
</activity>
125+
126+
<service
127+
android:name="com.teamsparker.android.SparkMessagingService"
128+
android:exported="false">
129+
<intent-filter>
130+
<action android:name="com.google.firebase.MESSAGING_EVENT" />
131+
</intent-filter>
132+
</service>
21133
</application>
22134

23135
</manifest>

0 commit comments

Comments
 (0)