Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: 리드미 정리 #113

Merged
merged 1 commit into from
Nov 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 153 additions & 2 deletions README.md
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% 이상의 테스트 커버리지 유지
Loading