재미있는 선물 나눔 서비스, 금나와라뚝딱!
안녕하세요!👋
저희는 프로그래머스 데브코스 1기의 👹도깨비팀입니다
여러분! 혹시 다수의 친구나 지인들에게 선물(ex 기프티콘)을 줄 때 불편했던 경험이 있으신가요?
금나와라뚝딱은 이러한 불편함을 해소하고 재미있게 선물을 전달하기 위해 탄생하였습니다!
전화번호를 몰라도 링크를 알고 있는 누구에게나 선물이 가능하고,
랜덤 또는 선착순인 눈치게임을 통해 게임처럼 재미있게 선물을 나눌 수 있습니다!
지인들에게 재미있는 방식으로 기프티콘과 다양한 메세지들을 선물해보세요!
1. 프로젝트 소개
2. 팀원 소개
3. 기술 스택 및 협업 도구
4. 협업 규칙
5. 기술 적용
6. 데이터베이스 설계도
7. 패키지 구조
금나와라 뚝딱은 친구들과 선물을 재미있게 나누기 위한 서비스 입니다.
이벤트를 생성한 주최자가 선물을 주고 싶은 사람들에게만 이벤트 링크를 나눠주고, 해당 링크로 접속하여 다양한 게임을 통해 선물을 획득하는 방법으로 진행됩니다.
서비스를 이용하기 위해서는 카카오톡 로그인을 진행한 후 이벤트에 참여하시거나 이벤트를 생성하시면 됩니다.
획득한 선물이나 생성한 이벤트는 오른쪽 상단의 자신의 카카오톡 프로필 사진을 누르면 마이페이지로 이동해 확인할 수 있습니다.
한맹희 | 최영권 | 신언주 |
Github | Github | Github |
- Java 11
- gradle 7
- Spring Boot 2.5.6
- JPA, Spring Data Jpa, QueryDSL
- AWS EC2, S3, RDS(MySQL8)
- Notion - 필요한 정보 정리를 위한 도구
- Gather - 실시간 소통을 위한 도구
- Slack - 실시간 소통을 위한 도구
- Jira - 이슈를 관리하기 위한 도구
- ERD Cloud
- Postman
- Mysql WorkBench, DataGrip
- Github Action
- Docker
- 코어 타임에는 슬랙 활성화 및 게더에 접속해있기 (13:00 ~ 19:00)
- 프로젝트 진행 중 개발이 힘든 부분은 즉각적으로 해결하기
- 매주 주말에 회고 진행하기
- 매일 오후 1시에 데일리 스크럼 진행하기
- 서로 배려하며 의사소통 열심히 하기
- 추가적인 규칙
지라 1 티켓 = 1PR 원칙
- 티켓 마다 feature 브랜치를 생성하고 develop으로 PR을 날립니다.
- feature 네이밍은
feature/{티켓번호}
ex) feature/GD-01 - 티켓 단위는 최대한 작게
Merge시 Squash
를 하거나 PR을 올릴때 로컬에서 Squash를 수행해서 commit graph를 최대한 단순하게 유지
- 백엔드 서버는 Java를 사용하여 효율적인 프로젝트 진행을 위해 Spring Boot를 활용하였습니다.
- 버전 관리 툴로 Git과 Github를 사용했고 GithubAction과 Docker를 사용해서 CI/CD를 구축하였습니다.
- 교육 과정에서 배운 AWS 클라우드 서비스를 적극 사용하여 백엔드 서버는 EC2로 구축하고 EC2위에 docker를 구동시켜서 EC2 경량화를 했습니다. 또한 선물 이미지를 저장하기 위해 AWS의 S3를 사용하여 이미지를 저장하고 받아오도록 했습니다.
- 데이터베이스는 MySQL을 사용하였고 AWS의 RDS를 사용하여 MySQL Server를 구축하였습니다. 동시성 처리를 위해서는 DB의 lock을 사용하여 동시성을 제어했습니다.
- java ci with gradle을 사용하여 지속적인 Build 프로세스 체크
- Github Action을 사용하여 Docker Image를 생성하고 Docker Hub로 push
그 후 Ec2에서 Docker Image를 pull 받아서 서버를 재실행하도록 구축
- Jwt 토큰 기반의 oauth2 카카오 소셜 로그인 구축
- User : Group : Role 구조 채택
- https 및 도메인 적용
- 한 주의 계획 정리
- 프론트엔드와의 회의 내용 기록
- 한 주의 스프린트 종료 후 회고 기록
-
이슈 생성
-
자동화
Click!
**gold-Dduck** ├─classes └─java ├─main │ └─com │ └─dokev │ └─gold_dduck │ ├─aws │ │ ├─config │ │ └─service │ ├─common │ │ ├─error │ │ ├─exception │ │ └─util │ ├─config │ ├─event │ │ ├─controller │ │ ├─converter │ │ ├─domain │ │ ├─dto │ │ ├─repository │ │ └─service │ ├─gift │ │ ├─controller │ │ ├─converter │ │ ├─domain │ │ ├─dto │ │ ├─repository │ │ └─service │ ├─jwt │ ├─member │ │ ├─controller │ │ ├─converter │ │ ├─domain │ │ ├─dto │ │ ├─repository │ │ └─service │ └─oauth2 └─test └─com └─dokev └─gold_dduck ├─aws │ └─service ├─event │ ├─controller │ ├─repository │ └─service ├─factory ├─gift │ ├─controller │ └─service └─security