Skip to content

Commit

Permalink
Merge pull request #245 from boostcampwm-2022/develop
Browse files Browse the repository at this point in the history
첫 배포
  • Loading branch information
mangbaam authored Dec 18, 2022
2 parents 49d79e8 + c5d1318 commit 0136304
Show file tree
Hide file tree
Showing 547 changed files with 25,313 additions and 291 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @boostcampwm-2022/beep
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
resolved: #number

## 작업 내용

> 어떤 작업을 했는지 적어주세요!
## 체크리스트
- [ ] Assignees 설정
- [ ] Labels 설정
- [ ] Projects 설정
- [ ] Milestone 설정

## 동작 화면

> 존재하지 않는다면 패스해주세요!
## 버그

> 존재하지 않는다면 패스해주세요!
22 changes: 22 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
test:
- domain/src/test/**/*
- presentation/src/test/**/*
- presentation/src/androidTest/**/*
- data/src/test/**/*

chore:
- app/*.gradle
- build.gradle
- buildSrc/**/*

style:
- presentation/src/main/res/**/*

feat:
- app/**/*
- data/src/**/*
- domain/src/**/*
- presentation/src/main/java/**/*

docs:
- README.md
38 changes: 38 additions & 0 deletions .github/workflows/beepCD.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Android CD
on:
pull_request:
branches: [ main ]

jobs:
build:
name: Beep CD
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Create google-service
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./presentation/google-services.json

- name: Create Local Properties
run: echo '${{ secrets.LOCAL_PROPERTIES }}' > ./local.properties

- name: build release
run: ./gradlew assembleRelease

- name: upload artifact to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1

with:
appId: ${{secrets.FIREBASE_APP_ID}}
serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }}
groups: Developer
file: app/build/outputs/apk/release/app-release-unsigned.apk
38 changes: 38 additions & 0 deletions .github/workflows/beepCI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Android CI
on:
pull_request:
branches: [ develop ]

jobs:
build:
name: Beep CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup JDK 11
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: 11
cache: gradle

- name: Setup Android SDK
uses: android-actions/setup-android@v2

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Create google-service
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./presentation/google-services.json

- name: Create Local Properties
run: echo '${{ secrets.LOCAL_PROPERTIES }}' > ./local.properties

- name: Build with Gradle
run: ./gradlew build

- name: Run unit tests
run: ./gradlew testDebugUnitTest
14 changes: 14 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Pull Request Labeler"
on:
pull_request_target:
branches:
- develop

jobs:
label:
runs-on: ubuntu-latest

steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
25 changes: 25 additions & 0 deletions .github/workflows/reviewKtlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: ktlint

on:
pull_request:
branches:
- main
- develop
jobs:
ktlint:
name: Check Code Quality
runs-on: ubuntu-latest

steps:
- name: Clone repo
uses: actions/checkout@master
with:
fetch-depth: 1
- name: ktlint
uses: ScaCap/action-ktlint@master
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
android: true
fail_on_error: true
level: warning
76 changes: 75 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,75 @@
# android04-BEEP
<h1 align="center">
기프티콘, 잊지 말고 삡! 하세요 👾
</h1>

<p align="center">

