2023년 04월 10일 월요일 - 2023년 05월 18일 목요일 (총 기간 : 6주)
- 저희 서비스는 친구들과 부른 노래를 모아 앨범을 만들어주는 음원 스트리밍 플랫폼입니다.
- 음원을 발매하고, 주변 지인들에게 공유할 수 있습니다.
- 음원 스트리밍 기능을 제공하고, 타임라인마다 댓글을 달 수 있습니다.
- 음원 스트리밍
- 앨범 등록 및 공유
- 음원 타임라인 별 댓글 제공
오윤식 | 김명준 | 김현수 | 정소영 | 조수정 | 최윤지 |
---|---|---|---|---|---|
BE / Team Leader | BE / Back-end Leader | FE / Front-end Leader | FE / Front-end | BE / Infra | FE / Design Leader |
Backend - Spring
- IntelliJ IDE
- Java 11.0.14
- Springboot 2.7.10
- Spring Data JPA
- Spring Security
- Spring Validation
- Spring Web
- QueryDSL 5.0.0
Infra
- AWS EC2
- AWS S3
- AWS CloudFront
- AWS Media Converter
- Jenkins 2.405
- Docker 23.0.6
- Docker-compose 23.0.6
- NGINX 1.18.0 (Ubuntu)
- SSL
Frontend
- Visual Studio Code IDE
- react 18.2.0
- redux 4.2.1
- typescript 5.0.4
- react-redux 8.0.5
- redux-persist 6.0.0
- styled-components 5.3.8
- styled-reset 4.4.5
- next: 13.3.0
- react-router-dom 6.8.2
- react-toastify 9.1.2
- react-responsive 9.0.2
Back-end
└─src
├─main
│ ├─java
│ │ └─com
│ │ └─lilacmusic
│ │ └─backend
│ │ ├─albums
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ ├─request
│ │ │ │ └─response
│ │ │ ├─exceptions
│ │ │ ├─model
│ │ │ │ ├─entitiy
│ │ │ │ ├─mapping
│ │ │ │ └─repository
│ │ │ └─service
│ │ ├─global
│ │ │ ├─common
│ │ │ ├─config
│ │ │ ├─error
│ │ │ │ └─common
│ │ │ ├─redis
│ │ │ ├─security
│ │ │ │ ├─annotation
│ │ │ │ ├─config
│ │ │ │ ├─jwt
│ │ │ │ └─oauth2
│ │ │ └─validation
│ │ ├─member
│ │ │ ├─controller
│ │ │ ├─entity
│ │ │ ├─exception
│ │ │ ├─repository
│ │ │ ├─request
│ │ │ ├─response
│ │ │ └─service
│ │ ├─musics
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ ├─request
│ │ │ │ └─response
│ │ │ ├─exceptions
│ │ │ ├─model
│ │ │ │ ├─entity
│ │ │ │ ├─mapping
│ │ │ │ └─repository
│ │ │ └─service
│ │ └─playlists
│ │ ├─controller
│ │ ├─dto
│ │ │ ├─request
│ │ │ └─response
│ │ ├─model
│ │ │ ├─entitiy
│ │ │ └─repository
│ │ └─service
│ └─resources
└─test
└─java
└─com
└─lilacmusic
└─backend
├─albums
│ ├─controller
│ ├─model
│ │ └─repository
│ └─service
├─global
│ └─validation
├─members
├─musics
│ ├─controller
│ └─service
└─playlists
├─controller
└─service
Front-end
├─api
│ ├─utils
│ ├─user.js
│ ├─player.js
│ └─album.js
├─assets
│ └─img
│ ├─common
│ ├─home
│ ├─
│ ├─logo
│ └─
├─components
│ ├─Common
│ │ ├─BasicText
│ │ ├─BasicInput
│ │ ├─BasicImage
│ │ ├─CustomTextButton
│ │ ├─CustomIconButton
│ │ ├─Header
│ │ ├─Template
│ │ ├─NavigationBar
│ │ ├─AlbumCard
│ │ ├─ProfileImg
│ │ ├─MenuBar
│ │ └─CommonModal
│ │ ├─SmallModal
│ │ └─LargeModal
│ ├─User
│ │ ├─LogIn
│ │ └─SignUp
│ ├─Home
│ │ └─BasicSlider
│ ├─Player
│ │ ├─PlayerContainer
│ │ ├─MusicPlayerBar
│ │ ├─MusicPlayerModal
│ │ ├─playerMenuBar
│ │ ├─CommentModal
│ │ ├─CommentList
│ │ ├─CommentInput
│ │ └─MusicControlerContainer
│ └─Container
│ ├─DragAndDrop
│ ├─MyAlbumBox
│ └─OwnAlbumBox
├─utils
| ├─Function
| ├─WrapperClass
├─hooks
| ├─useTabs.js
| ├─useInput.js
│ └─useInfiniteScroll.js
├─pages
│ ├─_app
| | ├─index.js
│ │ └─style.js
│ ├─_document
| | ├─index.js
│ │ └─style.js
│ ├─index
| | ├─index.js
│ │ └─style.js
│ ├─form
│ │ ├─index.js
│ │ └─style.js
│ ├─album
│ │ ├─index.js
│ │ ├─style.js
│ │ └─[albumId]
│ │ ├─index.js
│ │ └─style.js
│ ├─personal
│ │ ├─index.js
│ │ └─style.js
│ ├─oauth
│ │ ├─index.js
│ │ └─style.js
│ └─error
│ ├─index.js
│ └─style.js
├─stores
│ ├─user
│ ├─player
│ └─album
└─styles
└GlobalStyles.js
-
Jira
- 프로젝트 스프린트를 정하고 한 주의 계획대로 프로젝트를 진행했습니다.
- 팀원마다 주간 40의 Story Point를 설정하였습니다.
-
Notion
- 데일리 회의 스크럼, 요구 사항 정의서, API 명세서등을 문서화했습니다.
- 코딩 컨벤션, 깃 컨벤션 등 팀원간 개발 규칙을 정의했습니다.
-
Github
- 코딩 컨벤션을 준수하며 프로젝트를 진행하였습니다.
- Pull Request를 요청하고 팀원들과 코드리뷰를 진행하였습니다.
-
Figma
- 웹 페이지의 디자인 와이어프레임, 시안을 제작하였습니다.
- 서비스 프로토타입을 제작하였습니다.