From c225da9720538a08c355420a9e922c289017dfd3 Mon Sep 17 00:00:00 2001 From: peeerr Date: Thu, 14 Nov 2024 23:38:27 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EB=A6=AC=EB=93=9C=EB=AF=B8=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 19ed58e..fdd88bb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,153 @@ -# Team21_BE -21조 백엔드 +# Every Moment +> 하루를 자동으로 기록하고 공유하는 위치 기반 소셜 다이어리 📝 + +![image](https://github.com/user-attachments/assets/d2be179d-e5e4-4b14-914f-8d88f5e6f7b5) + +
+ +## 📌 프로젝트 소개 +매 순간을 기록하고 싶지만, 바쁜 일상 속에서 일기 쓰기는 쉽지 않습니다. +Every Moment는 사용자의 위치 데이터를 기반으로 사용자의 하루를 **자동**으로 일기를 기록하고, 친구들과 공유할 수 있는 소셜 다이어리 서비스입니다. + +## 📌 프로젝트 소개 +바쁜 일상 속에서 매 순간을 기록하기란 쉽지 않습니다. +Every Moment는 위치 데이터를 기반으로 사용자의 하루를 **자동**으로 기록하고 친구들과 공유할 수 있는 소셜 다이어리 서비스입니다. + +### 핵심 기능 +- 📍 **위치 기반 자동 기록**: 15분 이상 머문 장소 자동 감지 및 일기로 기록 + +- 🤝 **소셜 다이어리**: 친구들과 일기 공유 및 소통 +- 🔍 **스마트 검색**: 다양한 필터링 옵션으로 원하는 일기 빠른 검색 +- 🔔 **실시간 알림**: 친구와의 상호작용(좋아요, 댓글, 친구 요청 등)과 새로운 장소 감지를 실시간으로 알림 + +
+ +## ⭐️ 주요 기능 +| 자동 일기 기록 | 손쉬운 일기 편집 | 다양한 검색 필터링 | 친구와의 일기 공유 | +|:---:|:---:|:---:|:---:| +| | | | | +| 15분동안 머문 장소를
자동으로 기록 | 저장된 일기를
손쉽게 편집 | 다양한 검색 조건으로
손쉬운 일기 찾기 | 원하는 일기를 공유하여
친구와 소통 | + +
+ +## 🔍 프로젝트 정보 +### 개발 기간 +- 2024.09 ~ 2024.11 (3개월) + +### 서비스 링크 +- **API 서버**: http://13.125.156.74:8080 + +- **API 문서**: [Swagger UI](http://13.125.156.74:8080/swagger-ui/index.html) | [노션 문서](https://peeerr.notion.site/API-2e575ca8df07493dbc25f3d0e91ca211?pvs=4) + +### 프로젝트 관리 +- **[Backend Repository](https://github.com/kakao-tech-campus-2nd-step3/Team21_BE)** +- **[Android Repository](https://github.com/kakao-tech-campus-2nd-step3/Team21_Android)** + +- **[Git Flow 전략](https://github.com/kakao-tech-campus-2nd-step3/Team21_BE/wiki/Git-Flow-%EC%A0%84%EB%9E%B5)** +- **[코딩 컨벤션](https://github.com/kakao-tech-campus-2nd-step3/Team21_BE/wiki/%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98)** +- **[커밋 컨벤션](https://github.com/kakao-tech-campus-2nd-step3/Team21_BE/wiki/%EC%BB%A4%EB%B0%8B-%EC%BB%A8%EB%B2%A4%EC%85%98)** + +
+ +## 👥 팀원 소개 +저희 팀은 **백엔드 2명, 안드로이드 3명**으로 구성되어 있습니다. + + + + + + + + + + + + + + + + +
최준형전혜지이아림윤채원권새일
+ + + +
+ Backend +
+ + + +
+ Backend +
+ + + +
+ Android +
+ + + +
+ Android +
+ + + +
+ Android +
+ +
+ +## 🛠 기술 스택 +### 💻 Language & Framework +- Java 21 +- Spring Boot 3.3 +- Spring Security +- Spring Data JPA + +### 📊 Database & Storage +- MySQL +- AWS S3 (파일 저장소) + +### 📱 Communication +- Firebase Cloud Messaging (FCM) + +### 🏗 Infra +- AWS EC2 +- AWS RDS + +### 🔧 Development Tools +- GitHub Actions + +### 📚 Documentation & Testing +- Swagger +- JUnit5 + +### ⚙️ Others +- JWT (인증/인가) +- Lombok + +
+ +## 🗄️ ERD +![erd](https://github.com/user-attachments/assets/72e66248-f217-434a-9f20-d8150abafee4) + +
+ +## 🔍 개발 주안점 +- **실시간성 확보** + - FCM을 활용한 즉각적인 푸시 알림 구현 + + - 댓글, 좋아요, 친구 요청, 자동 일기 작성 등 다양한 이벤트에 대한 실시간 알림 + +- **CI/CD 파이프라인 구축 및 최적화** + - Github Actions를 활용한 배포 자동화 + + - PR 단계에서 자동화된 테스트 실행으로 개발 생산성 향상 + - 이전에는 배포 환경에서 테스트 실패 시 새로운 PR을 생성하고, 배포하는 과정을 반복해야 했음 + +- **테스트 작성** + - 70% 이상의 테스트 커버리지 유지