Skip to content

πŸ‘— SHOPPING HELPER - 손그림 의λ₯˜ 검색 μ„œλΉ„μŠ€

Notifications You must be signed in to change notification settings

SangBeom-Hahn/shopping-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘— Shopping Helper - μŠ€μΌ€μΉ˜ 기반 μ›ν•˜λŠ” 의λ₯˜ 검색 λ„μš°λ―Έ

Introduction

"Shopping Helper"λŠ” μ›ν•˜λŠ” 의λ₯˜μ— λŒ€ν•œ 검색 ν‚€μ›Œλ“œκ°€ μƒκ°λ‚˜μ§€ μ•Šκ±°λ‚˜ ν‚€μ›Œλ“œ 기반 검색 ν’ˆμ§ˆμ΄ 쒋지 μ•Šμ„ λ•Œ μ‚¬μš©ν•  수 μžˆλŠ” μ„œλΉ„μŠ€μ΄λ‹€. 직접 κ·Έλ¦° 의λ₯˜ μŠ€μΌ€μΉ˜λ₯Ό μ‹€μ‚¬ν™”ν•˜κ³  λ³€ν™˜λœ μ΄λ―Έμ§€λ‘œ μ‹€μ œ μ‡Όν•‘λͺ°μ—μ„œ νŒλ§€ν•˜κ³  μžˆλŠ” μœ μ‚¬ μƒν’ˆμ„ κ²€μƒ‰ν•˜μ—¬, μ‚¬μš©μžμ˜ λ‹ˆμ¦ˆλ₯Ό μ™„λ²½νžˆ λ°˜μ˜ν•œ 검색 κ²½ν—˜μ„ μ œκ³΅ν•œλ‹€.

πŸ—‚οΈ Index

🌈 Demo

검색 κ°€μ΄λ“œ
싀사화 μ„±λŠ₯이 높은 졜적의 채색 방식 κ°€μ΄λ“œ 제곡
4가지 의λ₯˜ μΉ΄ν…Œκ³ λ¦¬ κΈ°λ³Έ λ°‘κ·Έλ¦Ό 제곡
검색 ν”„λ‘œμ„ΈμŠ€ 1 - μˆ˜μ •
개인 μž₯λΉ„μ—μ„œ 의λ₯˜ μŠ€μΌ€μΉ˜ μˆ˜μ •
검색 ν”„λ‘œμ„ΈμŠ€ 2 - 채색
개인 μž₯λΉ„μ—μ„œ μƒ‰κΉ”νŽœμœΌλ‘œ ν¬μΈνŒ…
검색 ν”„λ‘œμ„ΈμŠ€ 3 - μ—…λ‘œλ“œ
κ²€μƒ‰ν•˜κ³  싢은 λ””μžμΈ μŠ€μΌ€μΉ˜ μ—…λ‘œλ“œ
검색 ν”„λ‘œμ„ΈμŠ€ 4 - 검색 κ²°κ³Ό 쑰회
6개의 μ‡Όν•‘λͺ°κ³Ό Bing 검색 엔진 검색 κ²°κ³Ό 쑰회
검색 및 채색 가러리
μžμ‹ μ˜ 채색 및 검색 κ²°κ³Όλ₯Ό κ°€λŸ¬λ¦¬μ— κ³΅μœ ν•˜κΈ°
타 μœ μ € 검색 κ²°κ³Ό 보기

πŸ›  Skills

λ°±μ—”λ“œ

pipe

인프라

pipe

μΆ”λ‘  μ„œλ²„ & 검색 API

pipe

πŸ›οΈ Project Structure

1. μΆ”λ‘  μš”μ²­ νŒŒμ΄ν”„λΌμΈ

pipe

2. μ„œλΉ„μŠ€ μš”μ²­ 흐름도

pipe

3. λΆ„μ‚° ν™˜κ²½ λ©”μ‹œμ§€ 큐 섀계도

pipe

4. 이미지 μš”μ²­ 흐름도

pipe

