Skip to content

Commit

Permalink
Merge pull request #176 from team-winey/release/1.0.0
Browse files Browse the repository at this point in the history
Release v1.0.0
  • Loading branch information
leeeha authored Aug 30, 2023
2 parents 34717da + 5aa57c5 commit d72f388
Show file tree
Hide file tree
Showing 371 changed files with 79,059 additions and 310 deletions.
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
tab_width = 4
disabled_rules = no-wildcard-imports,import-ordering,comment-spacing
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/winey-issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Winey Issue Template
about: '위니 이슈 템플릿 '
title: "[type] 화면 이름 / 작업 내용"
labels: ''
assignees: ''

---

## 💡 ISSUE
<!-- 어떤 이슈인지 간략하게 설명해주세요. -->

## 📌 TO DO
<!-- 상세하게 task를 나눠서 작성해주세요. -->
- [ ] task1
- [ ] task2
- [ ] task3
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
- closed #issue number

## 📝 Work Description

- task1
- task2
- task3

## 📸 Screenshot
<!-- 실행 사진이나 영상을 드래그하여 첨부해주세요. -->
<!-- <img width="300" src="이미지 주소" /> -->

## 📣 To Reviewers
<!-- 원하는 리뷰 요청 기한도 작성해주세요. -->
91 changes: 91 additions & 0 deletions .github/workflows/pr_checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Winey PR Checker

on:
pull_request:
branches: [ develop, main ]

defaults:
run:
shell: bash
working-directory: .

jobs:
build:
name: PR Checker
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Setup JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17

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

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

- name: Add Local Properties
env:
AUTH_BASE_URL: ${{ secrets.AUTH_BASE_URL }}
KAKAO_NATIVE_KEY: ${{ secrets.KAKAO_NATIVE_KEY }}
AMPLITUDE_API_KEY: ${{ secrets.AMPLITUDE_API_KEY }}
run: |
echo auth.base.url=\"$AUTH_BASE_URL\" >> ./local.properties
echo kakao.native.key=\"$KAKAO_NATIVE_KEY\" >> ./local.properties
echo kakaoNativeKey=$KAKAO_NATIVE_KEY >> ./local.properties
echo amplitude.api.key=\"AMPLITUDE_API_KEY\" >> ./local.properties
# - name: Access Firebase Service
# run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json

- name: Build debug APK
run: ./gradlew assembleDebug --stacktrace

# - name: Upload APK
# uses: actions/upload-artifact@v1
# with:
# name: app
# path: app/build/outputs/apk/debug

- name: Run ktlint
run: ./gradlew ktlintCheck

