Skip to content

Commit

Permalink
Merge pull request #161 from EFUB4-Jukebox/revert-160-develop
Browse files Browse the repository at this point in the history
Revert "[Deploy] 배포 v0.5.8 - 탈퇴한 사용자 확인을 위해 creatorStatus를 핀 상세정보, 음악 상세정보 응답에 추가"
  • Loading branch information
seohyun-lee authored Aug 8, 2024
2 parents 681e183 + c079925 commit dfb86a4
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 77 deletions.
113 changes: 44 additions & 69 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,28 @@
<div align="center">

# 🎵songpin-backend🎵

EFUB 4기 SWS 3팀 "SongPin" 프로젝트 백엔드 레포지토리입니다.

<br>

<img src="src/main/resources/static/검정로고.png" width="300">

**나의 음악지도, SongPin**

<a href="https://hits.seeyoufarm.com">
<img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FEFUB4-Jukebox%2Fsongpin-backend&count_bg=%235452FF&title_bg=%23B6FF5A&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false"/>
</a>

<br>
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/EFUB4-Jukebox/songpin-backend"/></a>

<a href="https://www.instagram.com/songpin_official/">
<img alt="Instagram" src="https://img.shields.io/badge/-Instagram-white?logo=Instagram&logoColor=d42121">
</a>
</div>

## 💻 프로젝트 소개

장소에는 기억과 소리가 담깁니다. 여러분이 언젠가 여행을 떠났을 때 들었던 음악을 기억하나요?
여행지에서 많이 들은 음악은 곧, 그 장소의 분위기를 상징하고 기억할 수 있는 추억을 지닌 음악이 됩니다.
여행이 끝나도 사람들은 그 음악을 들으면서 행복했던 여행의 순간들을 생생하게 회상합니다. 이러한 아이디어에서 'SongPin' 프로젝트가 탄생했습니다.

## ⏰ 개발 기간

- 24.07.01 - 24.08.09

## 📍 주요 기능
<img src="src/main/resources/static/프로젝트 소개2.png" width="500">
<img src="src/main/resources/static/프로젝트 소개3.png" width="500">
<img src="src/main/resources/static/프로젝트 소개4.png" width="500">
<img src="src/main/resources/static/프로젝트 소개5.png" width="500">

## 🌟 팀원 소개


