Skip to content

DanKim0213/TooNBTI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

ToonBTI : μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ

λͺ©μ°¨

  1. 간단 μ†Œκ°œ

    1. πŸ’š ν”„λ‘œμ νŠΈ 진행기간
    2. πŸ’› TOONBTI?
    3. πŸ’œ 기술 μŠ€νƒ 및 Version
    4. πŸ’™ ν”„λ‘œμ νŠΈ ꡬ쑰도
  2. ν˜‘μ—…

    1. πŸ’š Ground Rules
    2. 🧑 Git ν™œμš©ν–ˆμ–΄μš”
    3. ❀️ Notion ν™œμš©ν–ˆμ–΄μš”
    4. πŸ’™ νŒ€μ› ꡬ성 및 μ†Œκ°œ
  3. ν”„λ‘œμ νŠΈ

    1. πŸ’š κΈ°νšμ˜λ„
    2. ❀️ 문제점
    3. πŸ’› ν•΄κ²°
    4. πŸ’™ ν”„λ‘œμ νŠΈ μ†Œκ°œ 및 λͺ©μ 
    5. 🧑 ν”„λ‘œμ νŠΈ 기술 μŠ€νƒ
    6. πŸ’œ μ£Όμš” κΈ°λŠ₯을 μ†Œκ°œν•©λ‹ˆλ‹€!
    7. πŸ’š ν”„λ‘œμ νŠΈ μ‹œμ—°ν™”λ©΄
    8. ❀️ 곡정λ₯ 
    9. πŸ’›νšŒκ³ 

1. 간단 μ†Œκ°œ

πŸ’š ν”„λ‘œμ νŠΈ 진행기간

2023/2/17 - 2023/4/7

SSAFY 8κΈ° νŠΉν™” ν”„λ‘œμ νŠΈ

πŸ’› TOONBITI?

λ‚΄κ°€ μ›Ήνˆ° μ†μ˜ 주인곡이라면 λˆ„κ΅¬μΌκΉŒ? μœ ν˜• 검사λ₯Ό 톡해 μ›Ήνˆ° μ†μ˜ λ‚˜λ₯Ό μ°ΎλŠ” μ„œλΉ„μŠ€!

μ›Ήνˆ° λ…μž μœ ν˜• 검사λ₯Ό 톡해 주인곡인 λ‚˜λ₯Ό λ°œκ²¬ν•˜κ³ , μ·¨ν–₯에 λ§žλŠ” μ›Ήνˆ°μ„ μΆ”μ²œ λ°›μž.

πŸ’œ 기술 μŠ€νƒ 및 Version

 # Backend
 development tool : Intellij IDEA 2022.3.2
 spring boot : 2.7.7
 gradle : 7.6
 jdk : zulu-11
 my sql : 8.0.31
 graphQL
 lombok
 Spring Data JPA
 Spring Security
 Spring Web
 # Frontend
 development tool : Visual Studio Code
 npm
 node.js : 18.15
 React 18
 react-router : v6.
 graphql : 16.6
 typescript : 4.9
 styled-components : 5.3
 # CI/CD
 AWS EC2
 Jenkins
 NGINX
 Docker
 # κ·Έ μ™Έ ν˜‘μ—…νˆ΄
 Git, source tree - 브랜치 μ „λž΅μ„ 톡해 κΈ°λŠ₯ 뢄리
 Notion - 전체적인 회의 κ΄€ν•  및 λͺ¨λ“  λ©”λͺ¨
 JIRA - μ£Όλ‹¨μœ„ λͺ©ν‘œλŸ‰ μ„€μ • 및 할일 λ°°λΆ„
 Slack - λΉŒλ“œ μ†Œμ‹ ν™•μΈμš©

πŸ’™ ν”„λ‘œμ νŠΈ ꡬ쑰도

# B.E.
toonbti
  β”œβ”€β”€ global
  β”‚   β”œβ”€β”€ config
  β”œβ”€β”€ resouces
  β”‚   β”œβ”€β”€ graphql.schema
  β”œβ”€β”€ domain
  β”‚   β”œβ”€β”€ controller
  β”‚   β”œβ”€β”€ model
  β”‚   β”‚   β”œβ”€β”€ dto
  β”‚   β”‚   β”œβ”€β”€ entity
  β”‚   β”‚   β”œβ”€β”€ repository
  └── └── └── service

F.E

# F.E.
toonbti
  β”œβ”€β”€ public
  β”‚   └── index
  β”œβ”€β”€ src
  β”‚   β”œβ”€β”€ assets
  β”‚   β”œβ”€β”€ components
  β”‚   β”œβ”€β”€ pages
  β”‚   β”œβ”€β”€ App
  β”‚   β”œβ”€β”€ index
  β”‚   β”œβ”€β”€ types
  β”‚   └── config
  └── package

2. ν˜‘μ—…

πŸ’š Ground Rules

  1. 맀주 μ›”μš”μΌ μ•„μΉ¨ 감사 μΈμ‚¬ν•˜κΈ°
  2. 맀일 μ˜€μ „/μ˜€ν›„ Daily Scrum Meeting ν•˜κΈ° (였늘 ν•  일, 였늘 ν•œ 일 곡유)
  3. 화내지 μ•ŠκΈ°βŒ μ§œμ¦λ‚΄μ§€ μ•ŠκΈ°βŒ
  4. 의견 κ³΅μœ λŠ” μ˜€ν”ˆ λ§ˆμΈλ“œλ‘œ 받아듀이기
  5. λ‹ˆκ²ƒ 내것 λ‚˜λˆ„μ§€ 말고 μš°λ¦¬λŠ” νŒ€μ΄λΌλŠ” κ±Έ μ•Œμ•„μ£Όμ„Έμš”πŸ˜
  6. νŒ€μ›μ„ λ―Ώμ§€λ§Œ μ½”λ“œλŠ” ν•œ 번 더 ν™•μΈν•˜κΈ° (MR ν›„ μ½”λ“œ 리뷰)
  7. μž¬μ±„κΈ°ν•˜λ©΄ Bless you~! ν•΄μ£ΌκΈ°πŸ€§

🧑 Git ν™œμš©ν–ˆμ–΄μš”

Requisite

  • Github flowλ₯Ό μ€€μˆ˜ν•©λ‹ˆλ‹€
  • μ›ν™œν•œ κ°œλ°œμ„ μœ„ν•΄ Gitlab Issue탭을 적극 ν™œμš©ν•΄μ£Όμ„Έμš”
  • μž‘μ—…μ„ λ§ˆμΉ˜κ³ λ‚˜μ„œ feature 브랜치λ₯Ό 일일히 rebaseν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.
    • ν•˜λ£¨ 이상 μ§€λ‚œ feature branch의 κ²½μš°μ—λŠ” 아침에 λ°˜λ“œμ‹œ rebase ν•΄μ£Όμ„Έμš”
    • gitlabμ—μ„œ μ•Œμ•„μ„œ rebase ν•΄μ€λ‹ˆλ‹€
  • main, frontend, backend에 pushν•  수 μ—†μŠ΅λ‹ˆλ‹€ (maintainers μ œμ™Έ)
  • main, frontend, backend에 force-pushν•  수 μ—†μŠ΅λ‹ˆλ‹€

Develop - Todo

  1. Gitlab에 issueλ₯Ό λ“±λ‘ν•©λ‹ˆλ‹€
    • μƒˆλ‘œμš΄ κΈ°λŠ₯일 경우, "enhancement" label을 λ‹¬μ•„μ£Όμ„Έμš”
    • 이미 λ‹«νžŒ 이슈λ₯Ό 보완 및 μˆ˜μ •ν•΄μ•Όν•  경우, "duplicate" label을 λ‹¬μ•„μ£Όμ„Έμš”
  2. λ“±λ‘ν•œ issueμ—μ„œ 브랜치λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€
  3. issueνƒ­μ—μ„œ μƒμ„±ν•œ 브랜치둜 μž‘μ—…ν•©λ‹ˆλ‹€

