Skip to content

Latest commit

 

History

History
267 lines (216 loc) · 12.8 KB

README.md

File metadata and controls

267 lines (216 loc) · 12.8 KB

Aeat

아이도 먹는 알러지/프리프롬 오픈마켓

Project Image

목차

🚀 프로젝트 소개

한눈에 모아보는 알러지/프리프롬 상품 정보

AEat은 사용자가 안전하고 건강한 알러지, 프리프롬, 환자식 제품을 손쉽게 찾을 수 있도록 돕는 공간입니다. 사용자가 자신이 원하는 알러지 정보를 선택하면 개인화된 알러지 필터링 기능을 통해 자신에게 맞는 제품을 더욱 정확하게 추천받을 수 있습니다. 또한, 소비자는 피해야 할 알러지 성분이나 프리프롬 요구 사항, 환자식 조건을 설정해 관련 상품들만 볼 수 있습니다. AEat은 식약청 기준의 알러지 유발 물질을 표기하여, 구매 전 알러지 반응을 미리 예방할 수 있도록 돕습니다.

👥 팀원 소개

강원대 BE 조준환 강원대 BE 최유성 강원대 BE 박지희
강원대 BE 오승환 강원대 FE 정다연 강원대 FE 이채연

💡 주요 기능

🔐 로그인/로그아웃

로그인 최종

✍🏻 상품 리뷰

  • 사용자가 원하는 제품에 대한 종합적인 리뷰 가능
  • 상품 리뷰 기능을 통해 다른 사용자의 후기를 참고하여 보다 현명한 소비 결정을 내릴 수 있습니다

상품 위시리스트

  • 상품 내 찜하기 기능을 통해 사용자가 원하는 제품들을 표시해두고 모아서 보여주는 기능
  • 사용자는 자신이 관심있는 상품들을 찜하여 모을 수 있어, 나중에 쉽게 찾아볼 수 있습니다
  • 이를 통해 자신에게 필요한 알러지 정보나 프리프롬 식품을 가진 제품을 편리하게 추적하고 관리할 수 있습니다

⛓️ 연관 상품 조회

  • 가격, 알러지, 프리프롬을 기준으로 상품을 모아서 보여주는 기능
  • 특정 알러지를 피하는 제품들을 빠르게 찾아볼 수 있어, 사용자 맞춤형 쇼핑이 가능합니다

📰 알러지 관련 컬럼 제공

  • 알러지와 관련된 컬럼을 다루는 페이지를 통해 사용자들에게 유용한 정보를 제공하고 있습니다

전 상품 알러지 유발 물질 표기

  • 모든 상품들에 대해 식약청 기준의 알러지 유발 물질을 정확히 표기하여 제공하고 있습니다

🏷️ *프리프롬 식품 및 환자식 태그 제공

  • �프리프롬 식품과 환자식(당뇨 환자, 신진대사질환자)에 대한 태그 기능을 제공합니다
  • 글루텐 프리, 유당 불내증(락토 프리), 나트륨 프리(무염식) 등의 태그로 조건에 맞는 제품을 쉽게 찾을 수 있습니다

🔎 구매 사이트 이동

  • 각 상품에 대해 구매할 수 있는 URL을 제공하여, 사용자가 원하는 판매 사이트로 바로 이동하여 구매할 수 있습니다.
  • 제품을 찾는 것뿐만 아니라 직접 구매까지 이어지는 쇼핑 경험을 제공합니다

🛠 기술 스택

  • 프론트엔드

    React Vite TypeScript

  • 백엔드

    Spring Boot

  • 데이터베이스

    Redis MySQL

  • 인프라

    AWS Lightsail

  • CI/CD

    GitHub Actions Docker

📚 ERD & 아키텍처

  • ERD image

    AEat_ERD.pdf

  • Directory Structure

    src
      ├── main
      │   ├── java
      │   │   └── jeje
      │   │       └── work
      │   │           └── aeatbe
      │   │               ├── annotation
      │   │               ├── config
      │   │               ├── controller
      │   │               ├── domian
      │   │               ├── dto
      │   │               │   ├── Kakao
      │   │               │   ├── allergyCategory
      │   │               │   ├── article
      │   │               │   ├── articleLike
      │   │               │   ├── freeFromCategory
      │   │               │   ├── ocr
      │   │               │   ├── product
      │   │               │   ├── review
      │   │               │   ├── user
      │   │               │   └── wishlist
      │   │               ├── entity
      │   │               ├── exception
      │   │               ├── interceptor
      │   │               ├── mapper
      │   │               │   ├── Review
      │   │               │   ├── allergyCategory
      │   │               │   ├── article
      │   │               │   ├── freeFromCategory
      │   │               │   └── product
      │   │               ├── repository
      │   │               ├── resolver
      │   │               ├── service
      │   │               └── utility
      │   └── resources
      └── test
          ├── java
          │   └── jeje
          │       └── work
          │           └── aeatbe
          │               ├── entity
          │               ├── mapper
          │               │   ├── allergyCategory
          │               │   ├── freeFromCategory
          │               │   └── product
          │               └── service
          └── resources 
    
    
    
  • 서비스 아키텍처: 주요 서비스 간 연결과 흐름 설명

graph TB
    subgraph "개발 환경"
        A[GitHub Repository]
        B[Vite]
        C[React]
        R[Gradle]
        D[Spring]
    end

    subgraph "테스트 환경"
        S[hoppscotch]
        T[PR]
    end

    subgraph "CI/CD"
        E[GitHub Actions]
    end

    subgraph "배포 환경 (AWS Lightsail)"
        F[Docker]
        subgraph "컨테이너"
            H[Spring 애플리케이션]
            subgraph "네트워크 보안"
                P[Cloud Flare WAF]
                G[Nginx]
                O[Certbot]
            end
        end
    end

    subgraph "외부 데이터베이스"
        N[MySQL]
        V[Redis]
    end

    subgraph "외부 배포"
        I[Vercel]
    end

    subgraph "외부 서비스"
        K[식약처 Open API]
        W[네이버 쇼핑 API]
    end

    subgraph "프로젝트 관리"
        L[Discord]
        M[Slack]
        J[Notion]
    end

    subgraph "사용자"
        Q[User]
    end

    A -->|코드 푸시| E
    E -->|백엔드 빌드 및 배포| F
    E -->|프론트엔드 빌드 및 배포| I
    B -->|빌드| C
    R --> |빌드| D
    F -->|컨테이너화| G
    F -->|컨테이너화| H
    F -->|컨테이너화| O
    G <-->|리버스 프록시| H
    O -->|SSL 인증서 발급 및 갱신| G
    Q <--> |HTTPS| P
    Q <--> |HTTPS| I
    P <--> |HTTPS| G
    H <-.-> |HTTPS| K
    H <-.-> |HTTPS| W
    H <--> N
    H <--> V
    J -.->|문서화 및 태스크 관리| A
    M -.->|알림 및 협업| A
    L -.->|커뮤니케이션| A
    E -.-> |test result| L
    S <-.-> |test| E

    style A fill:#f9f,stroke:#333,stroke-width:2px
    style E fill:#bbf,stroke:#333,stroke-width:2px
    style F fill:#bfb,stroke:#333,stroke-width:2px
    style G fill:#fbb,stroke:#333,stroke-width:2px
    style H fill:#ff9,stroke:#333,stroke-width:2px
    style I fill:#9ff,stroke:#333,stroke-width:2px
    style J fill:#f96,stroke:#333,stroke-width:2px
    style K fill:#96f,stroke:#333,stroke-width:2px
    style L fill:#c9f,stroke:#333,stroke-width:2px
    style M fill:#fcf,stroke:#333,stroke-width:2px
    style N fill:#6cf,stroke:#333,stroke-width:2px
    style O fill:#9f9,stroke:#333,stroke-width:2px
    style V fill:#fc9,stroke:#333,stroke-width:2px
    style W fill:#96f,stroke:#333,stroke-width:2px
Loading

📜 API 명세서

🔗 링크 모음