본문 바로가기
PROJECT/엘리스 SW 엔지니어 트랙 2기 (1차 PROJECT)

[PROJECT 1주차 - 1] 회의록 및 간단한 회고

by SanGumi 2022. 5. 25.

우선 우리팀은 5명으로 구성되어 있고, 프론트 3명 / 백엔드 2명 조합이다!

그리고 나는 프론트엔드 단에 속해 있으면서 이 팀의 팀장을 맡았다!!

내가 팀원들에게 도움이 되는 팀장이었으면 좋겠다.... 😂😂 화이팅!!

 


 

일단 크게 오늘 해야할 것은

 

역할분담
브랜치 생성
DB 연결 이었다!!!

 

오전 세미나를 듣고, 우선 엘리스에서 제공해 준 gitlab에서 팀 repository를 작성한 뒤 거기서 브랜치 생성 및 commit 연습을 하였다.

 

캡쳐 시점은 글쓴날이지만.. 우리 팀의 repository 페이지!

 

나를 포함한 팀원분들이 아직 gitlab 에 익숙하지 않아서 이미 생성된 gitlab repository를 날릴 각오를 하고 수 많은 테스트를 하였다(하지만 이렇게 연습을 했음에도.. 기존에 만들어진 repository를 그냥 사용하기로 해서 master branch를 초기화 해야했다. 이 초기화도 생각대로 안돼서 튜터님께 도움을 요청하는 등 팀이 고생을 많이 했다ㅠㅠ)


그리고 gitlab에서 clone을 받았을 때 프로젝트 폴더명이 자꾸 test 라고 떠서... 구글링도 하고 여러가지 시도를 해봤는데
setting - General settings - project Name을 바꿔줘야 한다는 것을 처음 알았다...
이렇게 아직 여러모로 많이 미숙함을 느끼고 있다......

 


 

배웠던 것을 체화하기 위해! 2주간 빠르게 진행되는 프로젝트이므로 엘리스에서 스켈레톤 코드와 완성된 사이트의 데모버전 사이트 링크를 주셨다.

우리는 일단 1주차엔 최대한 데모 버전을 기준점 삼아 참고하여 copy를 한 다음, 2주차 때 리펙토링을 조금씩 하며 기능을 추가하기로 했다.

 

첫날에는

  • 스켈레톤 코드를 분석하고,
  • 커밋 컨벤션과 코딩 컨벤션을 정하고,
  • gitlab의 Milestone과 Issue를 작성하고,
  • prettier를 세팅하고,
  • IA 를 작성하고,
  • 역할을 분담하고,
  • 자잘한 작업방식에 대한 합의를 하였다.

팀 IA - 민선님께서 작성법을 알려주시고 작성해주셨다.

 

팀 Issue

 

또한 매일 저녁 7시~10시 사이 1시간동안 월,수,금은 백엔드 오피스아워 / 화,목은 프론트엔드 오피스 아워를 진행하는데 이 때 본인 포지션의 튜터님에게 질문을 하고 답변을 받을 수 있다!

나는 내용을 참관해서 흐름을 알고, 회의록을 작성해주기 위해 포지션에 상관없이 모든 오피스아워에 참석하기로 했다.

 

우선 프론트단에서는 최소한 수요일까지 마크업 개발을 완료한 뒤 대략 목요일부터 구체적인 기능 개발에 착수하기로 합의가 되었다.

 


 

5/23 회의록

 

<안건>

 

1. image 폴더 만들기 (views 폴더 안에?)
-> 민선님 의견 : /shopping-mall/src/public/image (public 폴더를 제작하고 그 안에 이미지를 넣자)

2. Milestone 만들어서 2주차에 만들었으면 하는 기능 이슈로 넣도록!! (완료)

3. prettier, ESlint 세팅해두기

4. bulma를 사용할 것인가 / css를 처음부터 빌드업 해볼 것인가
- 엘리스에 문의

=> form 쪽은 bulma 활용이 더 빠를 것(지금부터 bulma 사용).
현재 구현되어 있는 부분은 bulma 건드리지 말고 그냥 사용.
2주차부터 직접 개발할 때는 CSS로 처음부터 빌드업 해보기.


<프론트엔드 회의>

1. IA 작성해보는게 좋을 것 같음
https://www.itlab.co.kr/v7/?c=216/projectdocu&sort=hit&uid=831
(이 내용(작업방식) 백엔드에 공유해주기)

2. 데모 페이지 기준으로 구현하되, 분절해서 구현하도록 하자
우선적으로 해야할 일?

1) 쇼핑 메인 페이지 HTML,CSS 정리 및 작성 (이미지 슬라이드까지 작성)
2) 로그인 기능 구현
3) 회원가입 기능 구현
4) 카트 페이지 HTML,CSS 작성

첫날~수요일 전까지 할일!!
 - 데모페이지 html, css 3분할해서 카피
 - 스켈레톤 코드 이해하기

3. 코딩컨벤션 정하기
 = 에어비엔비 코딩컨벤션 참고
(ESlint 포맷 작성 필요해보임)

변수명은 명사 형태로 적기


유한님 - ESlint , pritter 설정 (html, css 기본 구조 작성)
산들님, 민선님 - html, css 기본 구조 작성


<백엔드 오피스 아워>

1. db schema
- 타입을 string으로 하는 이유가 있을까요? (검색을 통해 정답을 먼저 알고 나서 질문드린 케이스)
이미지 파일명 자체를 db로 넣는 경우도 있고, db에서 가지고 올 때도 경로로 가지고 오기 때문에

=> 일반적으로 string으로 넣습니다!


2. 관리자 권한 주기
=> 코드에 정답이 없어서 정확히 말씀드리기 어렵지만 db에 직접적으로 뭔가를 가하는건 하지 않는게 좋습니다.(데이터 믹싱 문제)
인증과정을 거쳐서 role 값을 admin으로 들어갈 수 있도록 하는것이 바람직합니다.

api를 만드는 목적 자체가 db에 직접적인 것을 덜 가할 수 있도록 하는 것이기 때문에 두번째로 하는 것이 더더욱 바람직합니다.
인증 과정을 받았다 - true : admin / false : basic user (default)
프론트에서는 동일하게 만들되, 입력값이 없으면 일반유저 / 입력값이 있으면 관리자
(똑같은 회원창에서 일반회원은 인증 X, 관리자는 인증을 거치는 절차)

가입창에 입력한 것이 db로 날아갈 때, 입력한 것에 대한 것을 컨트롤


3. 상품 수정 및 삭제 권한
=> 우리가 product를 등록할 때 product schema에 sellerId를 추가해서 동일하면 고칠 수 있게 / 동일하지 않으면 고칠 수 없게 만들도록 합시다.
권한을 준다는 것 = 이 사람이 관리자인지/일반 유저인지 체크하기 위함인데 너무 많으면 지나치게 번거로워질 수 있다.


4. git reset
=> git status를 치면 커밋 번호가 나옴. git head(맨 처음에 된 커밋) 하고 뒤에 커밋 번호 입력하면 해당 커밋 이후로 싹 사라짐.
pipeline failed?
= 실무에서 오류를 고치고 자동으로 배포해주는 게 있는데 그게 pipeline 이고 그게 failed 된 것 같다.

git reset –hard 3e99c26f
명령어로서 시도 (gitbash master branch에 해당 커밋번호 이후의 커밋을 싹 날려주는 명령어)

=> 결론 : 일단은 master2 브랜치를 새로 생성해서 그 브랜치를 master 브랜치로 활용하도록 한다.
(해결 방법을 찾는다면 코치님께서 discord로 전송해주실 예정 => 해결!!!)


++ 추가 질문

장바구니 schema 주문으로 바꿔도 괜찮을듯
삭제 - 삭제가 되면 삭제되었습니다 / 삭제가 안되면 삭제가 되지 않았습니다 (알람 발송)

댓글