Develop - In progress

  1. ν•΄λ‹Ή μ΄μŠˆμ—μ„œ μž‘μ—… 쀑 μœ μš©ν•œ λ ˆνΌλŸ°μŠ€λ‚˜ 기술적 쑰언은 comment둜 λ‹¬μ•„μ£Όμ„Έμš”
  2. μ½”λ“œλ¦¬λ·°κ°€ ν•„μš”μ‹œ MR(Merge Request)둜 λ§Œλ“€μ–΄μ£Όμ„Έμš”
    • "help wanted" label을 λ‹¬μ•„μ£Όμ„Έμš”
  3. commit
    • .gitignore에 staged ν•  ν•„μš”μ—†λŠ” νŒŒμΌλ“€μ„ λ“±λ‘ν•΄μ£Όμ„Έμš”
    • gitmessage.txt에 commit message template을 μ°Έκ³ ν•©λ‹ˆλ‹€
    • git add . && git commit

Develop - Done

  1. μž‘μ—…μ„ μ™„λ£Œν–ˆλ‹€λ©΄ μž‘μ—…λΈŒλžœμΉ˜λ₯Ό ν‘Έμ‹œν•΄μ£Όμ„Έμš”
  2. Gitlabμ—μ„œ MR을 μƒμ„±ν•©λ‹ˆλ‹€
    • Source branch (feature-branch) into Target branch (frontend or backend)
  3. 리뷰 후에 Rebase 및 Merge ν•©λ‹ˆλ‹€

Reference

πŸ’™ νŒ€μ› ꡬ성 및 μ†Œκ°œ

❀️ νŒ€μ› μ—­ν• 

κΉ€νƒœμ›

  • graphql을 λ°±μ—”λ“œμ™€ ν”„λ‘ νŠΈμ—”λ“œμ— λ„μž… 및 graphql-codegen을 ν™œμš©ν•˜μ—¬ μ„€μ •
  • Intersection Observerλ₯Ό ν™œμš©ν•˜μ—¬ λ¬΄ν•œ 슀크둀 κΈ°λŠ₯을 μ›Ήνˆ° λͺ©λ‘ νŽ˜μ΄μ§€μ— 적용
  • μ·¨ν–₯ ν…ŒμŠ€νŠΈ νŽ˜μ΄μ§€μ—μ„œ μ—°κ΄€ μ›Ήνˆ° μ•„μ΄ν…œμ„ λΆˆλŸ¬μ˜¬λ•Œ, μ€‘λ³΅λœ μ›Ήνˆ°μ„ Map μžλ£Œν˜•μ„ μ‚¬μš©ν•˜μ—¬ κ±°λ₯΄κΈ°
  • TypeScriptλ₯Ό ν”„λ‘ νŠΈμ—”λ“œμ— μ μš©ν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈλ³„ propstype 및 graphql APIμ—μ„œ λΉ λ₯Έ 디버깅과 ν˜‘μ—…μ— μ•ˆμ •μ„±μ„ 좔ꡬ
  • Github flowλ₯Ό λ„μž…ν•˜μ—¬ νŒ€ ν”„λ‘œμ νŠΈ μ½”λ“œκ΄€λ¦¬λ₯Ό 도맑아 진행

λ…Έν˜„μ •

  • Apollo Clinetλ₯Ό μ‚¬μš©ν•˜μ—¬ GraphQL API 호좜 및 톡신
  • ChartJsλ₯Ό ν™œμš©ν•œ 데이터 μ‹œκ°ν™”
  • μ»΄ν¬λ„ŒνŠΈ μž¬μ‚¬μš©μ„± 증진을 μœ„ν•œ μ»΄ν¬λ„ŒνŠΈ 곡톡화
  • Styled-components의 Themeprovider을 ν™œμš©ν•œ 곡톡 μŠ€νƒ€μΌ 속성 관리
  • λ””μžμΈ QA 및 μˆ˜μ •