| 이서현 | 정유정 | 황채린 | 문하영 |
| :----------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: |
| <img src="https://avatars.githubusercontent.com/u/32611398?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/141399892?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/87927105?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/124586544?v=4" width="125" height="125"/> |
| [@seohyun-lee](https://github.com/seohyun-lee) | [@jud1thDev](https://github.com/jud1thDev) | [@crHwang0822](https://github.com/crHwang0822) | [@gkdudans](https://github.com/gkdudans) |
| CI/CD 환경 구축 및 배포<br>Place, Follow, Alarm API 개발<br>통계 페이지, 지도 핀 정보 제공 | [Pin] 핀 생성, 조회, 수정, 삭제 기능<br> [Spotify] 핀 생성 시 스포티파이API를 활용한 검색 기능 <br> [Song] 노래 상세정보 조회, 해당 노래에 대한 전체 핀 목록/내 핀 목록 조회, 노래 검색 기능 <br> [Feed] 타유저/마이핀피드 조회, 마이핀피드 검색, 마이핀피드 캘린더 기능 | [Member] 회원가입, 회원 탈퇴, 유저 조회/편집 기능<br>[Auth] 스프링 시큐리티, JWT, Redis 를 이용한 토큰 (재)발급/인증/인가 구현, 로그인/로그아웃, 비밀번호 재설정 메일 전송 기능 | Playlist, Bookmark API 개발<br>Home 페이지 |
| 이서현 | 정유정 | 황채린 | 문하영 |
|:-------------------------:|:----------------------:|:-----------------------:|:---------------------:|
| <img src="https://avatars.githubusercontent.com/u/32611398?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/141399892?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/87927105?v=4" width="125" height="125"/> | <img src="https://avatars.githubusercontent.com/u/124586544?v=4" width="125" height="125"/> |
| [@seohyun-lee](https://github.com/seohyun-lee) | [@jud1thDev](https://github.com/jud1thDev) | [@crHwang0822](https://github.com/crHwang0822) | [@gkdudans](https://github.com/gkdudans) |
| CI/CD 환경 구축 및 배포<br>Place, Follow, Alarm API 개발<br>통계 페이지, 지도 핀 정보 제공 | 스포티파이 API 연결<br>Pin, Song, Genre API 개발 | [Member] 회원가입 API, 회원 탈퇴 API, 유저 조회/편집 API 등 <br>[Auth] 스프링 시큐리티, JWT, Redis 를 이용한 토큰 (재)발급/인증/인가 구현, 로그인/로그아웃 API, 비밀번호 재설정 메일 전송 API 등| Playlist, Bookmark API 개발<br>Home 페이지 |

## 🛠️ 기술 스택

Expand All @@ -59,20 +40,19 @@ EFUB 4기 SWS 3팀 "SongPin" 프로젝트 백엔드 레포지토리입니다.
<img src="https://img.shields.io/badge/Spotify API-1DB954?style=for-the-badge&logo=spotify&logoColor=white">
![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white)


**Deploy**

<img src="https://img.shields.io/badge/AWS EC2-FF9900?style=for-the-badge&logo=amazonec2&logoColor=white"> <img src="https://img.shields.io/badge/AWS RDS-527FFF?style=for-the-badge&logo=amazonrds&logoColor=white"> ![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge&logo=nginx&logoColor=white) <img src="https://img.shields.io/badge/github actions-181717?style=for-the-badge&logo=github actions&logoColor=white"> <img src="https://img.shields.io/badge/docker-2496ED?style=for-the-badge&logo=docker&logoColor=white"> <img src="https://img.shields.io/badge/docker compose-2496ED?style=for-the-badge&logo=docker&logoColor=white">

<br>

## ☁ ERD

![SongPinERD_240723](https://github.com/user-attachments/assets/9ef0b1c9-1c1a-471d-840e-888efa3d35b4)

<br>

## 📁 프로젝트 구조

```
📂
├─.github
Expand Down Expand Up @@ -174,61 +154,56 @@ EFUB 4기 SWS 3팀 "SongPin" 프로젝트 백엔드 레포지토리입니다.
└─templates
└─email
```

<br>

## 📝 규칙

#### 커밋 컨벤션

- "태그: 한글 커밋 메시지" 형식으로 작성
- 컨벤션 예시
- feat: 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 포맷팅, 오타 수정, 주석 수정 및 삭제 등
- refactor: 코드 리팩터링
- chore: 빌드 및 패키지 수정 및 삭제
- merge: 브랜치를 머지
- ci: CI 관련 설정 수정
- test: 테스트 코드 추가/수정
- release: 버전 릴리즈
- "태그: 한글 커밋 메시지" 형식으로 작성
- 컨벤션 예시
- feat: 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 포맷팅, 오타 수정, 주석 수정 및 삭제 등
- refactor: 코드 리팩터링
- chore: 빌드 및 패키지 수정 및 삭제
- merge: 브랜치를 머지
- ci: CI 관련 설정 수정
- test: 테스트 코드 추가/수정
- release: 버전 릴리즈

<br>

#### PR 템플릿

```
# 구현 기능
- 구현한 기능을 요약하여 정리합니다.
# 구현 상태 (선택)
- img, gif, video...
- 혹은 내용 정리
# Resolve
- 이슈 태그(ex: #7)
```

- PR 체크 리스트
- PR 제목 형식 : `[Type] PR 제목`
- ex. `[Chore] 프로젝트 구조 설정`
- 타입은 대문자로
- label 설정
- Code Review 요청 / 작업자 Assign
- PR 확인한 사람은 확인 코멘트 달기. 작성자 외 2명 확인 후 마지막 사람이 merge

```
# 구현 기능
- 구현한 기능을 요약하여 정리합니다.
# 구현 상태 (선택)
- img, gif, video...
- 혹은 내용 정리
# Resolve
- 이슈 태그(ex: #7)
```

- PR 체크 리스트
- PR 제목 형식 : `[Type] PR 제목`
- ex. `[Chore] 프로젝트 구조 설정`
- 타입은 대문자로
- label 설정
- Code Review 요청 / 작업자 Assign
- PR 확인한 사람은 확인 코멘트 달기. 작성자 외 2명 확인 후 마지막 사람이 merge

<br>

#### issue 규칙

- 각 기능에 맞는 이슈 템플릿 작성 (작업 및 변경사항 확인용)
- to-do에 구현해야할 기능을 작성하고, 구현이 끝나면 체크표시
- 각 기능에 맞는 이슈 템플릿 작성 (작업 및 변경사항 확인용)
- to-do에 구현해야할 기능을 작성하고, 구현이 끝나면 체크표시

<br>

#### branch 규칙

- 브랜치 네이밍 규칙: `feat/{도메인혹은큰기능}` ex) `feat/place`
- `feat -> develop -> deploy -> main` 순으로 merge
- `feat` : 각 기능을 개발하는 브랜치
Expand Down
1 change: 1 addition & 0 deletions src/main/java/sws/songpin/domain/member/entity/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public void modifyProfile(ProfileImg profileImg, String nickname, String handle)

public void deactivate(String handle){
this.status = Status.DELETED;
this.nickname = "(알 수 없음)";
this.handle = handle;
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/sws/songpin/domain/pin/service/PinService.java
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,10 @@ public SongDetailsPinListResponseDto getPinsForSong(Long songId, boolean onlyMyP
Page<Pin> pinPage;

if (onlyMyPins) {
// 내 핀만 보기 - 현재 사용자의 모든 핀 가져오기
// 내 핀만 보기 - 현재 사용자의 모든 핀 가져오기(visibility 상관없음)
pinPage = pinRepository.findAllBySongAndCreator(song, currentMember, pageable);
} else {
// 전체 핀 보기 - 내 핀 가져오기
// 전체 핀 보기 - 내 핀 가져오기(visibility 상관없음) + 타유저의 공개 핀 가져오기
pinPage = pinRepository.findAllBySong(song, pageable);
}
Page<SongDetailsPinDto> songDetailsPinPage = pinPage.map(pin -> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package sws.songpin.domain.playlist.dto.response;

import sws.songpin.domain.member.entity.Status;
import sws.songpin.domain.model.Visibility;
import sws.songpin.domain.playlist.entity.Playlist;

Expand All @@ -12,7 +11,6 @@ public record PlaylistDetailsResponseDto(
String playlistName,
Long creatorId,
String creatorNickname,
Status creatorStatus,
int pinCount,
LocalDate updatedDate,
Visibility visibility,
Expand All @@ -26,7 +24,6 @@ public static PlaylistDetailsResponseDto from(Playlist playlist, List<String> im
playlist.getPlaylistName(),
playlist.getCreator().getMemberId(),
playlist.getCreator().getNickname(),
playlist.getCreator().getStatus(),
pinList.size(),
playlist.getModifiedTime().toLocalDate(),
playlist.getVisibility(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package sws.songpin.domain.song.dto.response;

import sws.songpin.domain.member.entity.Status;
import sws.songpin.domain.pin.entity.Pin;
import sws.songpin.domain.model.Visibility;

Expand All @@ -10,7 +9,6 @@ public record SongDetailsPinDto(
Long pinId,
Long creatorId,
String creatorNickname,
Status creatorStatus,
LocalDate listenedDate,
String memo,
Visibility visibility,
Expand All @@ -24,7 +22,6 @@ public static SongDetailsPinDto from(Pin pin, String memo, Boolean isMine) {
pin.getPinId(),
pin.getCreator().getMemberId(),
pin.getCreator().getNickname(),
pin.getCreator().getStatus(),
pin.getListenedDate(),
memo,
pin.getVisibility(),
Expand Down
Binary file removed src/main/resources/static/검정로고.png
Binary file not shown.
Binary file removed src/main/resources/static/프로젝트 소개2.png
Binary file not shown.
Binary file removed src/main/resources/static/프로젝트 소개3.png
Binary file not shown.
Binary file removed src/main/resources/static/프로젝트 소개4.png
Binary file not shown.
Binary file removed src/main/resources/static/프로젝트 소개5.png
Binary file not shown.

0 comments on commit dfb86a4

Please sign in to comment.