/SMOPS-BE

Selling My Oil Paintings Service

Primary LanguagePython

image

πŸ¦‰ SMOPS (Selling My Oil Paintings Service)

  • λ‚˜λ§Œμ˜ μœ ν™”λ₯Ό λ§Œλ“€μ–΄ νŒλ§€ν•˜κ±°λ‚˜ ꡬ맀할 수 μžˆλŠ” μ›Ή μ„œλΉ„μŠ€

🐼 Introduction

  • 주제 : μœ ν™” μ œμž‘ 및 판맀 μ‚¬μ΄νŠΈ
  • κΈ°κ°„ : 2022.06.28 (ν™”) ~ 2022.07.06 (수)
  • Team : κΉ€μ„ λ―Ό (Github), κΉ€λ―ΌκΈ° (Github), λ°•μž¬ν˜„ (Github), ν™©μ‹ ν˜œ (Github)

πŸ“š Project Structure

image


🀝 Project-Rules

Scheduling & API

Branch Info

  • main : LocalHost μ‹€ν–‰ branch
  • publish : EC2 Hosting μ‹€ν–‰ Branch

Repository Info

Figma Mock-up

image

DB Modeling

image


πŸ‘‰ Getting-Started

## FrontEnd Settings
$ git clone https://github.com/SeonminKim1/SMOPS-FE
$ cd SMOPS-FE/
- Install vscode extensions : Live Server 
- Run Live Server

## Backend Settings
$ git clone https://github.com/SeonminKim1/SMOPS-BE
$ cd SMOPS-BE/
$ pip install -r requirements.txt

- Make 'my_settings.py' from 'ex_my_settings.py
$ python manage.py makemigrations
$ python manage.py migrations
$ python manage.py runserver

# if you apply code convention by black & isort
$ python auto_cleancode.py

πŸ‘‰ Structure

β”Œβ”€smops
β”œβ”€β”€ smops               // project
β”‚   β”œβ”€β”€ urls.py       
β”‚   β”œβ”€β”€ settings.py     // setting
β”‚   └── ...
β”œβ”€β”€ art                 // app
β”‚   β”œβ”€β”€ models.py       // DB Model - User
β”‚   β”œβ”€β”€ views.py        // View Functions
β”‚   β”œβ”€β”€ serializers.py  // Serializers
β”‚   └── ...
β”œβ”€β”€ mygallery           // app
β”‚   β”œβ”€β”€ models.py       // DB Model - Restaurant, Category
β”‚   β”œβ”€β”€ views.py        // View Functions
β”‚   β”œβ”€β”€ serializers.py  // Serializers
β”‚   └── ...
β”œβ”€β”€ ai                  // app + ai GAN
β”‚   β”œβ”€β”€ service/        // AI Style Transfer 
β”‚   β”œβ”€β”€ models.py       // DB Model - Star 
β”‚   β”œβ”€β”€ views.py        // View Functions
β”‚   β”œβ”€β”€ upload.py       // AWS S3 Upload Code 
β”‚   β”œβ”€β”€ serializers.py  // Serializers
β”‚   └── ...
β”œβ”€β”€ user                // app
β”‚   β”œβ”€β”€ models.py       // DB Model - Diary
β”‚   β”œβ”€β”€ views.py        // View Functions
β”‚   β”œβ”€β”€ serializers.py  // Serializers
β”‚   └── ...
β”œβ”€β”€ media 
β”‚   └── test_img/       // test img    
β”‚
β”œβ”€β”€ **manage.py**           // 메인
└── requirements.txt

πŸ’» Development

πŸ‘‰ Login/Join Page

  • νšŒμ›κ°€μž… vaildation
  • 둜그인 JWT Token λΆ€μ—¬
  • image

πŸ‘‰ μœ ν™” 메인 νŽ˜μ΄μ§€

  • μœ ν™” μΉ΄ν…Œκ³ λ¦¬ 별 쑰회 : 인물화, 풍경화, μ •λ¬Όν™”, 동물화
  • μœ ν™” 필터링 별 쑰회
    • (1) μ •λ ¬ : 등둝일, 가격 λ“±
    • (2) 가격 λ²”μœ„ : ~10λ§Œμ›, ~30λ§Œμ›
    • (3) κ·Έλ¦Όν˜•νƒœ
  • μœ ν™” μ•„ν‹°μŠ€νŠΈ 검색 image

πŸ‘‰ μœ ν™” 상세 νŽ˜μ΄μ§€

  • μœ ν™” 정보 쑰회
  • μœ ν™” 둜그 쑰회 (νžˆμŠ€ν† λ¦¬)
  • μœ ν™” ꡬ맀 ν•˜κΈ°
  • μ‹œμ—° ν™”λ©΄ image

마이 가러리 νŽ˜μ΄μ§€

  • 보유 쀑인 λ‚΄ μœ ν™” 쑰회
  • μœ ν™” 판맀 μƒνƒœλ‘œ μ—…λ°μ΄νŠΈ / μ‚­μ œ
  • μœ ν™” 둜그 쑰회 (νžˆμŠ€ν† λ¦¬)
  • μ‹œμ—° ν™”λ©΄ image

μœ ν™” λ§Œλ“€κΈ° νŽ˜μ΄μ§€ (AI)

  • Base 이미지, Style 이미지 μ—…λ‘œλ“œ
  • StyleGAN λͺ¨λΈ ν•™μŠ΅ (RUN λ²„νŠΌ)
  • ν•™μŠ΅ κ²°κ³Ό λ‚΄ μœ ν™”λ‘œ 등둝
  • μ‹œμ—° ν™”λ©΄ image

AWS Infra

  • AWS EC2 μ΄μš©ν•œ μ™ΈλΆ€ Publish 배포
  • AWS S3 User 이미지 μ—…λ‘œλ“œ 및 정적 파일 관리
  • AWS IAM λΆ€μ—¬ν•˜μ—¬ Infra Team 곡동 관리

πŸ›‘ Trouble Shooting

⚑ 문제 λ°œμƒ

  • 각자 파트λ₯Ό λ‚˜λˆ μ„œ μž‘μ—…μ„ ν•˜λ˜ 도쀑, μœ ν™”μ œμž‘ λ‹΄λ‹Ήκ³Ό λ°±μ—”λ“œ 담당이 ν•¨κ»˜ μž‘μ—…μ„ ν•΄μ•Όν•˜λŠ” 뢀뢄이 생김

⚑ 문제 원인

  • ν”„λ‘ νŠΈ λ‹¨μ—μ„œ 이미지λ₯Ό μ„ νƒν•œ λ’€ 두 이미지λ₯Ό 톡해 μœ ν™”μ œμž‘μ„ μ‹œν‚€κ³  λ‚œ λ’€ μ œμž‘λœ μœ ν™”λ₯Ό λ‹€μ‹œ ν”„λ‘ νŠΈλ‹¨μ—μ„œ 미리보기와 λ™μ‹œμ— 가지고 μžˆλ‹€κ°€
    μ΅œμ’… μœ ν™” 등둝 μ‹œ ν•΄λ‹Ή μ œμž‘λœ μœ ν™”μ˜ μ΄λ―Έμ§€νŒŒμΌμ„ S3에 λ“±λ‘ν•˜κ³  URLλ₯Ό 리턴 λ°›μ•„ μž…λ ₯ν•œ μœ ν™”μ˜ 제λͺ©, URL을 DB에 μ €μž₯ν•˜λŠ” 과정에 μžˆμ–΄
    μ„œλ‘œμ˜ νŒŒνŠΈκ°€ λ‚˜λˆ μ ΈμžˆκΈ° λ•Œλ¬Έμ— μ˜μ‚¬μ†Œν†΅μ΄ ν•„μš”ν•œ 상황

⚑ 문제 ν•΄κ²°

  • μ„œλ‘œ 각자 μž‘μ—…λΆ„μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•˜λŠ” 것도 μ’‹μ§€λ§Œ ν”„λ‘œμ νŠΈλ₯Ό 짧은기간 λ™μ•ˆ 보닀 효율적으둜 μš΄μ˜ν•˜κΈ° μœ„ν•΄ μ•„μ˜ˆ VSCode의 Extension인 Live Shareλ₯Ό μ΄μš©ν•˜μ—¬ μ‹€μ‹œκ°„μœΌλ‘œ 같이 코딩을 ν•΄κ°€λ©΄μ„œ λ°μ΄ν„°μ˜ νλ¦„μ΄λ‚˜ μ½”λ“œλ“€μ— λŒ€ν•œ 이해도 ν•˜λ©° λΉ λ₯΄κ²Œ ν”Όλ“œλ°±κ³Ό λ™μ‹œμ— μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ—¬ 보닀 μ›ν• ν•˜κ²Œ μž‘μ—…μ„ 진행 ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.