μœ€μ§€μ˜

  • 전체적 λ””μžμΈ : ν”Όκ·Έλ§ˆ μž‘μ„± 및 Styled-Componentλ₯Ό μ΄μš©ν•˜μ—¬ 전체적 λ””μžμΈ ꡬ성
  • λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ νŽ˜μ΄μ§€ : μœ ν˜• ν…ŒμŠ€νŠΈ 섀계 및 μœ ν˜•λ³„ μ„€λͺ… 기획 및 useStateλ₯Ό μ΄μš©ν•˜μ—¬ μœ ν˜•ν…ŒμŠ€νŠΈ ν™”λ©΄ κ΅¬ν˜„
  • λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ κ²°κ³Ό νŽ˜μ΄μ§€ : ν•΄λ‹Ήν•˜λŠ” λ…μž μœ ν˜•κ³Ό λ‚˜μ™€ 잘 λ§žλŠ” μœ ν˜•, κ°€μž₯ λ§Žμ€ μœ ν˜• λ“± κ΅¬ν˜„
  • 전체 μœ ν˜• 보기 : 각 μœ ν˜•λ³„ κ²°κ³Ό λͺ¨λ‹¬λ‘œ 확인 κ°€λŠ₯ν•˜λ„λ‘ κ΅¬ν˜„
  • μΉ΄μΉ΄μ˜€ν†‘ APIλ₯Ό ν™œμš©ν•œ κ³΅μœ ν•˜κΈ° κΈ°λŠ₯ κ΅¬ν˜„
  • μ·¨ν–₯ 뢄석 κ²°κ³Ό νŽ˜μ΄μ§€ : μœ ν˜•λ³„ λ…μž 맞좀 μΆ”μ²œ μ›Ήνˆ° 리슀트 κ΅¬ν˜„ 및 Api μ—°κ²°

κΆŒμ„±μ€

  • Java 및 Springbootλ₯Ό ν™œμš©ν•œ GraphQL API κ΅¬ν˜„
  • Docker 및 Jenkinsλ₯Ό ν™œμš©ν•œ CI/CD ꡬ좕
  • AWS EC2 및 Nginx μ„œλ²„ 관리
  • python 데이터 μˆ˜μ§‘ 및 μ „μ²˜λ¦¬
  • MySQL DB 섀계
  • ν¬νŒ… 메뉴얼 λ¬Έμ„œν™”

κΉ€μ§„ν˜Έ

  • BeautifulSoup, Selenium 라이브러리λ₯Ό ν™œμš©ν•œ μ›Ήνˆ° 데이터 μžλ™ 크둀링
  • Django와 Pandas, Cosine 라이브러리λ₯Ό ν™œμš©ν•œ μ›Ήνˆ° μΆ”μ²œ μ•Œκ³ λ¦¬μ¦˜ ꡬ좕
  • Djangoμ—μ„œ Graphql을 ν™œμš©ν•œ API 섀계

μ „μ£Όμ˜

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ„€κ³„ν•˜κ³  관리
  • ν¬λ‘€λ§ν•œ 데이터λ₯Ό νŒŒμ΄μ¬μ„ μ΄μš©ν•΄ μ „μ²˜λ¦¬
  • μ „μ²˜λ¦¬ν•œ 데이터λ₯Ό λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯
  • notion, google Driveλ₯Ό ν™œμš©ν•΄μ„œ μ‚°μΆœλ¬Ό 정리

3. ν”„λ‘œμ νŠΈ

πŸ’š κΈ°νšμ˜λ„

μ›Ήνˆ°μ„ μ’‹μ•„ν•˜λŠ” μ‚¬λžŒλ“€μ—κ²Œ ν†΅ν•©μ μœΌλ‘œ μ›Ήνˆ°μ„ μΆ”μ²œν•΄μ€„λ§Œν•œ μ‚¬μ΄νŠΈκ°€ ν•„μš”ν•˜λ‹€. λŒ€ν˜• μ›Ήνˆ° μ‚¬μ΄νŠΈ, 예λ₯Όλ“€μ–΄ 넀이버 μ›Ήνˆ°μ΄λ‚˜ 카카였 νŽ˜μ΄μ§€, 같은 κ³³μ—μ„œλŠ” 같은 ν”Œλž«νΌμ˜ μ›Ήνˆ°λ§Œμ„ μΆ”μ²œν•΄μ€„ λΏμ΄μ—ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ°μœ„ν•΄ ToonBTIλ₯Ό κΈ°νšν•˜μ˜€λ‹€.

❀️ 문제점

μ›Ήνˆ° μΆ”μ²œ μ„œλΉ„μŠ€λŠ”

  • μ›Ήνˆ°μ„ μΆ”μ²œ μ„œλΉ„μŠ€λ‘œ μ‚¬λžŒλ“€μ„ 묢어놓을 수 μ—†λ‹€. (자체 μ½˜ν…μΈ κ°€ μ—†μœΌλ‹ˆ)
  • 넀이버 μ›Ήνˆ° 및 카카였 νŽ˜μ΄μ§€ 내에 자체적인 μ›Ήνˆ° μΆ”μ²œ μ„œλΉ„μŠ€κ°€ μžˆλ‹€.

πŸ’› ν•΄κ²°

TooNBTI μ„œλΉ„μŠ€λ₯Ό μƒκ°ν–ˆλ‹€.

  • μ‚¬μš©μžλ“€μ„ 묢어놓을 포인트 -> κ²Œμž„μ„± + 곡유
  • 자체 μ›Ήνˆ° μΆ”μ²œ -> 자체 섀문쑰사λ₯Ό 톡해 λΉ…λ°μ΄ν„°λ‘œ λ‚˜μ—κ²Œ λ§žλŠ” μ›Ήνˆ° μΆ”μ²œ

πŸ’™ ν”„λ‘œμ νŠΈ μ†Œκ°œ 및 λͺ©μ 

  1. μ›Ήνˆ° λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ

    • 섀문쑰사 -> λ…μž μœ ν˜•
    • Light / Heavy
    • Strong / Weak
    • Romance / Event
    • Alone / Together
  2. μ›Ήνˆ° μ·¨ν–₯ 뢄석 μ„œλΉ„μŠ€

    • 재밌게 읽은 μ›Ήνˆ° 선택 -> μ„ νƒλœ μ›Ήνˆ° 기반 μ·¨ν–₯ 뢄석 -> μ·¨ν–₯에 λ§žλŠ” μ›Ήνˆ° μΆ”μ²œ

🧑 ν”„λ‘œμ νŠΈ 기술 μŠ€νƒ

tech stack

πŸ’œ μ£Όμš” κΈ°λŠ₯을 μ†Œκ°œν•©λ‹ˆλ‹€!

1️. μ›Ήνˆ° λ…μž μœ ν˜• 검사

  • μ„ΈλΆ„ν™”λœ 16가지 μœ ν˜• 쀑 μžμ‹ μ˜ μœ ν˜•μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μœ ν˜•λ³„ μ„ ν˜Έ μ›Ήνˆ°μ„ μΆ”μ²œν•©λ‹ˆλ‹€
  • μ‚¬μš©μž 기반 μΆ”μ²œ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 데이터 μ–‘κ³Ό λΉ„λ‘€ν•΄μ„œ 질 쒋은 μΆ”μ²œμ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€

2️. μ›Ήνˆ° μ·¨ν–₯ 뢄석 검사

  • μ‚¬μš©μžκ°€ 읽은 μ›Ήνˆ°μ„ 뢄석해 μ›Ήνˆ°μ„ μΆ”μ²œν•©λ‹ˆλ‹€
  • μ›Ήνˆ°μ„ μ„ νƒν•˜λ©΄ λΉ„μŠ·ν•œ μž‘ν’ˆλ“€λ‘œ 리슀트 μ—…λ°μ΄νŠΈλ˜μ–΄ κΈ°μ–΅ν•˜μ§€ λͺ»ν•œ μ›Ήνˆ°κΉŒμ§€ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€
  • μž‘κ°€, μž‘ν’ˆλͺ…μœΌλ‘œ ν‚€μ›Œλ“œ 검색이 κ°€λŠ₯ν•©λ‹ˆλ‹€

