Giter Site home page Giter Site logo

c-vs's Introduction

convenience-store

review products and share your own recipe with convenience store

Build Status

Setting Virtual Environment for Django

1. install virtualenv

django의 python의 version과 다른 library의 version을 유지해주기 위하여 가상환경을 사용한다. virtualenv를 이용하여 python3을 기반으로 한 가상환경을 설치한다. reference : virtualenv

2. install libraries

가상환경의 설치가 끝나면 설치후 python의 library들을 설치해줘야 한다.

  • pip install django
  • pip install djangorestframework
  • pip install pillow for image field
  • pip install django-filter for Filtering

For Crawler

  • pip install request
  • pip install bs4

For Deploy

  • pip install uwsgi

3. Running Server

  • It needs secret folder .config_secret which is not in git hub

Debug

  • python manage.py runserver --settings=config.settings.debug

Deploy

  • python manage.py runserver --settings=config.settings.deploy

Setting files

  • config/settings/base.py and cvs_server/settings.py should be syncronized

c-vs's People

Contributors

9hyeonwoo avatar joks1997 avatar yeonduru avatar spark-damian avatar

Watchers

James Cloos avatar  avatar

c-vs's Issues

Progress Report (5/14 - Iteration 2)

구현우
[Backend] Definition of model #5
[Backend] Definition of Controller
[Backend] Web crawler Implementation(gs25) #1

박석현
[Frontend] Application of boilerplate which UI library-Grommet is #3
[Frontend] Detailed design in #Figma(WIP)

이연주
Iteration 2 presentation preparation

조규상
Make outline of Iteration 2 presentation
[Frontend] Creation of Django project and preference setting
https://github.com/swpp-team1/c-vs/commit/36306ea04cde9c4e7ed9589b2f56ec7632fae05c
[Frontend] Creation of React project using react boilerplate and preference setting
https://github.com/swpp-team1/c-vs/commit/587dcec0e46cf095c2a9ab6bcb89c8b8c56927cd
[Backend] Web crawler #Implementation(SevenEleven)
https://github.com/swpp-team1/c-vs/commit/c7bd57d7186e0950f8611973326c17eb148b73d8
[Backend] Web crawler Implementation(CU) #4


Our backend/frontend development process will start at iteration 3, so we have not made any test script yet.

CI

트라비스

Progress Report (5/28 - Iteration 3)

Iteration 3 Report

현우

  • Token Authentication 구현
  • Sign Up view 구현
  • Sign in 구현
  • Image upload setting
  • permission 추가

연주

  • view 구현
  • serializer 구현

규상

  • product 분류하기(크롤링 결과값의 string을 이용해서 대분류/소분류로 분류를 진행하였음)
  • product 분류 구현
  • Main Page(검색 창과 header/footer담고 있는 페이지) 1차 구현. grommet.io이용

석현

  • Figma에서 디자인 완료
  • Main Page 1차 추가 구현

Backend 수정내역

API

Product

GET

  • products/?search=<Product이름>&price=<가격>&large_category=<카테고리>&small_category=<카테고리>&manufacturer=<CU,GS,SE 중 하나>&PB=<true or false>

User

POST

  • login/
    |- Body : username - 아이디 password - 비밀번호
  • signup/
    |- Body : username - 아이디 password - 비밀번호 email - 이메일
  • comments/
    |- Header: Authorization : Token <Token 값>
    |- Body: content - 내용 product - Product ID rating - Rating 값(int)

Delete

  • comments/id/
    |- Header: Authorization : Token <Token 값>

Review

GET

  • reviews/?product=<Product id>&user_id=<User id>
    |- Response: filter 조건에 해당하는 모든 Review object의
    id created edited title - 리뷰 제목
    user_id - User의 pk와 username만
    profile_image - Review 오브젝트에 연결된 Post들의 이미지들 중 디폴트 이미지가 아닌 첫 번째 이미지, 없으면 디폴트 이미지
    profile_content - 연결된 Post들의 content 중 비어있지 않은 첫 번째 content의 50글자, 없으면 "No preview content"
    product - Review가 등록된 Product의 정보
    rating - Review object의 Rating 값(int)

  • reviews/pk/
    |- Response: pk를 id로 갖는 Review Object의 id created edited title user_id profile_image product
    post - 연결된 모든 Post objects의 created, image, content를 생성된 순서대로 가지고 있음

POST

  • reviews/
    |- Header: Authorization : Token <Token 값>
    |- Body: title - 리뷰 제목 (필수) product - 리뷰가 등록될 Product의 id (필수)
    rating - Rating(1~5) (필수)

PUT

  • reviews/pk/
    |- Header: Authorization : Token <Token 값>
    |- Body: title rating
    등록된 product는 고칠 수 없음(일단 그렇게 만들어 놓음)
    Review에 속한 Post 내용을 고치려면 PUT의 결과로 리턴된 정보에 담긴 Post리스트에 각각 DELETE 리퀘스트를 보내고 새로 등록된 Post내용을 가지고 /posts/에 POST 리퀘스트를 보내면 된다..

DELETE

  • reviews/pk/
    |- Header: Authorization : Token <Token 값>

Recipe (리뷰와 거의 같음)

GET

  • recipes/?product=<Product id>&user_id=<User id>
    |- Response: filter 조건에 해당하는 모든 Recipe object의
    id created edited title user_id profile_image profile_content(상세는 Review와 같음)
    price_all - ingredient에 속한 product들의 가격합산
    ingredients - 재료가 되는 Product objects들의 정보 리스트

