띠(Zodiac) 기반으로 오늘의 운세를 조회하고, 기록하며, 관리할 수 있는 웹 서비스입니다.
- 프로젝트 개요
- 기능 소개
- 도메인 설계
- 기술 스택
- 패키지 구조
- 화면 예시
- 회고 & 개선할 점
- 띠(Zodiac) 정보를 기반으로 한 운세 조회 및 이력 관리 웹 애플리케이션입니다.
- 사용자 친화적인 UI와 도메인 중심 설계를 통해 유지보수성과 확장성을 고려한 구조로 개발하였습니다.
- 오늘의 운세 조회, 운세 이력 조회, 운세 등록 세 가지 주요 기능을 제공합니다.
| 기능명 | 설명 |
|---|---|
| 🔮 오늘의 운세 조회 | Zodiac(띠)을 기반으로 오늘의 운세를 무작위로 조회합니다. |
| 📜 운세 이력 조회 | 로그인된 사용자의 운세 기록을 리스트로 확인할 수 있습니다. |
| ✍️ 운세 템플릿 추가 | 새로운 운세 메시지를 DB에 추가하고 운세 데이터셋을 확장합니다. |
- 아래 4개의 핵심 도메인을 설계하였습니다.
Zodiac은 Enum 클래스로 구현하여 띠 기반 운세 로직을 구성했습니다.
-
Member 도메인
- 회원 정보 인증 및 주체
- 운세 조회 시
FortuneHistory와 연결
-
Fortune 도메인
- 띠(Zodiac)별로 미리 저장해둔 운세 템플릿 메시지
- 매일 새로 생성하는 방식이 아닌, 랜덤 추출 기반
-
FortuneHistory 도메인
- 회원이 특정 날짜에 본 운세 기록
- 같은 날 재조회 시 기존 운세 반환
-
Zodiac 도메인
- 띠 기반 운세 분류 기준
- Enum 정의 (고정값)
| 구성 | 기술 |
|---|---|
| Language | Java 21 |
| Build Tool | Gradle |
| Backend Framework | Spring Boot 3.3.3 |
| ORM | Spring Data JPA |
| Security | Spring Security |
| Frontend | Thymeleaf, Bootstrap 5 |
| View Template Binding | Thymeleaf with Model |
| Version Control | Git + GitHub |
| Database | H2 Database |
📁 아래와 같이 핵심 도메인 중심으로 패키지를 나누고, 각 도메인에 대한 책임을 분리하였습니다.
📌 초기 컨셉 화면 - 오늘의 운세 조회 페이지
- 본 프로젝트는 개발 소모임에서 단기간에 기획하고 제작한 0.0.1 MVP 버전입니다.
- Spring Security를 통한 인증 처리, Bootstrap5 기반 UI 설계, 그리고 Thymeleaf 기반의 뷰-백엔드 연동 구조를 학습 및 실습하는 데에 중점을 두었습니다.
- 향후에는 현재 구현된 띠 기반 운세 외에도, 별자리(Star Sign), 사주팔자 기반, 사용자 커스텀 운세 템플릿 생성 기능까지 지원하도록 기능을 확장할 계획입니다.
- 또한, 운세 API 제공 기능을 통해 외부 시스템에서도 사용할 수 있는 확장형 서비스로 발전시키는 것이 목표입니다.

