1차 프로젝트 🩺🍪 Dr.Tart - 백엔드 중간발표 내용

Hailey Park·2021년 12월 5일
0

1차 프로젝트

목록 보기
2/6
post-thumbnail

:: 첫 번째 발표 포인트 - Project Process (Scrum)

1. sprint routine이 잘 지켜지고 있는지?

YES 미팅 시간 약속도 잘 지켜졌음.

1) Planning meeting :  12/6 월요일 오전 2nd sprint 업무 세분화 및 일정 fix 예정

2) Daily Standup meeting : 매일 오전 10시 30분에 15~20분 내외로 진행

3) retrospective meeting : 1st sprint 종료 이후에는 진행하지 못했음

→ 월요일 2차 sprint 미팅 진행 시에 1차 sprint 회고 예정

멘토리뷰이전에 진행되었던 미팅 로그 보여주기 멘토님과 함께 진행되었던 스탠드업 미팅 이전에는 미팅 이후에 미팅 로그를 작성하는 방식으로 진행되었고, 팀 노션 페이지에 공유하여 팀원 모두 확인 가능 / 미팅 시에 거의 모든 내용이 공유되었음

[멘토님 리뷰]
GOOD

1) ERD 공유하는 것 좋았고 & 회의할 때 트렐로 보면서 하는 것 좋았고

개선 사항

1) 트렐로 티켓 Done의 기준을 잘 정하는 것이 중요 → merge 기준 ( 작업 1차 완료 시 리뷰 대기중이라는 스테이터스를 하나 더 추가하는 것이 좋다)

2) 미팅 시에 발언 내용의 템플릿이 있었으면 좋겠다

3) 미팅 전 '사전 미팅 로그'가 작성되었으면 좋겠다.

4) 다 같이 논의해야 할 내용이 있고 당사자들끼리의 논의 내용은 따로 빼서 진행하는 것이 효율적일 것 같다.

5) schema는 나와야함 - > API 문서 정도는 있어야 함

[멘토님 리뷰 이후] - > 멘토님 리뷰 사항 모두 반영 완료

1) 데일리 스탠덥 미팅 전에 사전 미팅 로그 작성하여 모두가 미팅 5분 전 퀵하게 확인할 수 있게 함.

2) 미팅 시 : 각자 어제한 일, 오늘 한 일, blocker의 템플릿을 가지고 돌아가면서 개개인이 발화한 후, 발화 내용에 대한 팀원들의 피드백 또는 질문이 이어졌음

3) 다같이 논의해야할 내용만 스탠덥 미팅에서 논의하고, 백은 백끼리 프론트는 프론트끼리 따로 논의 시간을 가져서 논의

4) API 문서 보여주기 API 문서는 현재 로그인 회원가입 파트 부분만 작성이 완료되었고, 키값 맞추는 것까지 작성이 되어있음. 데이터타입 2차스프린트에 작성 예정 & 나머지는 view 작성이 완료되는 대로 작성 예정 - > 바게트 팀의 API 문서 참고하여 작성하였음

2. Trello 관리는 제대로 이루어지고 있는지

1. Sprint 계획

1) ERD 모델링

2) models.py 작성

3) csv uploader script 작성

4) view 짜기 - 로그인 & 회원가입 & 제품페이지(는 가능하면 하는걸로)

2. 진행상황

1) 로그인 & 회원가입

2) 제품 페이지 view 완성

3) 장바구니 view POST, GET 완료

  • Merge는 모델링까지 받았고, 로그인&회원가입 금일 PR 리뷰 확인 예정

3. 앞으로의 계획

0) 데이터 내용 만들기 - 시간날 때 프/백 1인당 6개씩 (데드라인: 수요일 오후)

1) 장바구니 PATCH, DELETE 완료 예정 - 화요일 전까지

2) 오더 페이지 완료 예정 - 수요일 오전까지

3) 상품 검색 페이지 (url 필요해서 view도 만들어야하나, 모든 제품 페이지 view 내용 그대로 쓰면 됨)

4) 마이 페이지 (url 필요해서 view도 만들어야하나, 금방 쓸 듯) - 수요일 오전까지

5) 제품 페이지 내 리뷰 게시판 (리뷰&평점 post, get / 댓글 post, get) - 수요일 저녁까지

6) 제품 좋아요(위시리스트로 하게된다면 마이페이지, 제품에 달린 좋아요로 하게 된다면 제품페이지)

- 수요일 저녁까지

7) 프론트와 통신 : view 완료될 때마다 통신 예정

8) 코드 리팩토링 & 리팩토링 & 리팩토링 - 수요일밤 ~ 금요일 아침까지

  • 추상클래스 TimeStampModel 만들고 모듈화 (월요일)

3. Blocker 요소에 대해

  1. Git -rebase : 이게 뭐죠? 아직 rebase랑 merge랑 헷갈리고 정확한 개념을 모릅니다.

  2. Unit Test → ??????????? 안해봤음

  3. 처음 만드는 기능 어떤 어려움이 있는지

products = Product.objects.all()
        
        try:
            product_list = []               
            for product in products:
                a = product.orderitem_set.all().values('product').annotate(product_quantity=Sum('quantity'))
                for i in a:
                    product_list.append({
                        'id' : product.id,
                        'korean_name' : product.korean_name,
                        'price' : product.price,
                        'thumbnail_image_url' : product.thumbnail_image_url,
                        'vegan_or_not' : product.vegan_or_not,
                        'category':{
                                'name' : product.category.menu.name,
                                'category' : product.category.name
                            },
                        'order_quantity': i['product_quantity'],
                        'created_at' : product.created_at
                            
                    })
In [18]: for product in products:
    ...:     a = product.orderitem_set.all().values('product').annotate(pro_quantity
    ...: =Sum('quantity')).order_by('pro_quantity')
    ...:     print(a)
    ...:
<QuerySet [{'product': 1, 'pro_quantity': 10}]>
<QuerySet [{'product': 2, 'pro_quantity': 5}]>
<QuerySet [{'product': 3, 'pro_quantity': 150}]>
<QuerySet [{'product': 4, 'pro_quantity': 20}]>
<QuerySet [{'product': 5, 'pro_quantity': 25}]>

In [19]: for product in products:
    ...:     a = product.orderitem_set.all().values('product').annotate(pro_quantity
    ...: =Sum('quantity'))
    ...:     for i in a:
    ...:         a = print(i)
    ...:
{'product': 1, 'pro_quantity': 10}
{'product': 2, 'pro_quantity': 5}
{'product': 3, 'pro_quantity': 150}
{'product': 4, 'pro_quantity': 20}
{'product': 5, 'pro_quantity': 25}

1) 프로덕트 정현님 : annotate로 Sum을 해서 제품 판매량의 총 합계를 구해서 그 합계량을 기준으로 내림차순 정렬하고 싶으나, for문을 돌렸기 때문에 order_by() 적용이 안되고, 리스트로 담은 다음 파이썬에서 가공해야할 것 같음.

2) 장바구니 민혁님

3) 로그인 회원가입 주호님

  1. 기능구현단위로 브랜치나눠서 PR안하고 앱하나의 여러기능 다 만들고 PR신청했다가 다시 나눠서 머지받아야되는 상황이 생김에따라 딜레이된것

  2. 체력

  3. 일정관리에 아직도 어느정도 기간에 어느정도해낼수 있을지 모르겠어요

  4. 대화를 계속한다고했지만 결국 FE,BE붙이는 과정에서 수정사항(이름입력칸)이 생겨서 제대로된커뮤니케이션이 안됐던거였음

  5. 처음 만들어보는 기능구현은 쿼리 명령문을 모르는것도 많고 아직도 익숙치 않은 것과 객체, 쿼리등 데이터 형태를 자유자재로 다루지못한다는 점이 로직을 생각해내기도 전어 벽에 부딪힌느낌이었습니다

협업이란?

여러 명이 팀을 이뤄 공통의 목표 (동 프로젝트에서는 "디저트 구매 서비스 제공 웹사이트 구현") 를 달성하기 위해 진행하는 모든 과정 (정현 뇌피셜)

협업의 어려움 : 지금은 생애 최초로 진행되는 "개발" 프로젝트이다. → 어려움이 없을 수가 없다고 생각한다.

일정/업무를 핸들링하는 성향이 각기 다르다. (예를 들어 정현은 쉴 새 없이 바쁘게 돌아가는 의류 생산 / 디지털 마케팅 직무에 종사했기 때문에 담당 업무를 빨리 쳐내고 쳐내고 다른 부서에서 끊임 없이 치고 들어오는 업무를 쳐내는 방식에 익숙하지만 다른 팀원들은 정현의 업무 핸들링 방식이 다소 생소하거나 불편할 수 있음) → 성향이 다른 사람과 업무/일정 핸들링 방식에 대해 서로 잘 조율하는 것도 협업을 잘 하는 것 중 하나라고 볼 수 있을 것 같다. (현업에 나가면 나와 성향이 다른 사람과 일을 하게 될 확률이 120%)

혼자 공부할 때 이해하고 넘어가던 방식과 프&백 협업 프로젝트는 전혀 다른 것 같다. 나 혼자 이해했다고 그럼 이제 끝!이 아니고, 반대로 내가 이해가 끝까지 안된다고 해서 2주 이상 지체시킬 수도 없다.

코드 로직을 잘 짜는 사람, 커피를 사주는 사람, 분위기 메이커, 팀원 한 명이 기분이 안 좋을 때 감정적으로 잘 케어해주는 사람, 이해 속도가 빠른 사람, 계획을 잘 세우는 사람, 업무 외 적인 부분에서 서포트를 잘 하는 사람 등등 개개인이 맡은 역할이 분명히 있다. 이런 사소한 것들도 협업에 영향을 미치는 듯.

팀원 개개인으로부터 배울 점이 분명히 있다. 굳

업무 분담을 하게 되니 혼자 하면 절대 시간이 안될 것 같은 일도 같이 하면 할 수 있는 듯.

profile
I'm a deeply superficial person.

0개의 댓글