GET

  • recipes/pk/
    |- Response: pk를 id로 갖는 Review Object의
    id created edited title user_id profile_image price_all ingredients post

POST

  • recipes/
    |- Header: Authorization : Token <Token 값>
    |- Body: title(필수) ingredients(필수) - 재료가 되는 Product들의 id 리스트

PUT

  • recipes/pk/
    |- Header: Authorization : Token <Token 값>
    |- Body: title ingredients
    Recipe에 속한 Post 내용을 고치려면 PUT의 결과로 리턴된 정보에 담긴 Post리스트에 각각 DELETE 리퀘스트를 보내고 새로 등록된 Post내용을 가지고 /posts/에 POST 리퀘스트를 보내면 된다

DELETE

  • recipes/pk/
    |- Header: Authorization : Token <Token 값>

Post

GET

  • posts/
    |- Response: 생성된 모든 Post object의 created, image(비어있으면 디폴트 이미지 들어감), content
  • posts/pk/
    |- Response: pk를 id로 갖는 Post object의 created, image(비어있으면 디폴트 이미지 들어감), content

POST

  • posts/
    |- Header: Authorization : Token <Token 값>
    |- Body: review_id 또는 recipe_id - Post가 등록될 리뷰 또는 레시피 아이디(필수)
    image - 사진파일 1개 content - 사진과 한 쌍인 글 단락 1개 (image와 content 둘 중 하나는 필수)

DELETE

  • posts/pk/
    |- Header: Authorization : Token <Token 값>

Model

Recipe

  • CommentReviewRecipe에서 뺌
  • Comment에서만Rating있음

7-Eleven 삼각김밥 정보 관련

안녕하십니까 세븐일레븐 고객센터 입니다.

고객의소리 문의주신 내용 확인 후 답변 드립니다.

현재 삼각김밥의 경우는 회전율에 따라 빠르게 신상품이 출시가 되고 저조한 상품은 cut이 되는 상품이라 상품명이 따로 홈페이지에 기재가 되어 있지 않습니다.

또한 지역별로 발주가 가능한 삼각김밥의 종류가 조금씩 차이가 있어 삼각김밥 상품의 전체 리스트는 제공이 어려운 점 양해 부탁드립니다.

추가적인 문의 사항이 있으실 경우 1577-0711로 연락주시거나 고객의소리 통하여 글 남겨주시면 빠르게 답변 드리겠습니다.

감사합니다.

인기 제품(상품), 인기 레시피 알고리즘

지금 생각하고 있는건

각 분류항목별로 각 회사에서 가장 평점이 높은 제품들 목록을 구성한 뒤

랜덤으로 3개씩 불러서 메인화면에 띄워주는거 생각중입니다.

더 좋은 의견 있으시면 코멘트 남겨주세요

Backend

Backend 궁금한점

  • Comment 모델에만 rating field가 있는데 Recipe랑 Product에 대한 점수매기기(?)는 항상 코멘트에만 포함되어서 가는건지..?
  • 그리고 rating 가성비 등등으로 세분화 하기로 한건 어떻게 됐었나요..?

Progress Report (6/11 - Iteration 4)

Iteration 4 Report

현우

  • Product Search 구현
  • Product Filter 구현
  • crawler 로 DB에 Products 추가 하는것 구현
  • Backend 코드 Debug
  • Test 코드 추가
  • Product에 Rating 평균값 추가
  • Comment Filter 구현

연주

Backend

  • Comment PUT 구현
  • Post view 및 이미지 업로드 구현
  • Review, Recipe model의 serializer 및 view 구현

규상

Frontend

  • productAll sagas 구현
  • login screen 구현(sagas+디자인)
  • signup 구현(sagas+디자인)
  • productDetail Page 구현(sagas+디자인)
  • newRecipe 구현(sagas+디자인)
  • Header/Footer 레이아웃 구현
  • 이미지 업로드 구현(frontend)

석현

Frontend

  • ProductAll map 구현, recipeAll 페이지 제작
  • SearchBar 수정
  • Search 구현
  • Related Product, Search Result Card Map
  • newRecipe 페이지 구현, allProducts infinity scrolling 구현
  • Frontend Travis CI
  • Review view, RecipeAll, popularProducts

상품 분류

대분류
김밥 - 김)
삼각김밥 - 주) cu 삼각) gs
도시락 - 도)
샌드위치 - 샌)
햄버거 - 햄)
샐러드
파스타 / 스파게티
우동
핫도그

소분류
짜장
짬뽕
만두
닭가슴살
그라탕
치킨마요
불닭
깐풍기
비빔참치
참치마요
참치
통햄
김치볶음 or 김볶
머스타드
오리
불고기
쉬림프 / 새우
제육 / 불백
스팸김치
스팸마요
스팸
딸기
비빔밥 / 전주
크랩 / 게
카레
짜장
두루치기
돈까스 / 돈카츠
닭갈비
양념치킨
치킨 / 닭 (닭 종류 다 아니면 이걸로 되게 순서)
스테이크
우삼겹
삼겹
머쉬룸 / 버섯
꼬막
단호박
베이컨
돈코츠
한우
고추장
시저
비프
토마토
바베큐 / bbq
계란말이
에그 / 계란
연어
소시지
명란
탕수육
오므라이스
고구마
감자 / 포테이토
유뷰
야끼
장조림
강정
망고
떡볶이
커피 / 아메리카노
찌개

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.