![Beep_Readme_Header](https://user-images.githubusercontent.com/53300830/204736853-81cc432a-cd29-461f-bc2f-e52bbdef97fb.png)

</p>

<p align="center">
<img src="https://img.shields.io/github/issues/boostcampwm-2022/android04-BEEP"/>
<img src="https://img.shields.io/github/issues-closed/boostcampwm-2022/android04-BEEP"/>
<img src="https://img.shields.io/github/commit-activity/w/boostcampwm-2022/android04-BEEP">
<img src="https://img.shields.io/github/last-commit/boostcampwm-2022/android04-BEEP">
<br><br>
</p>

## 프로젝트

### 소개

- 다양한 기프티콘을 한 곳에 모아서 관리해보세요
- 기프티콘을 단순히 저장하고 보여주는 것만이 아닌 본인 위치를 기반으로 기프티콘을 추천해드려요
- 보안이 걱정이 된다면! 지문인증을 활용해서 기프티콘의 바코드를 숨겨보세요

### 조원 소개

|[김명석](https://github.com/audxo112)|[박명범](https://github.com/mangbaam)|[양수진](https://github.com/yangsooplus)|[이지훈](https://github.com/lee-ji-hoon)|
|------|---|---|------|
|<img src="https://user-images.githubusercontent.com/53300830/203104186-2454f77f-4cab-485f-972b-22236a3d28ca.jpg" width="120" />|<img src="https://user-images.githubusercontent.com/44221447/203118314-c1a7ae71-d746-4399-bbef-2e7e71452b9c.jpg" width="120" />|<img src="https://user-images.githubusercontent.com/44221447/203118604-8b31cda6-70c9-4119-a636-0ac36b6c60a0.jpg" width="120" />|<img src="https://user-images.githubusercontent.com/53300830/203106749-8e92660f-87bd-4655-b39f-352dcc989c49.png" width="120" />|

## 기능 소개

### 홈 및 보안설정

|스플래시|보안 설정||
|:-----:|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207079377-583d2957-6f2d-4928-b0f9-1b38d93b0615.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207080095-5eb24b14-c827-4b6f-a8b7-ab4ceca51ac4.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207086186-77eb9038-1e16-4dea-9af9-606161c3aa1f.gif" />|

### 지도

|사용 가능한 브랜드|마커 갱신|
|:------:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207081108-e8351a02-5536-426d-9030-eb87efc399d5.gif"> |<img width="200" src="https://user-images.githubusercontent.com/44221447/207081544-b7624a60-a5e5-44f4-bd7d-520a8b2b97f7.gif">|

### 목록

|목록 정렬|브랜드검색|삭제 및 사용처리|
|:-----:|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207083881-ba2cb1d0-f8b2-4891-b5d1-b78bf0fa6cf7.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207084281-5eacbcab-3d52-40b9-a5c6-b08cb2af0774.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207086841-e98b7388-5cf7-4909-a64c-733529c587c1.gif">|

### 기프티콘 사용 및 사용기록

|일반 기프티콘 사용|금액권 사용|사용 기록|
|:-----:|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207089697-90204358-eec4-4c39-a5fa-d043d66ecab0.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207089961-487b1a57-976d-4c7c-9cb0-f05c8a7e8b2f.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207090349-c0772934-867b-4014-bafb-9a7b65beb024.gif">|

### 기프티콘 추가

|자동파싱|직접파싱|
|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207082258-6805a2a0-0def-432d-b1c5-2fa91a0a3ef6.gif">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207082945-486ea598-4340-4b00-a176-62b6320abe4e.gif">|

### 위젯 및 알림

|위젯|알림|
|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207088846-ab41b231-52ae-4461-960d-bee90ef3e43f.gif" />|<img width="200" src="https://user-images.githubusercontent.com/44221447/207089143-29e855ca-c169-436c-bc8b-c19b343482b3.gif" />|

### 설정, 기프티콘 확인

|설정|사용한 기프티콘|
|:-----:|:-----:|
|<img width="200" src="https://user-images.githubusercontent.com/44221447/207090920-777e3638-0e02-44a3-9d2a-80f9fa01da93.png">|<img width="200" src="https://user-images.githubusercontent.com/44221447/207090806-16132558-34b6-4f7f-a6b4-c36b270a26b6.png">|
3 changes: 0 additions & 3 deletions app/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,6 @@ captures/
.externalNativeBuild
.cxx/

# Google Services (e.g. APIs or Firebase)
google-services.json

# Version control
vcs.xml

Expand Down
29 changes: 26 additions & 3 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties

plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
kotlin("kapt")
id("dagger.hilt.android.plugin")
id("com.google.android.gms.oss-licenses-plugin")
}

android {
Expand All @@ -16,6 +21,9 @@ android {
versionName = AppConfig.versionName

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

buildConfigField("String", "kakaoSearchId", getApiKey("kakao_search_id"))
manifestPlaceholders["naver_map_api_id"] = getApiKey("naver_map_api_id")
}

buildTypes {
Expand All @@ -26,17 +34,32 @@ android {
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = "1.8"
jvmTarget = AppConfig.jvmTarget
}
buildFeatures {
dataBinding = true
}

packagingOptions {
resources.excludes.add("META-INF/LICENSE*")
}
}

dependencies {
implementation(project(":domain"))
implementation(project(":presentation"))
implementation(project(":data"))
implementation(platform(Libraries.FIREBASE_BOM))
kapt(Kapt.APP_LIBRARIES)
implementation(Libraries.APP_LIBRARIES)
annotationProcessor(AnnotationProcessors.APP_LIBRARIES)
}

fun getApiKey(propertyKey: String): String {
return gradleLocalProperties(rootDir).getProperty(propertyKey)
}
24 changes: 24 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
android:name="com.lighthouse.BeepApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
Expand All @@ -12,5 +22,19 @@
android:supportsRtl="true"
android:theme="@style/Theme.BEEP"
tools:targetApi="31">

<meta-data
android:name="com.naver.maps.map.CLIENT_ID"
android:value="${naver_map_api_id}" />

<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:node="remove">
<meta-data
android:name="com.lighthouse.di.WorkManagerInitializer"
android:value="androidx.startup" />
</provider>

</application>
</manifest>
38 changes: 38 additions & 0 deletions app/src/main/java/com/lighthouse/BeepApplication.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.lighthouse

import android.app.Application
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import com.lighthouse.beep.BuildConfig
import com.lighthouse.presentation.background.BeepWorkManager
import dagger.hilt.android.HiltAndroidApp
import timber.log.Timber
import javax.inject.Inject

@HiltAndroidApp
class BeepApplication : Application(), Configuration.Provider {

@Inject
lateinit var workerFactory: HiltWorkerFactory

override fun onCreate() {
super.onCreate()

if (BuildConfig.DEBUG) {
Timber.plant(CustomTimberTree())
}

BeepWorkManager(this)
}

override fun getWorkManagerConfiguration() =
Configuration.Builder()
.setWorkerFactory(workerFactory)
.build()
}

class CustomTimberTree : Timber.DebugTree() {
override fun createStackElementTag(element: StackTraceElement): String {
return "${element.className}:${element.lineNumber}#${element.methodName}"
}
}
Loading

0 comments on commit 0136304

Please sign in to comment.