유레카엔터프라이즈
사업철학업무방식AI 워크플로우기술 스펙포트폴리오
유레카엔터프라이즈 주식회사

기술과 책임감으로 신뢰를 쌓아가는 소프트웨어 개발 파트너

대표
한장현
사업자등록번호
888-86-01529

Navigation

Home사업철학업무방식AI 워크플로우기술 스펙포트폴리오

Contact

andy@ureca.im02-6736-0701

#705, Pine Square Bldg. A,
22 Magokjungang 4-ro,
Gangseo-gu, Seoul, Korea

View on Map

© 2026 유레카엔터프라이즈. All rights reserved.

Building with purpose

포트폴리오 목록
밀리로그
모바일 앱웹사이트
2025.07 — 진행중

밀리로그밀리로그

가족이 매달 사진을 업로드하면 자동으로 월간 가족 매거진을 제작해 배송하는 서비스

AWSNext.jsSpring BootFlutterGitHub Actions

고객사의 요청으로 링크는 제공되지 않습니다

프로젝트 개요

밀리로그(Milylog)는 가족 구성원들이 함께 사진을 업로드하고, 매월 자동으로 가족 매거진을 제작하여 집으로 배송받는 구독형 서비스입니다. 디지털 시대에 물리적인 추억을 간직하고자 하는 가족들을 위해, 일상의 소중한 순간들을 인쇄된 가족 잡지로 만들어주는 플랫폼입니다.


서비스 흐름도


주요 기능

1. 가족 매거진 관리

  • 월간 매거진 자동 생성 시스템 (최대 20개 게시글): 매월 지정된 마감일이 되면 자동으로 해당 월의 게시글을 모아 매거진으로 제작합니다.
  • 매거진 진행률 및 개인별 참여율 실시간 추적: 가족 구성원 각각이 얼마나 게시글을 올렸는지 통계를 제공하여 참여를 유도합니다.
  • PDF 발행 및 배송 상태 관리: 매거진이 제작되면 PDF로 변환하고, 인쇄 및 배송 단계를 추적합니다.
  • 가족 마감일 커스터마이징 (매월 특정 일자 선택): 각 가족이 원하는 날짜를 마감일로 설정할 수 있어 발행 주기를 자유롭게 조정합니다.

2. 사진 게시글 기능

  • 사진 업로드 및 촬영 시각 메타데이터 관리: 사진을 올리면 촬영 시간을 자동으로 기록하여 시간순으로 정렬합니다.
  • 게시글 북마크 및 좋아요 기능: 마음에 드는 게시글을 개인적으로 저장하거나 다른 가족에게 공감을 표시할 수 있습니다.
  • 특정 가족 구성원에게 게시글 숨김 처리 (블라인딩): 특정 멤버에게만 게시글을 보이지 않게 설정하여 프라이버시를 보호합니다.
  • 게시글 매거진 등록/해제 기능: 매거진에 포함할 게시글을 직접 선택하거나 제외할 수 있습니다.

3. 가족 관리

  • 가족 생성 및 초대 코드 기반 멤버 추가: 고유한 초대 코드를 공유하여 가족 구성원을 간편하게 초대합니다.
  • 가족 관리자 위임 및 멤버 추방 기능: 관리자 권한을 다른 멤버에게 넘기거나 부적절한 멤버를 내보낼 수 있습니다.
  • 가족별 배송지 설정 및 관리: 매거진을 받을 주소를 등록하고 변경할 수 있습니다.
  • 가족 썸네일 및 제목 커스터마이징: 가족을 대표하는 이미지와 이름을 설정하여 개성을 표현합니다.

4. 회원 및 인증

  • 이메일/전화번호 기반 회원가입 및 로그인: 이메일 또는 전화번호로 간편하게 계정을 생성하고 로그인합니다.
  • 소셜 로그인 연동 (Kakao, Apple, Google): 카카오, 애플, 구글 계정으로 빠르게 로그인할 수 있습니다.
  • JWT 기반 인증 시스템: 토큰 기반 인증으로 안전하게 사용자를 식별합니다.
  • 아이디/비밀번호 찾기 및 재설정: 계정 정보를 잊었을 때 이메일로 복구할 수 있습니다.

