Skip to content

🍽️ 빅데이터 기반 노포 μΆ”μ²œ μ„œλΉ„μŠ€ 🍴

Notifications You must be signed in to change notification settings

JonghyunLEE12/WhereIsTheResto

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

🏠그 집 어데고

πŸ₯ˆ μ‚Όμ„± μ²­λ…„ SW 아카데미(SSAFY) νŠΉν™” ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ πŸ₯ˆ


πŸ“Œ ν”„λ‘œμ νŠΈ κ°œμš”

  • λͺ…μΉ­ : 그집 어데고
  • μ†Œκ°œ : COVID-19의 μ—¬νŒŒλ‘œ μ˜μ—…μ˜ 어렀움을 κ²ͺκ³  μžˆλŠ” 노포 μƒκΆŒμ„ ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ MZμ„ΈλŒ€λ₯Ό νƒ€κ²ŸμΈ΅μœΌλ‘œ 맞좀 노포λ₯Ό μΆ”μ²œν•΄μ£ΌλŠ” μ„œλΉ„μŠ€
  • 진행 κΈ°κ°„ : 2022.09.29(μ›”) ~ 2022.10.07(금)
  • UCC : Youtube 링크



πŸ§‘ νŒ€μ› μ†Œκ°œ

νŒ€μž₯ νŒ€μ› νŒ€μ› νŒ€μ›
μ›μ°¬ν˜Έ κΉ€λ―Όμ£Ό κΉ€ν˜„μ—΄ ν—ˆμ„±μ€
FRONTEND BACKEND BACKEND BACKEND
UI/ UX
와이어 ν”„λ ˆμž„ 섀계
기획 및 λ””μžμΈ
AWS 및 CI/CD ꡬ성
νšŒμ› 및 AZTI API
JWT 및 μ†Œμ…œ 둜그인
데이터 크둀링
CBF μΆ”μ²œ μ•Œκ³ λ¦¬μ¦˜
μΆ”μ²œ API
리뷰, 식당 API
CF μΆ”μ²œ μ•Œκ³ λ¦¬μ¦˜
S3 ꡬ좕 및 DB 섀계



πŸ—‚οΈ μ£Όμš” κΈ°λŠ₯

User κ΄€λ ¨

  • μ†Œμ…œ 둜그인(카카였)λ₯Ό μ΄μš©ν•΄ κ°„νŽΈν•˜κ²Œ νšŒμ›κ°€μž…/ 둜그인이 κ°€λŠ₯ν•˜λ‹€.

  • νšŒμ› κ°€μž… μ‹œ μ‚¬μ΄νŠΈ λ‚΄ 자체 μœ ν˜• ν…ŒμŠ€νŠΈ(AZTI)λ₯Ό λ°›μ•„λ³Ό 수 μžˆλ‹€.

  • νšŒμ› 정보 μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€.

  • νšŒμ› κ°€μž… μ‹œ μ§„ν–‰ν•œ AZTI ν…ŒμŠ€νŠΈμ˜ μž¬κ²€μ‚¬κ°€ κ°€λŠ₯ν•˜λ‹€.

  • 마이 νŽ˜μ΄μ§€

    • νšŒμ›μ΄ 'μ’‹μ•„μš”'ν•œ 식당 λͺ©λ‘μ„ μ œκ³΅ν•œλ‹€.

    • νšŒμ›μ΄ 'κ°€λ³Έκ³³'ν•œ 식당 λͺ©λ‘μ„ μ œκ³΅ν•œλ‹€.

    • νšŒμ›μ΄ μž‘μ„±ν•œ 리뷰 λͺ©λ‘μ„ μ œκ³΅ν•œλ‹€.


노포 κ΄€λ ¨

  • 메인 νŽ˜μ΄μ§€

    • 컨텐츠 기반 필터링(CBF)와 ν–‰λ ¬ λΆ„ν•΄(CF) μ•Œκ³ λ¦¬μ¦˜μ„ κ²°ν•©ν•œ 노포 μΆ”μ²œ 리슀트λ₯Ό μ œκ³΅ν•œλ‹€.

    • ν™œλ™ 기둝이 적은 μ‚¬μš©μžμ—κ²ŒλŠ” νšŒμ›κ°€μž… μ‹œ μ§„ν–‰ν–ˆλ˜ AZTI 결과에 따라 CBF μ•Œκ³ λ¦¬μ¦˜ μ΄μš©ν•΄ μΆ”μ²œ 리슀트λ₯Ό μ œκ³΅ν•œλ‹€.

    • μ‚¬μ΄νŠΈ λ‚΄ ν™œλ™ 기둝(μ’‹μ•„μš”)이 μŒ“μ΄λ©΄ CF μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•œ 개인 λ§žμΆ€ν˜• μΆ”μ²œ 리슀트λ₯Ό μ œκ³΅ν•œλ‹€.

  • 상세 νŽ˜μ΄μ§€

    • ν•΄λ‹Ή κ°€κ²Œμ˜ 평균 평점, κ°œμ—… 년도, μ£Όμ†Œ, λŒ€ν‘œ 메뉴 λ“±μ˜ 정보λ₯Ό μ œκ³΅ν•œλ‹€.

    • μ•„μ΄μ½˜μ„ 눌러 'μ’‹μ•„μš”' 등둝과 'κ°€λ³Έκ³³' 등둝을 ν•  수 μžˆλ‹€.

    • KAKAO MAP APIλ₯Ό μ΄μš©ν•΄ κ΅¬ν˜„ν•œ μ§€λ„λ‘œ ν•΄λ‹Ή κ°€κ²Œμ˜ μœ„μΉ˜λ₯Ό μ œκ³΅ν•œλ‹€ .

    • 'μœ μ‚¬ 식당'으둜 μ•„μ΄ν…œ 기반 ν˜‘μ—… 필터링(CF) μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•΄ κ΅¬ν˜„ν•œ ν•΄λ‹Ή 노포와 μœ μ‚¬ν•œ κ°€κ²Œμ˜ μΆ”μ²œ 리슀트λ₯Ό μ œκ³΅ν•œλ‹€.

    • ν•΄λ‹Ή κ°€κ²Œμ— μž‘μ„±λœ 리뷰 λͺ©λ‘μ„ μ œκ³΅ν•œλ‹€. 각 λ¦¬λ·°μ—λŠ” μž‘μ„±μΌ, 평점, λ‚΄μš©, 사진이 ν¬ν•¨λ˜μ–΄ μžˆλ‹€.


Review κ΄€λ ¨

  • 리뷰 μž‘μ„±μ΄ κ°€λŠ₯ν•˜λ‹€. κ°€κ²Œμ— λŒ€ν•œ 평점, λ‚΄μš©, 사진을 첨뢀해 μž‘μ„±ν•  수 μžˆλ‹€.
  • 리뷰 μ‚­μ œμ™€ μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€.



πŸ’» 기술 μŠ€νƒ


πŸ’« Front-end





πŸ’« Back-end





πŸ’« Big-data



πŸ’« CI/CD



πŸ’« Team Collaboration Tool





μ‚¬μš© 방법

  • frontend
npm i

npm run dev
or
npx vite
  • backend
(intelij)
build

run
  • backend-data
python -m venv venv

source venv/Scripts/activate

pip install -r requirements.txt

python manage.py runserver

ν”„λ‘œμ νŠΈ 파일 ꡬ쑰

Back

