-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
153 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,153 @@ | ||
# Team21_BE | ||
21조 백엔드 | ||
# Every Moment | ||
> 하루를 자동으로 기록하고 공유하는 위치 기반 소셜 다이어리 📝 | ||
![image](https://github.com/user-attachments/assets/d2be179d-e5e4-4b14-914f-8d88f5e6f7b5) | ||
|
||
<br/> | ||
|
||
## 📌 프로젝트 소개 | ||
매 순간을 기록하고 싶지만, 바쁜 일상 속에서 일기 쓰기는 쉽지 않습니다. | ||
Every Moment는 사용자의 위치 데이터를 기반으로 사용자의 하루를 **자동**으로 일기를 기록하고, 친구들과 공유할 수 있는 소셜 다이어리 서비스입니다. | ||
|
||
## 📌 프로젝트 소개 | ||
바쁜 일상 속에서 매 순간을 기록하기란 쉽지 않습니다. | ||
Every Moment는 위치 데이터를 기반으로 사용자의 하루를 **자동**으로 기록하고 친구들과 공유할 수 있는 소셜 다이어리 서비스입니다. | ||
|
||
### 핵심 기능 | ||
- 📍 **위치 기반 자동 기록**: 15분 이상 머문 장소 자동 감지 및 일기로 기록 | ||
|
||
- 🤝 **소셜 다이어리**: 친구들과 일기 공유 및 소통 | ||
- 🔍 **스마트 검색**: 다양한 필터링 옵션으로 원하는 일기 빠른 검색 | ||
- 🔔 **실시간 알림**: 친구와의 상호작용(좋아요, 댓글, 친구 요청 등)과 새로운 장소 감지를 실시간으로 알림 | ||
|
||
<br/> | ||
|
||
## ⭐️ 주요 기능 | ||
| 자동 일기 기록 | 손쉬운 일기 편집 | 다양한 검색 필터링 | 친구와의 일기 공유 | | ||
|:---:|:---:|:---:|:---:| | ||
| <img src="https://github.com/user-attachments/assets/c7aa92f4-0ab9-44bb-8abf-872eaeeefcbb" width="200px"> | <img src="https://github.com/user-attachments/assets/a3557c70-d183-4929-ab36-5833bacf2e36" width="200px"> | <img src="https://github.com/user-attachments/assets/3448752f-2c20-4d72-b59f-560708a6e037" width="200px"> | <img src="https://github.com/user-attachments/assets/fb29d6e7-8325-4656-8514-e6767bc034fc" width="200px"> | | ||
| 15분동안 머문 장소를<br>자동으로 기록 | 저장된 일기를<br>손쉽게 편집 | 다양한 검색 조건으로<br>손쉬운 일기 찾기 | 원하는 일기를 공유하여<br>친구와 소통 | | ||
|
||
<br/> | ||
|
||
## 🔍 프로젝트 정보 | ||
### 개발 기간 | ||
- 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)** | ||
|
||
<br/> | ||
|
||
## 👥 팀원 소개 | ||
저희 팀은 **백엔드 2명, 안드로이드 3명**으로 구성되어 있습니다. | ||
|
||
<table align="center"> | ||
<tr align="center"> | ||
<td><B>최준형<B></td> | ||
<td><B>전혜지<B></td> | ||
<td><B>이아림<B></td> | ||
<td><B>윤채원<B></td> | ||
<td><B>권새일<B></td> | ||
</tr> | ||
<tr align="center"> | ||
<td> | ||
<a href="https://github.com/peeerr"> | ||
<img src="https://github.com/peeerr.png" style="max-width: 100px"> | ||
</a> | ||
<br> | ||
<a href="https://github.com/peeerr"><B>Backend</B></a> | ||
</td> | ||
<td> | ||
<a href="https://github.com/HyeJiJUN11"> | ||
<img src="https://github.com/HyeJiJUN11.png" style="max-width: 100px"> | ||
</a> | ||
<br> | ||
<a href="https://github.com/HyeJiJUN11"><B>Backend</B></a> | ||
</td> | ||
<td> | ||
<a href="https://github.com/arieum"> | ||
<img src="https://github.com/arieum.png" style="max-width: 100px"> | ||
</a> | ||
<br> | ||
<a href="https://github.com/arieum"><B>Android</B></a> | ||
</td> | ||
<td> | ||
<a href="https://github.com/settle54"> | ||
<img src="https://github.com/settle54.png" style="max-width: 100px"> | ||
</a> | ||
<br> | ||
<a href="https://github.com/settle54"><B>Android</B></a> | ||
</td> | ||
<td> | ||
<a href="https://github.com/todlf"> | ||
<img src="https://github.com/todlf.png" style="max-width: 100px"> | ||
</a> | ||
<br> | ||
<a href="https://github.com/todlf"><B>Android</B></a> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
<br/> | ||
|
||
## 🛠 기술 스택 | ||
### 💻 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 | ||
|
||
<br/> | ||
|
||
## 🗄️ ERD | ||
![erd](https://github.com/user-attachments/assets/72e66248-f217-434a-9f20-d8150abafee4) | ||
|
||
<br/> | ||
|
||
## 🔍 개발 주안점 | ||
- **실시간성 확보** | ||
- FCM을 활용한 즉각적인 푸시 알림 구현 | ||
|
||
- 댓글, 좋아요, 친구 요청, 자동 일기 작성 등 다양한 이벤트에 대한 실시간 알림 | ||
|
||
- **CI/CD 파이프라인 구축 및 최적화** | ||
- Github Actions를 활용한 배포 자동화 | ||
|
||
- PR 단계에서 자동화된 테스트 실행으로 개발 생산성 향상 | ||
- 이전에는 배포 환경에서 테스트 실패 시 새로운 PR을 생성하고, 배포하는 과정을 반복해야 했음 | ||
|
||
- **테스트 작성** | ||
- 70% 이상의 테스트 커버리지 유지 |