5. 결제 및 구독

  • Toss Payments 연동 정기결제: 토스 페이먼츠를 통해 매월 자동으로 결제가 진행됩니다.
  • 구독 상태 관리 및 자동 갱신: 구독이 활성 상태이면 매월 매거진이 자동으로 발행됩니다.
  • 결제 내역 조회 및 영수증 발행: 과거 결제 기록을 확인하고 영수증을 받을 수 있습니다.

6. 관리자 기능

  • 회원 및 가족 관리 대시보드: 전체 사용자와 가족 현황을 한눈에 파악하고 관리합니다.
  • 매거진 발행 상태 모니터링: 매거진 제작 및 배송 진행 상황을 실시간으로 확인합니다.
  • 문의사항 관리 및 답변 템플릿: 사용자 문의를 효율적으로 처리하고 자주 쓰는 답변을 저장합니다.
  • 푸시 알림 발송 시스템: 중요한 공지나 이벤트를 앱 푸시로 사용자에게 전달합니다.

플랫폼 구성

시스템 구성 요소

구성 요소기술 스택역할
Client APISpring Boot 3.1, Kotlin 1.8모바일 앱용 RESTful API
Admin APISpring Boot 3.1, Kotlin 1.8관리자 대시보드용 API
Domain ModuleJPA, QueryDSL공유 도메인 로직 및 엔티티
DatabasePostgreSQL메인 데이터 저장소
File StorageAWS S3이미지 및 PDF 저장
Email ServiceAWS SES트랜잭션 이메일 발송
PaymentToss Payments정기결제 처리

기술적 선택과 이유

Kotlin + Spring Boot 조합 선택

  • Null Safety 기능으로 런타임 오류 최소화
  • Data Class와 Extension Function으로 간결한 코드 작성
  • 코루틴 지원으로 비동기 처리 구현

멀티 모듈 아키텍처 (Domain, Client-App, Admin-App)

  • 도메인 로직의 재사용성 확보
  • 클라이언트와 관리자 API의 독립적인 배포 및 확장 가능
  • 관심사의 명확한 분리로 유지보수성 향상

QueryDSL 도입

  • Type-safe한 동적 쿼리 작성
  • 복잡한 조인과 집계 쿼리의 가독성 향상
  • 컴파일 타임 쿼리 검증으로 오류 조기 발견

JPA Eager Loading 전략

  • FamilyMagazine과 Family 엔티티에서 연관 데이터 즉시 로딩
  • 매거진 조회 시 N+1 문제 방지
  • 매월 발행되는 매거진의 특성상 조회 성능 개선이 중요

AWS S3 + SES 통합

  • 이미지 스토리지의 확장성과 안정성 확보
  • PDF 발행 파일의 영구 보관 및 빠른 다운로드
  • 트랜잭션 이메일의 높은 전송률 보장

ULID 식별자 사용

  • 시간순 정렬 가능한 고유 ID
  • UUID 대비 짧은 문자열 길이
  • 분산 환경에서 충돌 없는 ID 생성

프로젝트 특징

가족 중심 비즈니스 로직

  • 가족 공유 코드로 구성원을 초대하고, 관리자 위임 및 추방 정책을 구현했습니다.
  • 매거진 진행률과 개인별 참여율을 자동 계산하여 가족 구성원의 참여를 유도합니다.

프라이버시 보호 기능

  • 게시글 블라인딩 기능으로 특정 가족 구성원에게 게시글을 숨길 수 있습니다.
  • 회원 탈퇴 시 사유를 수집하고 소프트 삭제 방식을 적용하여 데이터를 보존합니다.

확장 가능한 모듈 구조

  • 독립적인 도메인 모듈을 client-app과 admin-app이 공유하여 비즈니스 로직을 재사용합니다.
  • 각 기능별로 pres, application, infra 레이어를 분리하여 관심사를 명확히 했습니다.

운영 효율성

  • Gradle 멀티 모듈로 빌드 시스템을 구성하고 Docker로 real, test 환경을 분리하여 배포합니다.
  • Spring AOP로 로깅, 인증, 트랜잭션 등 횡단 관심사를 처리합니다.

매거진 발행 자동화

  • 가족별 마감일에 따라 매거진을 자동 생성하고 PDF로 변환하여 S3에 업로드하는 파이프라인을 구축했습니다.
  • publishingInfo와 workingInfo를 통해 배송 상태와 제작 이력을 관리합니다.