Skip to content

Repository files navigation

moodit-thumbnail

⭐️ 무딧(Moodit)

나만의 패션 취향 정립 서비스


🔢 목차

프로젝트 설명
주요 기능
기술 선정
폴더링


👀 프로젝트 설명

무딧은 사진을 비교하며 선택 기준을 발견하고, 경험의 만족도까지 쌓아 수집을 넘어 취향을 정립할 수 있도록 도와주는 서비스입니다.


📍 주요 기능

  1. 무드 매치 만들기 : 유저는 사진을 직접 선택해 무드 매치를 만들 수 있습니다.

  1. 무드 매치 진행하기 : 유저는 끌리는 이미지를 선택하고, 토너먼트를 통해 취향의 범위를 좁힙니다.

  1. 경험 미션 : 무드 매치를 통해 제안된 경험 미션을 통해 유저는 선택한 취향을 직접 경험하고 만족도를 기록합니다

  1. 취향 리포트 : 무드 매치를 바탕으로 선택과 경험 누적 데이터를 분석하여 나만의 취향을 시각화합니다

⚙️ 기술 선정

  • Language - Java 21 (LTS)
  • Framework - Spring Boot 4.0.6
  • Database - PostgreSQL 18.4
  • ORM - Spring Data JPA
  • Storage - MinIO
  • CI/CD - Docker Compose, GitHub Actions
  • Monitoring - Dozzle

🗂️ 폴더링

Core 영역의 개념의 오염을 방지하고 외부 의존성을 줄이기 위해 Multi-Module 방식의 모놀리스 구조를 채택했습니다.

moodit-server
├── 📂 clients                           # 외부 API 클라이언트 모듈
│   └── client-kakao                     # 카카오 외부 API
│
├── 📂 core                              # Core 모듈
│   └── core-api                         # Core API 패키징
│       ├── api                          # API 관련 패키징
│       │   ├── assembler                # 여러 개념을 Presentation 레이어로 응집하는 계층
│       │   ├── config                   # WebMvcConfigurer 등 Presentation 레이어의 설정
│       │   ├── controller
│       │   └── MooditApiApplication.kt
│       │
│       ├── domain                       # 핵심 개념(도메인) 객체 및 비즈니스 로직(Service), 구현 로직
│       │   ├── enums                    # Enum 패키징
│       │   ├── auth                     # [인증] 도메인 컨텍스트
│       │   ├── match                    # [무드매치] 도메인 컨텍스트
│       │   ├── mission                  # [미션] 도메인 컨텍스트
│       │   ├── missionOffer             # [미션제안] 도메인 컨텍스트
│       │   ├── report                   # [리포트] 도메인 컨텍스트
│       │   ├── review                   # [미션 피드백] 도메인 컨텍스트
│       │   ├── user                     # [유저] 도메인 컨텍스트
│       │   ├── userMission              # [유저미션] 도메인 컨텍스트
│       ├── storage.db                   # Persistant를 담당하는 Storage 패키징
│       └── support
│           ├── auth                     # 인증/인가 담당
│           ├── error                    # 공통 에러 코드 및 예외
│           ├── file                     # 파일 업로드 로직
│           └── response                 # 공통 응답 객체
│
└── 📂 .github
    └── workflows
        ├── ci-dev.yml
        ├── cd-dev.yml
        ├── ci-live.yml
        └── cd-live.yml

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages