Skip to content

10geukbok/petkpetk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,278 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

petkpetk

📎 프로젝트 소개

동물 애호가들의 커뮤니티이자 온라인 쇼핑몰을 결합한 멀티 플랫폼 반려동물을 사랑하는 사람들이 직접 만들어가는 ”상품 판매 중개 커뮤니티 플랫폼” 입니다.



🧑‍🤝‍🧑 팀원 소개

팀장 개발 리더 디자인 리더
최병호 김혜진 강예은



🗂️ Architecture

architecture

💾 ERD 구조

image

🛠️ 기술 스택



Collaboration tool


Evironment


Front-End



Back-End



Data


Test


Infra



📱Demo

🚀 회원가입과 로그인 🔍 메인 조회
회원가입과 로그인 메인 조회
🧑🏻‍💻 상품조회 🚀 상품 바로 결제
상품조회 상품 바로 결제
💵 장바구니 결제 📝 리뷰 작성 / 수정
장바구니 결제 리뷰 작성
✅ 게시글 등록 / 수정 ✅ 게시글, 댓글 조회
게시글 등록 / 수정 게시글, 댓글 조회
🚀 1대1 질문 등록, 삭제
1대1 질문 등록, 삭제
🚀 관리자 회원가입 🔍 관리자 승인
관리자 회원가입 관리자 승인
🚀 관리자 로그인 🔍 관리자 비밀번호 찾기
관리자 로그인 관리자 비밀번호 찾기
🚀 관리자 qna 관리 🔍 관리자 공지사항 관리
관리자 qna 관리 관리자 공지사항 관리
🚀 관리자 faq 관리 🔍 관리자 회원,아이템,게시글 관리
관리자 faq 관리 관리자 회원,아이템,게시글 관리

👍 특장점 기술

✨객체지향&도메인지향 설계 및 구현

  • 하나의 메서드가 하나의 기능에 충실하도록 구현 (SRP) SRP

  • 객체 스스로 처리할 수 있는 부분에 대한 책임 부여 (캡슐화) 캡슐화

  • 함수형 인터페이스와 람다식을 이용한 책임과 역할 분리 (OCP, ISP) OCP, ISP

  • 스트림 API 적극 이용, if분기문과 for반복문 지양 반복문 지양

✨ 쿼리 메서드, 쿼리Dsl 적극 활용 Db로직 구현

  • 쿼리 메서드를 활용한 가독성 좋고 유연한 쿼리 작성 유연한 쿼리 작성

  • 쿼리 Dsl 활용한 동적 쿼리 작성 및 쿼리 최적화 쿼리 최적화1 쿼리 최적화2


🚀 트러블 슈팅

  1. UserAccount 엔티티의 RoleType을 어떻게 할까?
  2. Address는 뭐가 맞아? 다대일 vs. Embedded
  3. 잦은 Entity ↔ Dto 변환, 쉽게 할 수 없을까?
  4. 이미지… 어떻게 처리해야 깔끔할까?
  5. createdBy에 null이 뜬다고?
  6. 소셜 유저… 다 좋은데 Security 인증 객체랑 다르잖아!
  7. Google vs. Naver & Kakao 너희들 왜 다르냐 ?!
  8. 이메일 인증 코드, 잠깐만 보관해야 하는데…
  9. 서버와 서버를 연결하는 가장 쉬운 방법
  10. 이럴 때도 flushing 이 필요하다고?
  11. @ManyToMany 해시태그 구현 완. 그런데…
  12. @ManyToMany 를 사용할 수 없다면 ?
  13. Security, 대신해줘서 고마운데 이건 내가 할게
  14. 한번은 마주칠 줄 알았지, 윈도우 vs. 맥…
  15. 대표 이미지만 가져와줘!
  16. 리뷰 별점, 수학의 힘을 빌려보자
  17. @ResponseBody 너 하나로 충분했구나?

🎯 프로젝트 컨벤션

스크럼 및 코어타임

  • 데일리 스크럼 AM 10시
  • 프로젝트 코어 타임 10 ~ 18

커밋 규칙

  • ✨ feat : 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정
  • 🐛 fix : 기능에 대한 버그 수정
  • 👷 build : 빌드 관련 수정
  • 📦 chore : 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore
  • 📝 docs : 문서(주석) 수정
  • 🎨 style : 코드 스타일, 포맷팅에 대한 수정
  • ♻️ refactor : 기능의 변화가 아닌 코드 리팩터링 ex) 변수 이름 변경
  • 🔖 release : 버전 릴리즈
  • 🔀 merge : 병합
  • 🗃 db : 데이터베이스 관련 수정
  • 👽 api : api 관련 수정



깃허브

  • 브랜치 전략은 git flow 를 사용했습니다.
  • Pull Request 로만, merge 하도록 했습니다.
image



코드

코드 컨벤션은 naver-intelliJ-formatter 를 적용했습니다.
코딩 컨벤션을 준수하면 가독성이 좋아지고 성능에 영향을 주거나 오류를 발생시키는 잠재적인 위험 요소를 줄여줘 유지보수 비용을 줄일 수 있기 때문에 Java 에서 대중적인 '네이버의 자바 컨벤션' 을 적용하였습니다.

About

kosta 256 ssibgeukbok team's shopping web service project based on Springboot and Jpa

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors