Skip to content
forked from PEEKPICK/PEEKPICK

πŸ† SSAFY μ΅œμš°μˆ˜μƒ - μ£Όλ³€ μ·¨ν–₯을 λ‘˜λŸ¬λ³΄κ³ ! 골라보고! PEEKPICK πŸ‘€

Notifications You must be signed in to change notification settings

97Kzone/PEEKPICK

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

λΆ€λ‹΄μ—†λŠ” μ·¨ν–₯ 곡유 곡간! PEEKPICK πŸ‘€

πŸ“Œμ†Œκ°œ

πŸ“ƒκ°œμš”

μœ„μΉ˜ 기반 읡λͺ… μ±„νŒ… μ„œλΉ„μŠ€
PEEKPICK 은 μ μ‹¬μ‹œκ°„, μ‰¬λŠ”μ‹œκ°„, λ²„μŠ€ λŒ€κΈ°μ‹œκ°„ λ“±μ˜ μ§€λ£¨ν•œ μœ νœ΄μ‹œκ°„μ„ 재미있게 보내기 μœ„ν•œ μœ„μΉ˜ 기반의 읡λͺ… μ±„νŒ… μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

πŸ“‘μ£Όμš” κΈ°λŠ₯

  • μ†Œμ…œ 둜그인
    • Kakao
    • Naver (κ²€μˆ˜ 쀑...)
    • Google
  • μœ„μΉ˜ 기반 μΌλŒ€μΌ 읡λͺ… μ±„νŒ…
  • μœ„μΉ˜ 기반 νœ˜λ°œμ„± λ©”μ‹œμ§€ μž‘μ„±
    • λ©”μ‹œμ§€ 관심 ν‘œν˜„ (μ’‹μ•„μš”, μ‹«μ–΄μš”)
  • μ•…μ„± μœ μ € μ‹ κ³ 
    • μ•…μ„± λ©”μ‹œμ§€ μ‹ κ³ 
    • μ•…μ„± μ±„νŒ… μ‹ κ³ 
  • κ°œμΈλ³„ μ·¨ν–₯ μ„€μ •
    • ν•œ 쀄 μ†Œκ°œ
    • 이λͺ¨μ§€
    • μ·¨ν–₯ (μ’‹μ•„μš”, μ‹«μ–΄μš” 각각 5개 μ”©)
    • 접두사
    • λ‹‰λ„€μž„

πŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘§νŒ€ ꡬ성

πŸ‘‘μ΄λ‹€μ˜ μ „μ€€μ˜ κ°•λ™ν‘œ κΉ€μ€€ν˜• κΉ€μš©λ²” 김동민
Leader
Backend
Backend
Infra, CI/CD
Backend
Infra
Frontend Frontend Frontend

πŸ“… 진행 κΈ°κ°„

- 전체 κΈ°κ°„ : 2023. 07. 10 ~ 2023. 08. 18 [ 6μ£Ό ]
- 기획 및 섀계 : 2023. 07. 10 ~ 2023. 07. 21
- 개발 : 2023. 07. 24 ~ 2023. 08. 11
- 버그 μˆ˜μ •, μ‚°μΆœλ¬Ό μž‘μ„± : 2023. 08. 14 ~ 2023. 08. 18

πŸ›  개발 ν™˜κ²½

ν˜‘μ—… 도ꡬ :

운영 및 배포 :

버전 상세 정보
  • Ubuntu : 20.04 LTS
  • Jenkins : 2.417
  • Docker : 24.0.5
  • Nginx : 1.18.0 (Ubuntu)
  • Prometheus : 1.9.13

λ°±μ—”λ“œ :

버전 상세 정보
  • Java : OpenJDK 11.0.1
  • Spring : 5.3.29
  • Spring Boot : 2.7.14
  • Spring Security : 5.7.10
  • MySQL : 8.0.33
  • Gradle : 8.1.1
  • Redis : 3.2

ν”„λ‘ νŠΈμ—”λ“œ :

버전 상세 정보
  • Java Script : ES 6
  • React : 18.2.0
  • Redux : 8.1.1
  • npm : 9.6.7
  • Axios : 1.4.0


πŸ“Ίμ„œλΉ„μŠ€ 상세 λ‚΄μš©

πŸ“²μ£Όμš” κΈ°λŠ₯
  • 메인 νŽ˜μ΄μ§€
    • 처음 접속 μ‹œ λ³΄μ΄λŠ” νŽ˜μ΄μ§€λ‘œ μ†Œμ…œλ‘œκ·ΈμΈκ³Ό μ†Œκ°œ νŽ˜μ΄μ§€λ‘œ λ„˜μ–΄κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μ†Œκ°œ νŽ˜μ΄μ§€
    • κΈ°κΈ°μ—μ„œ 첫 접속 μ‹œ, ν˜Ήμ€ μ†Œκ°œ νŽ˜μ΄μ§€ λ²„νŠΌμ„ 톡해 이동할 수 있으며 μ„œλΉ„μŠ€μ— λŒ€ν•œ κ°„λ‹¨ν•œ μ†Œκ°œλ₯Ό μ œμ‹œν•©λ‹ˆλ‹€.

κΈ°λ³Έ 신상정보 μž…λ ₯

이λͺ¨μ§€ λ‹€μ‹œ 뽑기

접두사 및 λ‹‰λ„€μž„ μ„€μ •

μ·¨ν–₯ 정보 선택

  • νšŒμ› κ°€μž…
    • μ†Œμ…œλ‘œκ·ΈμΈ 이후 이λͺ¨μ§€, 접두사, λ‹‰λ„€μž„, μ·¨ν–₯을 μž…λ ₯λ°›μŠ΅λ‹ˆλ‹€.
    • μ‚¬μš©μžμ˜ 편의λ₯Ό μœ„ν•΄ μ†Œμ…œ 둜그인 μ‹œ ν—ˆμš©ν•œ λ°μ΄ν„°λŠ” 미리 값을 μ±„μ›Œμ£Όλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • μ·¨ν–₯은 μ΅œμ†Œ 1개, μ΅œλŒ€ 5κ°œμ”© 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • PICKER (피컀)
    • ν˜„μž¬ μ£Όλ³€μ˜ 접속 쀑인 λ‹€λ₯Έ μœ μ €λ“€μ„ 화면에 λ³΄μ—¬μ€λ‹ˆλ‹€.
    • 선택 μ‹œ μ·¨ν–₯ 정보, ν•œ 쀄 μ†Œκ°œ, μ±„νŒ… νšŸμˆ˜λ“±μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 거리 쑰절
    • PICKER ν˜Ήμ€ PEEKλ₯Ό 탐색할 수 μžˆλŠ” 거리λ₯Ό μ„€μ •ν•œλ‹€.



  • μ±„νŒ… μš”μ²­
    • PICKERλ₯Ό 선택 ν›„ PICKλ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μ±„νŒ… μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.



  • μ±„νŒ…
    • 15초 μ•ˆμ— μˆ˜λ½ν•œλ‹€λ©΄ μ±„νŒ…λ°©μ΄ κ°œμ„€λ©λ‹ˆλ‹€.
    • 거절 μ‹œ μš”μ²­μžμ—κ²Œ κ±°μ ˆν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ•Œλ¦Όμ΄ λ³΄μž…λ‹ˆλ‹€.

  • μƒλŒ€λ°© 정보 확인
    • μ±„νŒ…μ„ μˆ˜λ½ν•œ μœ μ €λŠ” μƒλŒ€λ°©μ˜ 이λͺ¨μ§€λ₯Ό ν΄λ¦­ν•¨μœΌλ‘œμ¨ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 필터링
    • 읡λͺ… μ»¨ν…μΈ μ΄λ―€λ‘œ 비속어 필터링을 μ μš©ν–ˆμŠ΅λ‹ˆλ‹€.
    • 비속어 μ‚¬μš© μ‹œ β™‘λ‘œ ν‘œμ‹œλ©λ‹ˆλ‹€.

  • μ‹ κ³ 
    • μƒλŒ€λ₯Ό μ‹ κ³ ν•˜κ³  λ‚˜κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
    • μ±„νŒ…λ°©μ„ λ‚˜κ°€λ©΄ μƒλŒ€λŠ” 더 이상 μ±„νŒ…μ„ 보낼 수 μ—†μŠ΅λ‹ˆλ‹€. μ±„νŒ…μ„ 보내면 보낼 수 μ—†λ‹€λŠ” μ•Œλ¦Όμ„ λ„μ›λ‹ˆλ‹€.



  • 맡 λ³€κ²½
    • 배경으둜 λ„μšΈ 맡을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



PEEK 확인

PEEK 확인 ν›„

PEEK μ‹ κ³ 

PEEK μž‘μ„±

  • PEEK
    • κΈ°λ³Έ 1μ‹œκ°„ ν›„ νœ˜λ°œλ˜λŠ” λ©”μ‹œμ§€ PEEKλ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.
    • 선택 μ‹œ 남긴 μ‚¬λžŒκ³Ό λ‚΄μš©, 호뢈호 정도λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.
    • 호뢈호 μ„ νƒμ‹œ 지속 μ‹œκ°„μ΄ 10λΆ„ μ”© μ¦κ°€ν•©λ‹ˆλ‹€.
    • 확인 후에 PEEKλŠ” νšŒμƒ‰μœΌλ‘œ λ³€ν•˜λ©°, 재 νƒμƒ‰μ‹œ λ‹€μ‹œ 보여주지 μ•ŠμŠ΅λ‹ˆλ‹€.
    • 비속어 필터링을 μ‹€μ‹œν•˜λ©° μ‹ κ³ κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
    • μ§€μ†μ‹œκ°„μ΄ 6μ‹œκ°„ 이상인 PEEKλŠ” βœ¨λΉ›λ‚˜λŠ” νŠΉλ³„ν•œ ν•˜νŠΈλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€.
    • 우츑 ν•˜λ‹¨ λ²„νŠΌμ„ 톡해 PEEKλ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



  • λ§ˆμ΄νŽ˜μ΄μ§€
    • κΈ°λ³Έ 정보λ₯Ό 보여주고, ν•œμ€„μ†Œκ°œ, λ‹‰λ„€μž„, 접두사, 이λͺ¨μ§€ μ·¨ν–₯을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • μΆ”ν›„ 맡 νšλ“μ΄λ‚˜, ν•œμ • 이λͺ¨μ§€ νšλ“ ν™•μž₯을 μœ„ν•œ POINTλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. POINTλŠ” μ±„νŒ… νšŸμˆ˜μ™€ PEEK 호 선택 횟수λ₯Ό 톡해 κ³„μ‚°λ©λ‹ˆλ‹€.
    • μ±„νŒ… νšŸμˆ˜μ™€ PEEK ν˜Έμ„ νƒμ„ 받은 횟수λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.





πŸ“šμ‚°μΆœλ¬Ό

πŸ“—μ‹œμŠ€ν…œ ꡬ성도

πŸ“˜ER Diagram


πŸ€ν˜‘μ—…

πŸ”Notion

πŸ”‘Commit Convention

νƒœκ·Έ μ„€λͺ… μ˜ˆμ‹œ
Feat μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€ Feat: 피컀 거리순 μ°ΎκΈ° κΈ°λŠ₯ μΆ”κ°€
Fix 버그 μˆ˜μ • Fix: 거리 지정 λΆˆκ°€ μˆ˜μ •
Build λΉŒλ“œ κ΄€λ ¨ 파일 μˆ˜μ • Build: Docker파일 μˆ˜μ •
Docs λ¬Έμ„œ μΆ”κ°€/μˆ˜μ •/μ‚­μ œ Docs: λ¦¬λ“œλ―Έ μˆ˜μ •
Style μ½”λ“œν˜•μ‹ λ³€κ²½(λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 λ³€κ²½ ❌) Style: 피컀 μ„œλΉ„μŠ€ μ½”λ“œν˜•μ‹ λ³€κ²½
Refactor μ½”λ“œ λ¦¬νŒ©ν† λ§ Refactor: 피컀 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 λ¦¬νŒ©ν† λ§
Test ν…ŒμŠ€νŠΈ Test: νšŒμ›κ°€μž… ν…ŒμŠ€νŠΈ
Chore 기타 변경사항 Chore: 곡백 제거

πŸ”‘Branch

  • develop/be : λ°±μ—”λ“œ ν”„λ‘œμ νŠΈ 배포
  • develop/fe : ν”„λ‘ νŠΈμ—”λ“œ ν”„λ‘œμ νŠΈ 배포
  • feature/be/[κΈ°λŠ₯λͺ…] : λ°±μ—”λ“œ κΈ°λŠ₯ 개발
  • feature/fe/[κΈ°λŠ₯λͺ…] : ν”„λ‘ νŠΈμ—”λ“œ κΈ°λŠ₯ 개발
  • hotfix/be/[κΈ°λŠ₯λͺ…] : κΈ‰ν•œ λ°±μ—”λ“œ μ—λŸ¬ μˆ˜μ •
  • hotfix/fe/[κΈ°λŠ₯λͺ…] : κΈ‰ν•œ ν”„λ‘ νŠΈμ—”λ“œ μ—λŸ¬ μˆ˜μ •

About

πŸ† SSAFY μ΅œμš°μˆ˜μƒ - μ£Όλ³€ μ·¨ν–₯을 λ‘˜λŸ¬λ³΄κ³ ! 골라보고! PEEKPICK πŸ‘€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 34.4%
  • SCSS 31.3%
  • JavaScript 25.4%
  • CSS 8.5%
  • Other 0.4%