Skip to content

Commit

Permalink
Merge pull request #285 from TeamDATEROAD/develop
Browse files Browse the repository at this point in the history
  • Loading branch information
jihyunniiii authored Dec 4, 2024
2 parents b7a5fde + 0e126e9 commit a5a9a9e
Show file tree
Hide file tree
Showing 425 changed files with 2,987 additions and 2,700 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/android_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,11 @@ jobs:
env:
DEFAULTS_ORG: ${{ secrets.DEFAULTS_ORG }}
DEFAULTS_PROJECT: ${{ secrets.DEFAULTS_PROJECT }}
AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
run: |
echo "defaults.org=$DEFAULTS_ORG" >> sentry.properties
echo "defaults.project=$DEFAULTS_PROJECT" >> sentry.properties
echo "auth.token=$AUTH_TOKEN" >> sentry.properties
- name: Build Release APK
run: |
Expand Down
148 changes: 74 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,51 @@
# 쉽고 빠른 데이트로 가는 지름길, 데이트로드 👩🏻‍❤️‍👨🏻

![50](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b)
데이트로드는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 공유 서비스로 사용자가 직접 데이트 코스를 등록하고 공유합니다.
커플들이 직접 공유하는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 코스 공유 서비스 데이트로드입니다.

<br>


## 💟 Contributors

| [🐸배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) |
|:-------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|
| <img src="https://github.com/user-attachments/assets/b5f2b36e-4875-4de0-b1b2-b5f36ffef093" width="200px" height="320dp"> | <img src="https://github.com/user-attachments/assets/31310105-159e-4447-ab09-cd34970151f1" width="200px" height="320dp"> | <img src="https://github.com/user-attachments/assets/fd1f8c1d-209b-48a6-9d40-01b5465a420e" width="200px" height="320dp"> |
| `포인트내역`<br>`내가열람한코스+내가등록한코스`<br>`코스둘러보기`<br>`코스등록하기+일정등록하기`<br>`코스수정하기` | `온보딩/회원가입`<br>`스플래시`<br>`프로필등록하기`<br>`코스상세`<br>`마이페이지`<br>`웹뷰`<br>`관리자아카이빙` | `메인페이지`<br>`다가올 데이트일정`<br>`지난데이트일정`<br>`다가올데이트 상세페이지`<br>`지난데이트 상세페이지`

![DateRoad](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b)

---
## 📷 **시연영상**
| ![온보딩/회원가입](https://github.com/user-attachments/assets/6d6c4558-06a1-408a-b862-fcbd25662d01) | ![메인스크린](https://github.com/user-attachments/assets/be098dcc-5540-4c91-be27-3280362cf07f) | ![일정등록하기+코스등록하기](https://github.com/user-attachments/assets/1007d61d-8f91-4dd0-b544-4c3e00bb4af4) |
|:------------------------:|:--------------------------:|:----------------------:|
| `온보딩/회원가입` | `메인스크린` | `코스상세+일정등록하기` |

| ![데이트 일정](https://github.com/user-attachments/assets/59469c43-75af-419c-a2b7-e7a08bfabaf2) | ![마이페이지](https://github.com/user-attachments/assets/4281f19e-5cba-486e-be17-14977b56d557) |
|:------------------------:|:--------------------------:|
| `데이트 일정` | `마이페이지` |



## 👋 커밋 컨벤션
[Git Convention & Branch Strategy](https://www.notion.so/hooooooni/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8)


## 👋 코드 컨벤션
[Android Coding Convention](https://www.notion.so/hooooooni/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d)


## 👋 브랜치전략
**브랜치 유형**
- **main** : 완성된 버전의 코드를 저장하는 브랜치
- **develop** : 개발이 진행되는 동안 완성된 코드를 저장하는 브랜치
- **feature** : 작은 단위의 작업이 진행되는 브랜치
- **hotfix** : 긴급한 오류를 해결하는 브랜치

- 해당 작업을 위한 브랜치를 파서 작업합니다.
- 작업 완료 후 PR을 날리고 팀원들에게 크로스체크 후 머지합니다.

예시)

- dev/feat-main-view
- dev/add-font-res
## 💟 *****Contributors*****

| [🐸 배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) |
|:-------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|
| <img src="https://github.com/user-attachments/assets/b5f2b36e-4875-4de0-b1b2-b5f36ffef093" width="200px" height="320dp"> | <img src="https://github.com/user-attachments/assets/31310105-159e-4447-ab09-cd34970151f1" width="200px" height="320dp"> | <img src="https://github.com/user-attachments/assets/fd1f8c1d-209b-48a6-9d40-01b5465a420e" width="200px" height="320dp"> |
| `포인트내역`<br>`열람한 코스`<br>`코스둘러보기`<br>`코스등록하기+일정등록하기`<br>`마이페이지`<br>`지난 데이트` | `스플래시`<br>`로그인/온보딩`<br>`프로필 등록하기`<br>`코스상세 + 관리자 아카이빙`<br>`포인트 제도 소개`<br>`프로필 수정하기` | ``<br>`데이트 일정`<br>`데이트 일정 상세`<br>`내가 등록한 코스`<br>`내가 열람한 코스`<br>`카카오톡 공유하기`

## 📷 *****ScreenShot*****
| <img width="250" src="https://github.com/user-attachments/assets/8f4db261-f782-438d-bf1f-54e0c1b0c444"/> | <img width="250" src="https://github.com/user-attachments/assets/eecea233-7b33-4299-84c2-004f4889d690"/> | <img width="250" src="https://github.com/user-attachments/assets/6d4ca8d4-f34e-4c7f-bcba-6ca4e9a344d7"/> |
|:-------------------------:|:-------------------------:|:-------------------------:|
| `로그인/온보딩` | `프로필 등록하기` | `` |
| <img width="250" src="https://github.com/user-attachments/assets/b607ac13-63eb-4c84-a6c7-0da7318a693e"/> | <img width="250" src="https://github.com/user-attachments/assets/e65d7d0e-fcf7-4e55-8206-cd2f5c82c107"/> | <img width="250" src="https://github.com/user-attachments/assets/47338fa1-9835-487d-aa32-c455ec933658">
| `코스 둘러보기` | `데이트 일정` | `지난 데이트` |
| <img width="250" src="https://github.com/user-attachments/assets/a3a219ad-c7ea-421b-bb1f-a3c2725dfdfd"/> | <img width="250" src="https://github.com/user-attachments/assets/d8081bb6-7736-4bde-b153-349da99ddb77"/> | <img width="250" src="https://github.com/user-attachments/assets/5b61849c-71fa-453c-82ee-49f2256a9b65">
| `코스 등록하기` | `일정 등록하기` | `열람한 코스` |
| <img width="250" src="https://github.com/user-attachments/assets/b8ca6858-8b21-4bf7-9523-939007bd04a3"/> | <img width="250" src="https://github.com/user-attachments/assets/54c3bdc9-74c3-41be-89cd-2d8ddd35d7bb"/> | <img width="250" src="https://github.com/user-attachments/assets/c2c0ce43-8e76-4eb3-b6af-7e677c80c610">
| `마이페이지` | `프로필 수정` | `포인트 내역` |
| <img width="250" src="https://github.com/user-attachments/assets/ed231f24-c720-4662-a8fc-0e8fe4f2c797"/> | <img width="250" src="https://github.com/user-attachments/assets/3547a872-70b7-435e-9087-56620f1405b0"/> | <img width="250" src="https://github.com/user-attachments/assets/6041b4a9-999e-4370-acca-b86a08fca7c8">
| `데이트 일정 상세 - 무료 열람 기회` | `데이트 일정 상세 - 포인트 사용` | `데이트 일정 상세 - 내가 쓴 글` |

## 👩🏻‍💻 ***𝙏𝙚𝙘𝙝 𝙎𝙩𝙖𝙘𝙠***

| Title | Content |
|-------------------------|-------------------------------------------------------------------------------|
| Architecture | Clean Architecture, MVI, Single Activity Architecture |
| Design Pattern | Repository Pattern, Delegation Pattern |
| UI | Jetpack Compose |
| Jetpack Components | encryptedsharedpreferences, Lifecycle, ViewModel, Navigation |
| Dependency Injection | Hilt |
| Network | Retrofit, OkHttp, MultiPart |
| Asynchronous Processing | Coroutine |
| Third Party Library | Coil, Firebase, Timber, kotlinSerialization, sentry, Amplitude, Lottie, Kakao |
| Strategy | Git Flow |
| CI | GitHub Action(KtLint, Complie Check) |
| CD | GitHub Action |
| Other Tool | Slack, Notion, Figma, Postman, Discord |

<br>

## 📁 *****Foldering*****
```
Expand All @@ -65,7 +63,6 @@
┃ ┃ ┃ ┃ ┣ 📂 datasourceimpl
┃ ┃ ┃ ┃ ┣ 📂 interceptor
┃ ┃ ┃ ┃ ┣ 📂 model
┃ ┃ ┃ ┃ ┃ ┣ 📂 base
┃ ┃ ┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┃ ┣ 📂 response
┃ ┃ ┃ ┃ ┣ 📂 service
Expand All @@ -86,6 +83,7 @@
┃ ┃ ┃ ┣ 📂 model
┃ ┃ ┃ ┣ 📂 type
┃ ┃ ┃ ┣ 📂 ui
┃ ┃ ┃ ┃ ┣ 📂 advertisement
┃ ┃ ┃ ┃ ┣ 📂 component
┃ ┃ ┃ ┃ ┃ 📂 coursedetail
┃ ┃ ┃ ┃ ┣ 📂 enroll
Expand All @@ -110,62 +108,64 @@
```

<br>

## *****Convention*****

## 목차
[ABC의 깃 컨벤션과 브랜치 전략이 궁금하다면? click ✔️](https://hooooooni.notion.site/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8?pvs=4)
<br>

---
[ABC의 코드 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d?pvs=4)
<br>

[ABC의 ISSUE, PR 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/ISSUE-PR-Convention-c5718ebddba64678a001339cd5e148b2?pvs=4)
<br>

[ABC의 칸반보드가 궁금하다면? click ✔️](https://hooooooni.notion.site/ROLE-e46dd81ac93e47d999c2bb4147069ce6?pvs=4)
<br>

## 🩷 프로젝트 설명
[ABC의 Github Project가 궁금하다면? click ✔️](https://github.com/orgs/TeamDATEROAD/projects/1)
<br>

---

## 💡 *****About Project*****

### 🩷 프로젝트 설명
<aside>
장소 중심이 아닌 코스 중심의 데이트 코스 공유 서비스 데이트로드입니다.

데이트로드에서는 다른 커플들의 실제 데이트 코스 후기를 포인트를 통해 열람할 수 있습니다.

코스 둘러보기를 통해 마음에 드는 코스를 클릭하고 미리보기를 통해 사전정보를 획득할 수 있습니다.

포인트가 없다고 걱정하지 마세요. 최초 3회는 무료로 데이트 코스를 열람할 수 있습니다. 해당 코스대로 데이트를 떠나고 싶다면 내 일정에 추가하기 버튼을 눌러 내 데이트 일정으로 등록할 수도 있습니다.
</aside>

## 📝 문제상황 정의

---

![6](https://github.com/user-attachments/assets/b489f192-ae95-40b0-9694-fdc121ffe192)

### 📝 문제상황 정의
![6](https://github.com/user-attachments/assets/c856fdaf-86f2-4f6d-bc20-3109eb072bdf)

- 기존 앱은 코스가 아닌 장소 중심, 이로 인해 데이트 코스를 찾기 위해 여러 앱을 쓰며 피로감을 느낌
- 광고가 아닌 직접 방문한 사람의 후기를 기반으로 데이트 코스를 짜고 싶어 하는 니즈 존재

## 🎯 핵심 타겟

---

### 🎯 핵심 타겟
- 센스 있게 데이트 코스를 짜고 싶은 여자/남자친구
- 색다른 데이트 코스를 찾기 위해 인스타그램 등을 탐색하는 커플
- 네이버 블로그, 인스타그램을 통해 여러 번 데이트 장소의 후기를 얻는 커플

## 📍 주요 기능

---

### 1️⃣ 코스 등록하기 및 열람

![Instagram_post_-_4](https://github.com/user-attachments/assets/bc81ceda-fc99-4156-af11-e73f3d2b7396)

![Instagram_post_-_5](https://github.com/user-attachments/assets/3a30183c-a625-4a18-b7e3-685e2f01bc2c)

### 📍 주요 기능
#### 1️⃣ 코스 등록하기 및 열람

|![Instagram_post_-_4](https://github.com/user-attachments/assets/6232fd24-f906-49a8-9ea0-16d296545931)|![Instagram_post_-_5](https://github.com/user-attachments/assets/0d648884-0d06-4043-9d31-03df52d434b9)|
|---|---|
- 내가 한 데이트 코스를 등록하고 포인트를 획득할 수 있습니다.
- 다른 커플들이 한 데이트를 포인트를 사용해 열람할 수 있습니다.
- 코스 상세 페이지에서 ‘내 일정에 추가하기’ 버튼을 눌러 내 데이트 일정으로 불러올 수 있습니다.

### 2️⃣ 일정 등록하기 및 열람
#### 2️⃣ 일정 등록하기 및 열람

![Instagram_post_-_10](https://github.com/user-attachments/assets/4698b585-7369-4cb8-b3ca-6ebde11e5586)

![Instagram_post_-_6](https://github.com/user-attachments/assets/c5666dee-da05-41b9-8934-739e50de6498)
|![Instagram_post_-_10](https://github.com/user-attachments/assets/8e3a627f-e567-4ad5-ac11-63e560a09b67)|![Instagram_post_-_6](https://github.com/user-attachments/assets/e9accf21-1c6c-4fb5-9ad8-f834ab5750fa)|
|---|---|

- 내 데이트 일정을 등록할 수 있습니다.
- 내 데이트 일정을 확인할 수 있습니다.
Expand All @@ -174,13 +174,13 @@

## 💰 비즈니스 모델

---

> **포인트를 통한 수익 모델**
>
>
- 유저들은 데이트 코스를 등록하고 포인트를 획득해 제휴 매장에 할인받아 방문합니다.
- 구글 애드센스를 연결하여 광고를 시청하면 포인트를 획득할 수 있습니다. 데이트로드는 광고 수익을 얻을 수 있습니다.

> **입점처를 통한 수익 모델**
>
>
- 입점 가게는 매장을 홍보하고 유저 방문으로 매출을 증가시키며, 광고주는 유저에게 광고를 노출하여 제품이나 서비스를 홍보합니다. 데이트로드는 이를 통해 수익을 창출하고, 모든 참여자가 상호 이익을 얻는 생태계를 구축합니다.

<br/><br/>
5 changes: 3 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ val properties = Properties().apply {
}

android {
namespace = "org.sopt.dateroad"
namespace = "org.sopt.teamdateroad"
compileSdk = libs.versions.compileSdk.get().toInt()

defaultConfig {
applicationId = "org.sopt.dateroad"
applicationId = "org.sopt.teamdateroad"
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = libs.versions.versionCode.get().toInt()
Expand Down Expand Up @@ -94,6 +94,7 @@ dependencies {
// Google
implementation(platform(libs.google.firebase.bom))
implementation(libs.google.firebase.crashlytics)
implementation(libs.firebase.crashlytics.buildtools)

// Network
implementation(platform(libs.okhttp.bom))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.sopt.dateroad
package org.sopt.teamdateroad

import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit a5a9a9e

Please sign in to comment.