- name: On Success, Notify in Slack
if: ${{ success() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: '#53A551'
SLACK_ICON: https://github.com/team-winey/Winey-AOS/assets/68090939/d9f94086-84f5-4ef2-80b4-acf27b59c21b?size=48
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'ALL Winey Android Makers checks have passed ✅'
MSG_MINIMAL: true
SLACK_USERNAME: Winey Android
SLACK_MESSAGE: 'Winey Android PR check 성공 🎉🎉🎉'

- name: On Failed, Notify in Slack
if: ${{ failure() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: '#ff0000'
SLACK_ICON: https://github.com/team-winey/Winey-AOS/assets/68090939/d9f94086-84f5-4ef2-80b4-acf27b59c21b?size=48
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'Winey checks have failed 🚫'
MSG_MINIMAL: true
SLACK_USERNAME: Winey Android
SLACK_MESSAGE: '버그 잡자 🐛'
29 changes: 29 additions & 0 deletions .github/workflows/release_tag_generator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Winey Release Tag Generator

on:
push:
branches: [ main ]

defaults:
run:
shell: bash
working-directory: .

jobs:
build:
name: Release Tag Generator
runs-on: ubuntu-latest

steps:
- name: Extract Version Code
- uses: actions/checkout@v2
run: echo "##[set-output name=version;]$(echo '${{ github.event.head_commit.message }}' | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')"
id: extract_version_name

- name: Create Release Tag
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.extract_version_name.outputs.version }}
release_name: ${{ steps.extract_version_name.outputs.version }}
78 changes: 78 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 👑 Winey - AOS 💸

GO SOPT 32기 앱잼 Winey Android 팀 레포입니다.

<img width="250" src="https://github.com/team-winey/Winey-AOS/assets/68090939/d9f94086-84f5-4ef2-80b4-acf27b59c21b"/>

## 💁 Introduction

위니(₩iney)는 무겁게만 느껴졌던 절약을 몰입도 높은 세계관과 쉽고 재미있는 기능을 통해 절약을 라이프 스타일로 변화시켜주는 서비스입니다.

위니(₩iney)는 ₩in+Money의 합성어입니다. '나와의 절약 싸움에서 이겨 위니 왕국으로 돌아가자'라는 세계관과 흥미로운 스토리텔링이 담긴 게이미피케이션 요소를 통해 쉽고
재미있게 절약을 표현했습니다.

절약 방법이 어려운 고객을 위해 일상에서도 언제든 가능한 절약 방법을 추천하고, 사진을 통한 절약 인증과 절약 목표 달성률에 따라 캐릭터를 성장시키는 기능이 담겨있습니다.

한마디로 위니는 '좌충우돌 나만의 절약 방법을 공유하는 게임형 절약 SNS' 서비스입니다.

## 🌱 Contributors

| [@leeeha](https://github.com/leeeha) | [@sxunea](https://github.com/sxunea) | [@Sangwook123](https://github.com/Sangwook123) |
|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|
|<img width="200" src="https://github.com/team-winey/Winey-AOS/assets/68090939/b3b69c84-407c-4db7-8290-92c52a5d2d5b" /> | <img width="200" src="https://github.com/team-winey/Winey-AOS/assets/68090939/7eb22b00-ef67-4ad0-9ae9-1bc5e579524b" /> | <img width="200" src="https://github.com/team-winey/Winey-AOS/assets/68090939/352352e9-9a4c-4de8-8fdb-dc73c26a271e" /> |
| 위니 업로드, 스플래쉬 | 위니 피드, 마이 피드 | 마이페이지, 추천 위니 |

## 📸 Screenshot

### Splash

<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/eae3ccb6-7094-46de-ae3d-479a5b9cfac8" width="250">

### Winey Feed

<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/e9555ea3-d4b9-4d45-8248-9092e5cb44cd" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/f5dc5912-32f9-4a37-bf03-7b40a863bb95" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/72fb6b57-d58a-433e-a241-1ed475bd1964" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/bdb92229-52af-4fae-8748-8fc5933fcd34" width="250">

### Winey Upload

<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/7e4b673e-f7a8-411f-80fb-676318dbbf25" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/dec1fa6c-fb48-4964-beaf-79703b0bfaa7" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/e3c3459b-26f8-4b2e-bbaf-a6b0e4962021" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/ee2e1100-4086-4d6b-aead-088164f3ed65" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/671d45b6-4522-45bf-a7a6-e71d3949c9fe" width="250">

### My Page

<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/44abdfa5-f5d0-4c83-94e1-5d313703e091" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/abf27e26-4fcc-47c6-9698-eacfe22436d0" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/0f3a6394-a1c1-4eb4-b15a-a2579065bd85" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/93a10820-8354-4962-aec1-29b35daa8def" width="250">

### Recommend Feed

<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/a13bdf85-dd7f-48e0-ae00-3fdd038da1ed" width="250">
<img src="https://github.com/team-winey/Winey-AOS/assets/68090939/778a0d07-5ffc-4577-9ec2-d05892933adc" width="250">

## 🛠 Tech Stack
| Architecture | Clean Architecture, MVVM |
| ------------ | ------------------------ |
| `Design Pattern` | Observer Pattern, Repository Pattern, State Pattern |
| `JetPack Components` | LiveData, LifeCycle, ViewModel, DataBinding |
| `Dependency Injections` | Hilt |
| `NetWork` | Retrofit, OkHttp |
| `Asynchronous Processing` | Coroutine |
| `Third Party Library` | Coil, Lottie, Timber, CircleImageView |
| `Strategy` | Git Flow |
| `Communication Tool` | Notion, Slack, Figma, Swagger |

## 📌 Convention

- [Git Convention](https://www.notion.so/Git-Convention-8b890a83aed94c9fbf727b4088bc2670?pvs=4)
- [Code Convention](https://www.notion.so/Code-Convention-d39ec34c2d1240f297f6027b8f9839c3?pvs=4)
- [Package Convention](https://www.notion.so/Package-Convention-b5a7ccc1f2b64f5d86ea9fc9179b7516?pvs=4)

## 📋 Kanban Board

- [Github Projects](https://github.com/orgs/team-winey/projects/2)
71 changes: 51 additions & 20 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties

plugins {
id(Plugins.androidApplication)
id(Plugins.kotlinAndroid)
id(Plugins.kotlinParcelize)
id(Plugins.kotlinKapt)
id(Plugins.hiltPlugin)
id(Plugins.ossLicensesPlugin)
id(ModulePlugins.androidApplication)
id(ModulePlugins.kotlinAndroid)
id(ModulePlugins.kotlinParcelize)
id(ModulePlugins.kotlinKapt)
id(ModulePlugins.kotlinSerialization)
id(ModulePlugins.hilt)
id(ModulePlugins.oss)
}

android {
Expand All @@ -18,6 +21,24 @@ android {
versionCode = DefaultConfig.versionCode
versionName = DefaultConfig.versionName

buildConfigField(
"String",
"AUTH_BASE_URL",
gradleLocalProperties(rootDir).getProperty("auth.base.url")
)
buildConfigField(
"String",
"KAKAO_NATIVE_KEY",
gradleLocalProperties(rootDir).getProperty("kakao.native.key")
)
buildConfigField(
"String",
"AMPLITUDE_API_KEY",
gradleLocalProperties(rootDir).getProperty("amplitude.api.key")
)

manifestPlaceholders["KAKAO_NATIVE_KEY"] = gradleLocalProperties(rootDir).getProperty("kakaoNativeKey")

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

Expand All @@ -41,9 +62,9 @@ android {
}

buildFeatures {
buildConfig = true
dataBinding = true
viewBinding = true
dataBinding = true
buildConfig = true
}
}

Expand All @@ -59,32 +80,39 @@ dependencies {
implementation(coreKtx)
implementation(appCompat)
implementation(constraintLayout)
implementation(fragment)
implementation(swipeRefreshLayout)
implementation(startup)
implementation(hilt)
implementation(activity)
implementation(fragment)
implementation(legacy)
implementation(security)
implementation(hilt)
implementation(lifeCycleKtx)
implementation(lifecycleKtx)
implementation(lifecycleLiveDataKtx)
implementation(lifecycleViewModelKtx)
implementation(lifecycleJava8)
implementation(splashScreen)
implementation(pagingRuntime)
implementation(workManager)
implementation(hiltWorkManager)
implementation(exif)
implementation(dataStore)
implementation(dataStoreCore)
}

KaptDependencies.run {
kapt(hiltCompiler)
kapt(hiltWorkManagerCompiler)
}

implementation(MaterialDesignDependencies.materialDesign)

TestDependencies.run {
testImplementation(jUnit)
androidTestImplementation(androidTest)
androidTestImplementation(espresso)
}

implementation(MaterialDesignDependencies.materialDesign)

KaptDependencies.run {
kapt(hiltAndroidCompiler)
kapt(hiltWorkManagerCompiler)
}

ThirdPartyDependencies.run {
implementation(coil)
implementation(platform(okHttpBom))
Expand All @@ -97,10 +125,13 @@ dependencies {
implementation(progressView)
implementation(balloon)
implementation(lottie)
implementation(circleImageView)
implementation(kakaoLogin)
implementation(amplitude)

debugImplementation(flipper)
debugImplementation(flipperNetwork)
debugImplementation(flipperLeakCanary)
debugImplementation(leakCanary)
debugImplementation(soloader)
}
}
}
20 changes: 20 additions & 0 deletions app/release/output-metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.go.sopt.winey",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 10100,
"versionName": "1.0.0",
"outputFile": "app-release.apk"
}
],
"elementType": "File"
}
Loading

0 comments on commit d72f388

Please sign in to comment.