From 0342e82347e756ed319ce62ac986d71ed5c67630 Mon Sep 17 00:00:00 2001 From: JI YOUNG <101448999+ziiyouth@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:17:17 +0900 Subject: [PATCH] Update README.md --- README.md | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/README.md b/README.md index 85d06d2..0464c3b 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,141 @@ +![표지](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/0a4549f3-d2a0-4cb4-b960-56830916e305) + + +## ✍🏻 프로젝트 개요 +> 2023-2024 가천대학교 졸업작품 5조 + +바쁜 삶에서 일기를 매일매일 기록하기란 쉽지 않습니다. + +이러한 어려움을 겪는 사람들을 위해, 하담은 간단한 키워드 입력으로 생성형 AI를 이용해 일기를 생성하고, + +생성형 이미지를 통해 시각적으로도 하루의 기록을 담아주는 서비스입니다. + +
+ +## ✨ 팀원 소개 +
+ +| [**박지영(ziiyouth)**](https://github.com/ziiyouth)| +| :--------: | +| | +| **🚀 Back-end Developer** | + +
+ +## 📔 핵심 기능 + +### 소셜 로그인 기능 +> 카카오톡 소셜 로그인을 통해 간편한 회원가입이 가능합니다. + +![개발핵심기능 1](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/ad871630-13c7-4751-9b46-63890006fe96) + +### 일기 생성 기능 +> 날짜, 시간, 장소, 사람, 감정, 경험을 키워드 형식으로 간편하게 입력받아 gpt 모델을 이용한 일기를 생성합니다. + +![개발핵심기능 2-1](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/2f90f758-7b97-407c-bebb-fb0d5b6f6168) +![개발핵심기능 2-2](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/beca8e11-ddde-41b7-ace0-baf976d9f6fb) + + +### 일기에 어울리는 이미지 생성 기능 +> 작성된 일기에 어울리는 생성형 이미지를 볼 수 있습니다. + +![개발핵심기능 2-3](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/c9898e4b-1854-434e-816e-173f1dbedbd3) + +### 날짜별 조회 기능 +> 달 별 대표 일기를 메인 화면에서 슬라이드 형식으로, 일 별 일기를 원하는 정렬 순으로 검색하고 조회할 수 있습니다. + +![개발핵심기능 3](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/66321154-9e89-41bf-aed7-a8497d7cf8e9) + + +### 일기 재발견 기능 +> 달력을 통해 N년 전 나의 하루를 돌아볼 수 있고, 현재 나의 감정을 통해 오늘과 비슷한 과거의 일기를 조회할 수 있습니다. + +![개발핵심기능 4-2](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/751a469b-2a7f-4491-ba50-8f08b7ac53ab) + +### 일기 좋아요 기능 +> 모아보고 싶은 일기에 좋아요를 눌러 별도로 보관할 수 있습니다. + +![개발핵심기능 4-1](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/9b76ee1e-caf0-46e9-833b-bdbee5d73cf2) + +### 마이페이지 기능 +> 자신의 정보를 설정할 수 있습니다. + +![개발핵심기능 5](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/e2a59349-1c7d-4b7c-b881-922bf5d53e0d) + + +## 🍪 기술 스택 +### 🖥 Backend + +|역할|종류| +|-|-| +|Framework|RED RED| +|Database|RED| +|Database Service|RED| +|Programming Language|RED| +|API|![REST](https://img.shields.io/badge/Rest-4B3263?style=for-the-badge&logo=rest&logoColor=white) +|Version Control|![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white) ![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white) | +|CICD| | +
+ + +### 🖥 Common +|역할|종류| +|-|-| +|협업 관리|RED | +|디자인|RED| +|소통| + +
+ +## 🦾 시스템 아키텍처 + +### 📂 폴더 구조 +``` +📂 src +┣ 📂 java.com.hadam.hadam +┃ ┣ 📂 domain +┃ ┃ ┣ 📂 sample +┃ ┃ ┃ ┣ 📂 controller +┃ ┃ ┃ ┣ 📂 domain +┃ ┃ ┃ ┣ 📂 dto +┃ ┃ ┃ ┃ ┣ 📂 request +┃ ┃ ┃ ┃ ┣ 📂 response +┃ ┃ ┃ ┣ 📂 service +┃ ┃ ┃ ┣ 📂 repository +┃ ┣ 📂 global +┃ ┃ ┣ 📂 common +┃ ┃ ┣ 📂 check +┃ ┃ ┣ 📂 error +┃ ┃ ┃ ┣ 📂 dto +┃ ┃ ┃ ┣ 📂 exception +┃ ┃ ┃ ┣ 📂 handler +┃ ┃ ┣ 📂 external +┣ 📂 resources +┃ ┣ application.yml +┣ HadamApplication.class +``` + +
+ +### 📂 아키텍처 구조 +![아키텍처](https://github.com/Ha-dam/hadam-backend-spring/assets/101448999/57feb74d-d64d-46f2-b52a-bb2a1c7fc8f9) + +- 안드로이드와 EC2 내에 올라간 서버가 Restful API를 통해 통신합니다. +- 스프링과 fast api 서버가 같은 RDS에 접속하게 되며, mysql 기반의 DB를 사용합니다. +- 일기 생성에 대한 request가 들어올때는 fast api 서버를 통해 모델이 작동하게 됩니다. +- 일기의 글은 GPT를, 이미지는 Stable Diffusion을 통해 생성한 뒤 s3에 업로드하여 사용하게 됩니다. + +- 백엔드 서버는 자바17 기반의 스프링부트3을 이용해 개발했습니다. +- 스프링 데이터 JPA를 사용해 객체-관계 매핑의 장점을 살리고 UI 디자인을 기반으로 한 ERD를 구상했습니다. +- 이로 RESTful한 API를 개발하며 트랜잭션 관리로 DB 작업에 대한 일관성을 보장했습니다. +- 깃허브 액션과 도커 컴포즈를 사용해 CICD를 구축하고 블루-그린 무중단 배포를 구현하였습니다. + +
+ +### 📢 실행 방법 +1. git clone을 진행한다. +2. resources 폴더에 application.yml을 추가한다. +3. build/libs 디렉터리로 이동해 java -jar hadam-0.0.1-SNAPSHOT.jar 명령어를 실행한다.