πŸ’‘ Get Started

1. Prerequisites

Docker Environment

>>> docker -v: 24.0.7
>>> docker-compose -v: v2.23.3-desktop.2

2. Component

2.1 Spring

  • μΆ”λ‘  μš”μ²­μ„ λ°›λŠ” API μ„œλ²„, DBMS에 적재된 μΆ”λ‘  κ²°κ³Όλ₯Ό ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ°˜ν™˜ν•˜λŠ” μ—­ν• 

2.2 Redis

  • μΆ”λ‘  μš”μ²­μ„ κ΄€λ¦¬ν•˜λŠ” Queue
  • CLOTHES μΆ”λ‘  μš”μ²­ Queue 1개둜 의λ₯˜ 4개 μΉ΄ν…Œκ³ λ¦¬(μƒμ˜, ν•˜μ˜, λͺ¨μž, 치마) μš”μ²­μ„ 처리
  • Data Type: Stream

2.3 Mysql (Cloud)

  • μ—…λ‘œλ“œ, μΆ”λ‘  κ²°κ³Ό 정보λ₯Ό μ €μž₯ν•˜λŠ” Store

2.4 Python HTTPServer

  • 파이썬 슀크립트λ₯Ό HTTP μ„œλ²„λ‘œ λ„μš°κΈ° μœ„ν•œ 라이브러리

How to use it

Spring Test

>>> cd shopping-helper\backend
>>> ./gradlew test

>>> open .\build\reports\tests\test\index.html (mac)
>>> start .\build\reports\tests\test\index.html (window)

Application Run

Use Docker

>>> sudo lsof -i :3306
>>> sudo kill PID (Docker Mysql 포트 할당을 μœ„ν•¨)

>>> cd shopping-helper
>>> docker-compose up --build

Use Local IDE

(Spring μ„œλ²„ μ‹€ν–‰ 1-1) ν”„λ‘œν•„ ν™˜κ²½λ³€μˆ˜ μ„€μ •(application.yml)

  • SOURCE_MYSQL_URL = Mysql IP
  • SOURCE_MYSQL_USERNAME = Mysql user name
  • SOURCE_MYSQL_PASSWORD = Mysql νŒ¨μŠ€μ›Œλ“œ
  • SOURCE_REDIS_URL = Redis IP
  • SOURCE_REDIS_PORT = 6379
  • GCS_BUCKET = μŠ€ν† λ¦¬μ§€ 버킷λͺ…
  • GCS_CREDENTIALS = ν”„λ‘œμ νŠΈ κΆŒν•œν‚€
  • GCS_PROJECT_ID = ν”„λ‘œμ νŠΈ ID

(Spring μ„œλ²„ μ‹€ν–‰ 1-2) IntelliJ μ„œλ²„ ON

(Spring μ„œλ²„ μ‹€ν–‰ 2) JAR BUILD & 파일 μ‹€ν–‰

>>> cd backend
>>> java -jar backend-0.0.1-SNAPSHOT.jar \
     -DSOURCE_MYSQL_URL="jdbc:mysql://localhost:3306/SKETCH2FASHIONautoReconnect=true&serverTimezone=Asia/Seoul" \
     -DSOURCE_MYSQL_USERNAME="root" \
     -DSOURCE_MYSQL_PASSWORD="password" \
     -DSOURCE_REDIS_URL="127.0.0.1" \
     -DSOURCE_REDIS_PORT="6379" \
     -DGCS_BUCKET="bucket" \
     -DGCS_CREDENTIALS="key" \
     -DGCS_PROJECT_ID="id" \

(μΆ”λ‘  μ„œλ²„ μ‹€ν–‰ 1-1) TSHIRTS, PANTS, HAT, SKIRT μ„œλ²„ ON

>>> cd ml
>>> pip install -r requirements.txt

>>> python tshirts_worker.py
>>> python pants_worker.py
>>> python hat_worker.py
>>> python skirt_worker.py

Releases

No releases published

Packages

No packages published