3️. κ³΅μœ ν•˜κΈ°

  • 검사 κ²°κ³Όλ₯Ό μΉ΄μΉ΄μ˜€ν†‘μ΄λ‚˜ 링크둜 κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€

πŸ’š ν”„λ‘œμ νŠΈ μ‹œμ—°ν™”λ©΄

  • λͺ©μ°¨
  1. μ‹œμž‘ νŽ˜μ΄μ§€ 및 λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ νŽ˜μ΄μ§€
  2. λ…μž μœ ν˜• κ²°κ³Ό νŽ˜μ΄μ§€
  3. 전체 μœ ν˜• μˆœμœ„ νŽ˜μ΄μ§€
  4. κ³΅μœ ν•˜κΈ° κΈ°λŠ₯
  5. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - μž‘ν’ˆ 선택 및 μΆ”κ°€
  6. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - 검색을 ν†΅ν•œ 선택
  7. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - λ¬΄ν•œ 슀크둀 κΈ°λŠ₯
  8. μ·¨ν–₯ 뢄석 κ²°κ³Ό νŽ˜μ΄μ§€

  1. μ‹œμž‘ νŽ˜μ΄μ§€ 및 λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ νŽ˜μ΄μ§€
  • μ„œλΉ„μŠ€μ— μ ‘μ†ν•˜μ—¬ λ…μž μœ ν˜• ν…ŒμŠ€νŠΈ 진행 κ°€λŠ₯



  1. λ…μž μœ ν˜• κ²°κ³Ό νŽ˜μ΄μ§€
  • λ…μž μœ ν˜• ν…ŒμŠ€νŠΈμ— λ”°λ₯Έ κ²°κ³Ό 확인 κ°€λŠ₯



  1. 전체 μœ ν˜• μˆœμœ„ νŽ˜μ΄μ§€
  • 각 μœ ν˜•μ„ λˆ„λ₯΄λ©΄ λͺ¨λ‹¬μ°½μ„ 톡해 μœ ν˜•λ³„ μ„€λͺ… μΆ”κ°€ 확인

  • κ°€λŠ₯ κ°€μž₯ 많이 λ‚˜μ˜¨ μœ ν˜•μˆœμœΌλ‘œ λ°°μ—΄

  • λ…μž μœ ν˜• κΈ°μ€€ μ„€λͺ…



  1. κ³΅μœ ν•˜κΈ° κΈ°λŠ₯
  • 쒌츑 URL λ²„νŠΌ 클릭 μ‹œ ν΄λ¦½λ³΄λ“œμ— ν•΄λ‹Ή κ²°κ³Ό νŽ˜μ΄μ§€ URL λ³΅μ‚¬λ‘œ 직접 곡유 κ°€λŠ₯

  • 우츑 μΉ΄μΉ΄μ˜€ν†‘ κ³΅μœ ν•˜κΈ° λ²„νŠΌ 클릭 μ‹œ μΉ΄μΉ΄μ˜€ν†‘ API 연결을 톡해 κ³΅μœ ν•˜κΈ° μ‹€ν–‰



  1. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - μž‘ν’ˆ 선택 및 μΆ”κ°€
  • 미리 λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 μ›Ήνˆ°λ“€μ„ 전체 μœ μ €μ—κ²Œ μ„ ν˜Έλ„κ°€ λ†’μ•˜λ˜ 순으둜 λ…ΈμΆœ

  • μžμ‹ μ΄ 재미있게 봀던 μ›Ήνˆ°μ„ 클릭 μ‹œ 그와 κ΄€λ ¨λœ μž₯λ₯΄μ˜ μž‘ν’ˆμ΄ μ΅œλŒ€ 3κ°œκΉŒμ§€ λͺ©λ‘μ— 좔가됨



  1. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - 검색을 ν†΅ν•œ 선택
  • μ›ν•˜λŠ” μž‘ν’ˆμ΄ λ¦¬μŠ€νŠΈμ—μ„œ μ°ΎκΈ° μ–΄λ €μšΈ 경우 μœ„μ˜ 검색창을 톡해 μž‘ν’ˆλͺ…κ³Ό μž‘κ°€λͺ…μœΌλ‘œ 검색이 κ°€λŠ₯함



  1. μ›Ήνˆ° μ·¨ν–₯ 뢄석 ν…ŒμŠ€νŠΈ - λ¬΄ν•œ 슀크둀 κΈ°λŠ₯
  • 초기 주어진 μ›Ήνˆ° λ¦¬μŠ€νŠΈκ°€ λκΉŒμ§€ λ„λ‹¬λ˜μ—ˆμ„ λ•Œ, μΆ”κ°€μ μœΌλ‘œ 리슀트λ₯Ό ν˜ΈμΆœν•˜μ—¬ μΆ”κ°€



  1. μ·¨ν–₯ 뢄석 κ²°κ³Ό νŽ˜μ΄μ§€
  • μ•žμ—μ„œ μ„ νƒλœ μ›Ήνˆ°λ“€μ„ 기반으둜 μ·¨ν–₯을 λΆ„μ„ν•΄μ£ΌλŠ” νŽ˜μ΄μ§€

  • μ½μ—ˆλ‹€κ³  μ²΄ν¬ν•œ μ›Ήνˆ°μ˜ 수λ₯Ό κΈ°μ€€μœΌλ‘œ μƒμœ„ λͺ‡ %인지 확인

  • μ„ ν˜Έ ν”Œλž«νΌ, μž₯λ₯΄, μ™„κ²°μž‘ μ„ ν˜Έ μ—¬λΆ€ 등을 μš”μ•½ν•˜μ—¬ 좜λ ₯

  • 동일 μœ ν˜•μ˜ λ…μžλ“€μ΄ μ’‹μ•„ν•˜λŠ” μž‘ν’ˆμ„ μ™„κ²°μž‘, λ―Έμ™„κ²°μž‘μœΌλ‘œ λ‚˜λˆ„μ–΄ μΆ”μ²œ

  • μ‚¬μš©μžκ°€ μ¦κ²¨λ³΄λŠ” ν‚€μ›Œλ“œ 뢄석 및 ν•΄λ‹Ή ν‚€μ›Œλ“œλ₯Ό ν†΅ν•œ μΆ”μ²œμž‘ 확인 κ°€λŠ₯

  • μ‚¬μš©μžκ°€ μ„ ν˜Έν•œ μž₯λ₯΄μ˜ λŒ€ν‘œ μž‘κ°€ μΆ”μ²œ



❀️ 곡정λ₯ 

  • λ°±μ—”λ“œ 기획 API 24 개 쀑 18개 μ™„λ£Œ (75%)
  • ν”„λ‘ νŠΈμ—”λ“œ 기획 κΈ°λŠ₯ 46개 쀑 32개 μ™„λ£Œ (70%)

πŸ’› 회고

  • κΆŒμ„±μ€: 도메인 λ‚΄μ—μ„œ 주제λ₯Ό μ •ν•˜λŠ” 것이 μ–΄λ €μ›Œ κΈ°νšμ— μ‹œκ°„μ„ 많이 μŸμ•˜κ³ , 이둜 인해 개발 μ‹œκ°„μ΄ λΆ€μ‘±ν–ˆλ‹€. λ˜ν•œ νŒ€μ›μ˜ μ—­λŸ‰ 차이둜 μž‘μ—… 뢄배에 어렀움이 μžˆμ—ˆλ‹€. ν•˜μ§€λ§Œ νŒ€μ›λ“€μ˜ 꺾이지 μ•ŠλŠ” 마음과 μ½”μΉ˜λ‹˜λ“€μ˜ 열정적인 λ„μ›€μœΌλ‘œ ν”„λ‘œμ νŠΈλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œν•  수 μžˆμ—ˆλ‹€.
  • κΉ€μ§„ν˜Έ: νŒ€ μ˜μ‚¬κ²°μ • 방식을 μž¬κ³ ν•΄ λ³Ό 수 μžˆλŠ” 쒋은 κ²½ν—˜μ΄μ—ˆλ‹€. 열정적인 ν† μ˜κ°€ μ΄λ£¨μ–΄μ§„λ‹€ν•˜λ”λΌλ„ μ†Œμˆ˜μ˜ κ²°μ •κΆŒμžκ°€ μžˆμ–΄μ•Ό λΉ λ₯Έ ν”„λ‘œμ νŠΈ 진행이 κ°€λŠ₯ν•˜λ‹€λŠ” 것을 λ°°μ› λ‹€.
  • μ „μ£Όμ˜: ν”„λ‘œμ νŠΈ 기간에 절반 κ°€κΉŒμ΄ κΈ°νšμ„ νˆ¬μžν–‡κ³  남은 μ‹œκ°„ μ•ˆμ— κ°œλ°œν•˜λ‹€ λ³΄λ‹ˆ 기획 κ·ΈλŒ€λ‘œ κ΅¬ν˜„ν•˜κΈ° μ–΄λ €μ› μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ νŒ€μ›λ“€κ³Ό 일심동체 μƒλΆ€μƒμ‘°ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό 끝마칠 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
  • λ…Έν˜„μ •: 기획의 μ€‘μš”μ„±μ„ λ‹€μ‹œ ν•œλ²ˆ λ˜μƒˆκΈΈ 수 μžˆμ—ˆλ‹€. μ„œλΉ„μŠ€μ˜ λ°©ν–₯μ΄λ‚˜ 아이디어λ₯Ό λ‚˜ μžμ‹ μ„ 섀득할 수 μ—†λŠ”λ° μ‚¬μš©μžλ₯Ό μ„€λ“ν•˜λŠ” 것은 λΆˆκ°€λŠ₯ν•  것이닀. μ‚¬μš©μžκ°€ μ™œ 이 μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν• κΉŒλ₯Ό λ¨Όμ € 생각해보아야겠닀.
  • μœ€μ§€μ˜: λΉ λ₯΄κ³  νƒ„νƒ„ν•œ 기획 단계와 κΌΌκΌΌν•œ 일정 κ΄€λ¦¬μ˜ μ€‘μš”μ„±μ„ λŠλ‚„ 수 μžˆμ—ˆκ³ , 쀑간쀑간 남은 일을 계속 μ²΄ν¬ν•˜λ©° 진행해야 ν•œλ‹€λŠ” 것을 μ ˆμ‹€νžˆ κΉ¨λ‹¬μ•˜λ‹€. λ„ˆλ¬΄ λ§Žμ€ κ°ˆμ•„μ—ŽκΈ°μ™€ λ¬΄μˆ˜ν•œ 였λ₯˜ λ°œμƒμœΌλ‘œ 진이 λΉ μ‘Œμ§€λ§Œ μ™„μ£Όν–ˆλ‹€λŠ” 것이 λΏŒλ“―ν•˜λ‹€.
  • κΉ€νƒœμ›: 6μ£ΌλΌλŠ” 기간에 μ ν•©ν•œ ν”„λ‘œμ νŠΈ 규λͺ¨μ— λŒ€ν•΄ μž¬κ³ ν•  수 μžˆμ—ˆκ³ , μš°μ„ μˆœμœ„λ₯Ό μ •ν•΄ 개발 일정을 μ‘°μœ¨ν•˜λŠ” κ²½ν—˜μ„ ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 맀일 μ•„μΉ¨ 슀크럼 λ―ΈνŒ…μœΌλ‘œ μ†Œν†΅ν•˜λ©° ν”„λ‘œμ νŠΈλ₯Ό 끝마칠 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.