backend
  β”œβ”€β”€ build 
  β”œβ”€β”€ gradle
  β”œβ”€β”€ out
  β”œβ”€β”€ src
  β”‚   β”œβ”€β”€ main
  β”‚   β”‚   └── generated
  β”‚   β”‚   β”‚   └── com.ssafy.nopo.db.entity
  β”‚   β”‚   └── java
  β”‚   β”‚   β”‚   └── com.ssafy.nopo
  β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ api
  β”‚   β”‚   |   |   β”‚   β”œβ”€β”€ controller
  β”‚   β”‚   |   |   β”‚   β”œβ”€β”€ request
  β”‚   β”‚   |   |   β”‚   β”œβ”€β”€ response
  β”‚   β”‚   |   |   β”‚   └── service
  β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ common
  β”‚   β”‚   |   |   β”‚   └── auth
  β”‚   β”‚   |   |   |   β”‚   β”œβ”€β”€ client
  |   β”‚   β”‚   |   |   β”‚   └── jwt
  β”‚   β”‚   |   |   β”‚   β”œβ”€β”€ exception
  β”‚   β”‚   |   |   β”‚   └── util
  β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ config
  β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ db
  β”‚   β”‚   |   |   β”‚   β”œβ”€β”€ entity
  β”‚   β”‚   |   |   β”‚   └── repository
  β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ NopoApplication
  β”‚   β”‚   └── resources
  β”‚   β”‚   β”‚   └── application.properties
  β”‚   └── test
  β”œβ”€β”€ gitignore
  β”œβ”€β”€ build.gradle
  β”œβ”€β”€ Dockerfile
  β”œβ”€β”€ gradlew
  β”œβ”€β”€ gradlew.bat
  └── settings.gradle

Back-data

backend-data
  β”œβ”€β”€ main
  β”‚   β”œβ”€β”€ migrations
  β”‚   └── template/main
  β”œβ”€β”€ recommend
  β”‚   β”œβ”€β”€ crawling
  β”‚   β”œβ”€β”€ csvfile
  β”‚   β”œβ”€β”€ migrations
  β”‚   β”œβ”€β”€ recom
  |   β”‚   β”œβ”€β”€ cbf.py
  |   β”‚   β”œβ”€β”€ database.py
  |   β”‚   β”œβ”€β”€ knn.py
  |   β”‚   └── test.py
  β”‚   β”œβ”€β”€ admin.py
  β”‚   β”œβ”€β”€ apps.py
  β”‚   β”œβ”€β”€ models.py
  β”‚   β”œβ”€β”€ tests.py
  β”‚   β”œβ”€β”€ urls.py
  β”‚   └── views.py
  β”œβ”€β”€ wherehouse
  β”‚   β”œβ”€β”€ asgi.py
  β”‚   β”œβ”€β”€ settings.py
  β”‚   β”œβ”€β”€ urls.py
  β”‚   └── wsgi.py
  β”œβ”€β”€ gitignore
  β”œβ”€β”€ Dockerfile
  β”œβ”€β”€ manage.py
  β”œβ”€β”€ requirements.txt
  β”œβ”€β”€ gradlew.bat
  └── settings.gradle

Front

FRONTEND
  β”œβ”€β”€ node_modules
  β”œβ”€β”€ public
  └── src
  β”‚   β”œβ”€β”€ api
  |   β”‚   β”œβ”€β”€ api
  |   β”‚   β”œβ”€β”€ index.ts
  |   β”‚   β”œβ”€β”€ reqType.ts
  |   β”‚   β”œβ”€β”€ resType.ts
  |   β”‚   └── settings.ts
  β”‚   β”œβ”€β”€ assets
  β”‚   β”œβ”€β”€ Form
  |   β”‚   β”œβ”€β”€ ReviewComp
  |   β”‚   β”œβ”€β”€ NewReviewForm.tsx
  |   β”‚   └── ReviewForm.tsx
  β”‚   β”œβ”€β”€ needConfirm
  |   β”‚   β”œβ”€β”€ NeedConfirm.tsx
  |   β”‚   β”œβ”€β”€ RestoInfo.tsx
  |   β”‚   └── SearchCompo.tsx
  β”‚   β”œβ”€β”€ pages
  |   β”‚   β”œβ”€β”€ CommonComp
  |   β”‚   β”œβ”€β”€ DetailPage
  |   β”‚   β”œβ”€β”€ MainPage
  |   β”‚   β”œβ”€β”€ MyPage
  |   β”‚   β”œβ”€β”€ SearchPage
  |   β”‚   β”œβ”€β”€ StartPage
  |   β”‚   β”œβ”€β”€ UserComponents
  |   β”‚   β”œβ”€β”€ userStore
  |   β”‚   └── IndexPage.tsx
  β”‚   β”œβ”€β”€ style
  |   |   └── style.css
  β”‚   β”œβ”€β”€ App.css
  β”‚   β”œβ”€β”€ App.tsx
  β”‚   β”œβ”€β”€ index.css
  β”‚   β”œβ”€β”€ main.tsx
  β”‚   β”œβ”€β”€ PrivateRoute.tsx
  β”‚   └── vite-env.d.ts
  β”œβ”€β”€ gitignore
  β”œβ”€β”€ Dockerfile
  β”œβ”€β”€ index.html
  β”œβ”€β”€ package-lock.json
  β”œβ”€β”€ package.json
  β”œβ”€β”€ tsconfig.json
  β”œβ”€β”€ tsconfig.node.json
  └── vite.config.ts
   

ν˜‘μ—… 툴

  • GIt
  • Notion
  • JIRA
  • MatterMost
  • Webex

ν˜‘μ—… ν™˜κ²½

  • Gitlab
    • 버전 관리
    • 이슈 λ°œν–‰ ν•΄κ²°
    • MRμ‹œ, μ½”λ“œ 리뷰λ₯Ό 진행
  • JIRA
    • 맀주 λͺ©ν‘œ λŸ‰μ„ μ„€μ •ν•˜μ—¬ Sprint 진행
    • 업무 ν• λ‹ΉλŸ‰μ„ Story point둜 μ„€μ •ν•˜κ³ , In-progress => Done 순으둜 μž‘μ—…
  • Notion
    • μ•„μΉ¨λ§ˆλ‹€ scrum을 μ§„ν–‰ν•˜κ³  νšŒμ˜κ°€ μžˆμ„ λ•Œλ§ˆλ‹€ νšŒμ˜λ‘μ— 기둝
    • μ»¨λ²€μ…˜ 정리
    • λ¬Έμ„œ 관리

ν”„λ‘œμ νŠΈ μ‚°μΆœλ¬Ό

  • API
  • ERD
  • ν”„λ‘œν† νƒ€μž…
  • μ•„ν‚€ν…μ²˜
  • μ»¨λ²€μ…˜

그집 어데고 ν™”λ©΄

  • 둜그인

둜그인

  • AZTI ν…ŒμŠ€νŠΈ

AZTIν…ŒμŠ€νŠΈ

  • μΉ΄μΉ΄μ˜€ν†‘ κ³΅μœ ν•˜κΈ°

μΉ΄μΉ΄μ˜€ν†‘ κ³΅μœ ν•˜κΈ°

  • λ©”μΈνŽ˜μ΄μ§€

λ©”μΈνŽ˜μ΄μ§€

  • μ¨μΉ˜νŽ˜μ΄μ§€

μ¨μΉ˜νŽ˜μ΄μ§€

  • λ§ˆμ΄νŽ˜μ΄μ§€

λ§ˆμ΄νŽ˜μ΄μ§€

  • μ¨μΉ˜νŽ˜μ΄μ§€ λ””ν…ŒμΌ

μ¨μΉ˜νŽ˜μ΄μ§€ λ””ν…ŒμΌ

  • λ…Έν¬λ””ν…ŒμΌνŽ˜μ΄μ§€

λ…Έν¬λ””ν…ŒμΌνŽ˜μ΄μ§€

  • μ’‹μ•„μš” 등둝 μ·¨μ†Œ

μ’‹μ•„μš” 등둝 μ·¨μ†Œ

  • λ°©λ¬Έν•œ κ³³ 등둝 μ·¨μ†Œ

λ°©λ¬Έν•œκ³³ 등둝 μ·¨μ†Œ

  • 리뷰 μž‘μ„±

리뷰 μž‘μ„±

  • 리뷰 μ‚­μ œ

λ¦¬λ·°μ‚­μ œ

About

🍽️ 빅데이터 기반 노포 μΆ”μ²œ μ„œλΉ„μŠ€ 🍴

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 35.0%
  • Java 34.4%
  • Python 28.6%
  • CSS 1.0%
  • JavaScript 0.3%
  • SCSS 0.3%
  • Other 0.4%