Skip to content

SVTeamD/yumyum-backend

Repository files navigation

Backend

Introduction

전통시장에서 불편함이 많으시지 않았나요? 혹시 전통시장에 가기 전 미리 웹으로 가게가 조회되고 포장을 할 수 있으면 어떨까요?

소개하겠습니다! 장날은 여러분에게 여러 가지 서비스를 제공합니다. 장날은 전통 시장 주문 포장 플랫폼입니다.

  1. 손 쉬운 가게 조회: 전통 시장 가게를 미리 조회할 수 있습니다.
  2. 가게 간편 등록: 가게 간판과 메뉴를 찍으면 자동으로 가게를 등록해줍니다.
  3. 먹고 가기와 포장 하기: 전통시장에서도 미리 주문하여 시간단축이 가능합니다.

Installation

  • Clone the repository using this command.
    $ git clone https://github.com/SVTeamD/yumyum-backend.git

System Architecture

sysarch


Tech stack

분류 기술
Frontend REACT Axios
Backend Fastapi Uvicorn Swagger Docker clova Elasticsearch
DB MYSQL
CI/CD GitHubActions
Infra Nginx S3 EC2
Monitoring Prometheus Grafana Alertmanager Slack-Bot

Swagger

Menus

  • POST /api/menus/ → 메뉴 등록

    • Params:
      • menu: object
      • menu_image: string(binary)
    • Status Code
      • 201
      • 422
  • GET /api/menus/main/ → 메인 메뉴의 상세 정보 보여줌

    • Responses:
      • name: string
      • cost: string
      • photo_url: string
      • is_active: true
      • is_main_menu: true
    • Status Code
      • 200
  • GET /api/menus/{menu_id} → 사용자가 원하는 메뉴의 상세 정보 보여줌

    • params:
      • menu_id: integer(path)
    • Responses::
      • string
    • Status Code
      • 200
      • 422
  • DELETE /api/menus/{menu_id} → 특정 메뉴를 삭제처리(is_active == False)

    • Params
      • name_id: int
    • Status Code
      • 200
      • 422
  • GET /api/menus/name/{menu_name} → 메뉴명으로 메뉴 상세정보를 검색

    • Params
      • menu_name: string
    • Status Code
      • 200
      • 422
  • PUT /api/menus/main/{menu_id} → 메인 메뉴를 지정하기 위함

    • Params
      • menu_id: int
    • Status Code
      • 200
      • 422

Users

  • POST /api/users/ → 신규 사용자 등록
    • Params
      • None
    • Status Code
      • 201
      • 422
  • GET /api/users/{user_id} → 특정 사용자 정보 보여줌
    • Prarms
      • user_id: int
    • Status Code
      • 200
      • 422
  • DELETE/api/users/{user_id} → 특정 사용자를 삭제처리(is_active=False)
    • Params
      • user_id: int
    • Status Code
      • 200
      • 422

Stores

  • GET /api/stores/ → 등록된 모든 상점을 호출하기 위함
    • Params
      • None
    • Status Code
      • 200
  • POST /api/stores/ → 가게를 등록하기 위함
    • Params
      • store: object
      • loc: object
      • store_image: string($binary)
    • Status Code
      • 201
      • 422
  • GET /api/stores/{store_id}/menus → 특정 가게 메뉴를 호출하기 위함
    • Params
      • store_id: int
      • skip: int
      • limit: int
    • Status Code
      • 200
      • 422
  • DELETE /api/stores/{store_id} → 특정 가게를 삭제처리(is_active=False) 하기 위함
    • Params
      • store_id: int
    • Status Code
      • 200
      • 422

Orders

  • GET /api/orders/ → 모든 주문을 보여줌
    • Params:
      • None
    • Status Code
      • 200
  • POST /api/orders/ → 새로운 주문을 등록
    • Params
      • user_id: int
      • store_id: int
      • datetime: Datetime
      • is_takeout: true
      • cost: int
    • Status Code
      • 201
      • 422
  • GET /api/orders/{order_id} → 특정 주문 상세 내용을 가져오기 위함
    • Params
      • order_id: integer
    • Status Code
      • 201
      • 422
  • DELETE /api/orders/{order_id} → 주문을 취소하기 위함
    • Params
      • order_id: integer
    • Status Code
      • 200
      • 422
  • GET /api/orders/user/{user_id} → 특정 사용자의 주문 상세를 확인하기 위함
    • Params
      • user_id: int
    • Status Code
      • 200
      • 422
  • GET /api/orders/store/{store_id} → 특정 가게의 모든 주문을 확인하기 위함
    • Params
      • store_id: int
    • Status Code
      • 200
      • 422

How to start

  • Clone the repository using this command.
    $ git clone docker compose up -d

Directory

.
├── alertmanager
├── backend
│   ├── api
│   │   └── endpoints
│   ├── aws
│   ├── crud
│   ├── models
│   ├── schemas
│   └── utils
├── grafana
├── prometheus
├── proxy
├── settings
│   └── prod
└── volumes
└── logstash
├── config
│   └── queries
└── pipeline

👨‍👨‍👧‍👦 Members

이름 개발분야 소개페이지
홍성민 Front-end, Back-End, Devops Github
김주원 Front-end, Back-end Github
김인철 Front-end Github
최현정 Back-end Github
김주희 Front-end Github
한상우 Back-end,Devops Github

About

Backend repo for SV Team D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published