🤝 활동/내배캠TIL

[내일배움캠프 44일차 TIL] 아웃소싱 프로젝트 설계

MNY 2024. 6. 20. 00:02
728x90
반응형
2024.06.19.(수)
오늘의 진도 : 아웃소싱 프로젝트 깃허브 생성까지...

깃허브.. 경이로운 녀석!
팀 프로젝트, 코드카타, 오늘의 회고 이렇게 3개의 큰 틀로 나누어 정리할 것이다.

 

팀 프로젝트

  • 진행 상황
    // ✨표시는 새롭게 알게 된 것 
    • 주제 정하기 ex) 배민, 요기요, ...
    • 패키지 도메인 형으로 결정
    • API 명세서 작성
    • ERD 다이어그램 작성 
    • 역할 분담
    • Github Issue TEMPLATE 생성
    • ✨ Github Projects 생성
    • ✨ PullRequest TEMPLATE 생성
  • 주제 정하기
    • 프로젝트 명 : 욕심쟁이(GreedyPeople)
    • 소개
      • 한 줄 정리 : 욕심내서 일한자 욕심내서 먹어라! 🍔🍖🍱🍦🍨
      • 내용 : 음식 주문 및 리뷰 작성이 가능한 음식 배달 어플리케이션
  • API 명세서 & ERD 다이어그램 작성
    • figma board : API 명세서 & erd 설계
    • erd cloud : erd 다이어그램 연관관계 정리
 

Figma

Created with FigJam

www.figma.com

  • 역할 분담
    • 사용자 인증 기능 & 프로필 관리 기능
    • 백 오피스 : Me
    • 좋아요 & 팔로우 기능 / 소셜 로그인(못하면 어쩔 수...)
    • 가게 및 메뉴 조회 / order & review CRUD 기능
  • 중요한 부분 // github 활용 
  • Github Issue TEMPLATE 생성
Task Bug

 

  • Github Projects 생성

 

  • PullRequest TEMPLATE 생성

 

      • 튜터님의 피드백
        • varchar 범위 수정 고려해볼것!
        • enum은 mysql에서만 사용가능한 것 알고 있나? (인덱스로 사용할 수 있는 장점)
        • price를 int로 설정한 이유가 있나?
        • <코드 컨벤션> : @JsonInclude(JsonInclude.Include.NON_NULL) 여부 고민
          • NULL 값이 아닌 값들은 JSON 형태로 가지 않겠죠?
          • 프론트엔드 입장에서는 찾으려는 데이터 없어서 undefined 오류가 날수도!
        • 제목을 바로 보면 알게끔 내용 추가
        • 개발환경의 패키지?도 고려해보세요 (패키지 구조!!!-생각보다 중요! 설계를 가늠할 수 있기 때문)
          클래스나 다른 네이밍 잘 고려해볼 것
      • 튜터님과 질의 응답
        • Q : 좋아요 테이블이 두 개면 좋은 이유가 무엇인가요?
          • A : 한개의 테이블 이면 여러 테이블이 하나의 테이블을 바라보고 데이터 적재
          • 테이블을 스캔한다고 생각했을때 성능이 떨어질 것을 고려해서 하나로 통합하여 사용하는 것은 좋지 않음
          • 그렇기에 해당 주 테이블이 될 수 있는 테이블에 서브 테이블 정도로 생각해서 만드는 것이 성능이나 관리측면에서 더 나을수있다
        • Q : 좋아요 생성일자가 필요할까요?
          • A : 대부분의 테이블에는 생성일자가 필요하다 언제 발생이 되었는지 알아야하기 때문에 추적을 위해서
          • 생성된 로우의 상태가 변화할때같은 경우에는 생성일자가 필요함
          • 변경되지 않고 축척되는 데이터일 경우에는 불필요함(?)
        • Q : 리뷰 수정(배민에서 리뷰 수정이 된다면 참사가 되지 않을까요? )
          • A : 프로그램 상이 아닌 정책 상 한 번 작성하면 수정이 불가능하지만 저장했을 때는 그냥 저장만 한 상태고 등록확정을 하면 그 때 부터는 수정이 불가능하게 설정하는 것을 고려하면 좋을 것 같다
        • 패키지 설계의 중요성
          • 패키지만 보고도 이게 어떤 프로젝트인지 알 수 있기에 중요

코드 카타

* 프로그래머스로 진행

 

  • SQL
    • 없어진 기록 찾기
    • 과일로 만든 아이스크림 고르기
    • 재구매가 일어난 상품과 회원 리스트 구하기
    • 최댓값 구하기

 


오늘의 회고

  • 12시간 중 얼마나 몰입했는가?

역시 프로젝트 펏 날은 12시간을 모두 몰입하지..

하얗게 불태웠다..

 

  • 오늘의 생각

백오피스 부분이 좀 많긴한데.. 

낮까지만 해도 다 할 수 있어! 였는데

갑자기 꺽였다.. 주말에 카페가서 코딩해야지...

 

  • 내일 학습할 것은 무엇인지

일단, github 이슈 작성이랑 환경설정 그리고 개인 환경 구축 완료!!!

728x90
반응형