Skip to content

SSAFY-12/sharedress

Repository files navigation

Image Image Image


📌 서비스 소개

SHAREDRESS는 사용자가 직접 보유한 옷을 디지털 옷장에 등록하고, 친구와 함께 코디를 추천하거나 공유할 수 있는 패션 공유 플랫폼입니다.

  • 옷장 구축
    옷을 사진, 쇼핑몰 구매내역, 라이브러리 검색 등을 통해 간편하게 등록할 수 있습니다.

  • AI 기반 자동 등록 기능
    AI가 사진에서 옷의 컬러 분석 및 카테고리 분류를 자동 수행하여 등록을 지원합니다.

  • 코디 제안 시스템
    친구에게 코디를 추천하거나, 외부 링크로 비회원에게도 코디를 요청할 수 있습니다.


🛠 기술 스택

도메인 기술 스택
Frontend React TypeScript Zustand TanStack Query Tailwind CSS
Backend Spring Boot JPA QueryDSL MariaDB Node.js Google OAuth JWT
Infra AWS EC2 S3 SQS GTM Sentry FCM
AI Python CLIP rembg OpenCV UNO HuggingFace

⚙️ 개발 환경

  • FE IDE: VS Code 1.98.2
  • BE IDE: IntelliJ IDEA 2024.3
  • JVM: OpenJDK 17
  • Database: MariaDB
  • Server: AWS EC2 (Amazon Linux 2023)

🚀 프로젝트 구조

Backend

src/
└─ main/
   ├─ java/
   │  └─ com/ssafy/sharedress/
   │     ├─ adapter/                 # 프레젠테이션/어댑터 레이어 (웹 API 진입점)
   │     │  ├─ ai/in/
   │     │  ├─ auth/in/
   │     │  ├─ brand/in/
   │     │  ├─ category/in/
   │     │  ├─ closet/in/
   │     │  ├─ clothes/in/
   │     │  ├─ color/in/
   │     │  ├─ coordination/in/
   │     │  ├─ friend/in/
   │     │  ├─ handler/              # 글로벌 예외 핸들러
   │     │  ├─ member/in/
   │     │  ├─ notification/in/
   │     │  ├─ s3/                   # S3 어댑터
   │     │  └─ shoppingmall/in/
   │     │
   │     ├─ application/             # 애플리케이션 레이어 (유스케이스, 서비스, DTO, AOP)
   │     │  ├─ ai/{dto,service,usecase}
   │     │  ├─ aop/                  # 알림 전송 등 횡단 관심사
   │     │  ├─ auth/{dto,handler,service,usecase}
   │     │  ├─ brand/{dto,service,usecase}
   │     │  ├─ category/{dto,service,usecase}
   │     │  ├─ closet/{dto,service,usecase}
   │     │  ├─ clothes/{dto,service,usecase}
   │     │  ├─ color/{dto,service,usecase}
   │     │  ├─ coordination/{dto,service,usecase}
   │     │  ├─ friend/{dto,service,usecase}
   │     │  ├─ guest/{annotation,dto,filter,resolver,service,usecase}
   │     │  ├─ jwt/                   # JWT 필터/토큰/리프레시토큰 등
   │     │  ├─ member/{annotation,dto,resolver,service,usecase}
   │     │  ├─ notification/{dto,service,usecase}
   │     │  └─ shoppingmall/{dto,service,usecase}
   │     │
   │     ├─ config/                  # 스프링/인프라 설정
   │     │  # Async, Firebase, JPA, AOP Log, OpenFeign, QueryDSL, S3, Security, SQS, WebMvc 등
   │     │
   │     ├─ domain/                  # 도메인 레이어 (엔티티/리포지토리/에러/포트)
   │     │  ├─ ai/{entity,error,repository}
   │     │  ├─ brand/{entity,error,repository}
   │     │  ├─ category/{entity,error,repository}
   │     │  ├─ closet/{entity,error,repository}
   │     │  ├─ clothes/{entity,error,repository}
   │     │  ├─ clothesuploadhistory/{entity}
   │     │  ├─ color/{entity,error,repository}
   │     │  ├─ common/
   │     │  │  ├─ context/           # 유저 컨텍스트 등
   │     │  │  ├─ entity/            # 공통 베이스 엔티티
   │     │  │  └─ port/              # 외부 시스템 포트 (예: ImageStoragePort)
   │     │  ├─ coordination/{entity,error,repository}
   │     │  ├─ friend/{entity,error,repository}
   │     │  ├─ guest/{entity,error,repository}
   │     │  ├─ member/{entity,error,repository}
   │     │  ├─ notification/{entity,error,port,repository}
   │     │  └─ shoppingmall/{entity,error,repository}
   │     │
   │     └─ global/                  # 전역 공통 유틸/예외/응답 DTO
   │        ├─ dto/
   │        ├─ exception/
   │        ├─ response/
   │        └─ util/
   │
   └─ resources/
      └─ application.yaml            # 환경 설정 (프로파일별 분리 가능)

시스템 아키텍처

Image

팀원

김현래 박예승 안주민
@hyeon-ztl @Yeseung-Park @JUMINAHN
FE FE FE
이준호 김지윤 이시우
@leejh7 @ziy00n @LEE-SIU
BE BE AI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors