본문 바로가기

과거공부모음

나의 개발일지 20220201 TIL(Today I learned) - 미니프로젝트

Today I learned

오늘은 미니프로젝트의 S.A를 작성하는 작업을 진행했다

 

📂 프로젝트 개요

프로젝트명 mylovemeat(전자상거래 웹서비스)
프로젝트 유형 미니/단기 프로젝트
프로젝트 내용 닭고기,돼지고기,한우 등 가리지 않고 모든 종류의 고기를 거래하는 전자상거래 웹서비스를 구현한다.
프로젝트 일정 2023-02-01(수)~2023-02-07(화), 총 5일
프로젝트 결과공개 2023-02-08(수) 14:00
프로젝트 투입인력 6조 전원(총 5인, 백엔드 개발자)

 

🛠 개발환경

운영체제 Windows 10, Windows 11
IDE VSCODE
버전관리 Git
일정관리 Notion,slack
DB관리 MySQL
서버 Express
프론트엔드 HTML / CSS / Javascipt / ejs
백엔드 Javascipt (Node.js)

 

설계

폴더 구조

데이터베이스

 

[정육점조] 웹개발 기획안

 

www.notion.so

 

📌 개발규칙

  • 코드 컨벤션
    1. 카멜 표기법(Camel case)
    2. getPost / showPost / createPost (동사 + 메서드)
    3. Prettier 서식 module.exports = {
      trailingComma: 'es5',
      tabWidth: 2,
      semi: true,
      singleQuote: true,
      arrowParens: 'always',
      };
  • Git 커밋 메시지
    1. feat : 새로운 기능에 대한 커밋
    2. fix : 버그 수정에 대한 커밋
    3. build : 빌드 관련 파일 수정에 대한 커밋
    4. chore : 그 외 자잘한 수정에 대한 커밋
    5. ci : CI 관련 설정 수정에 대한 커밋
    6. docs : 문서 수정에 대한 커밋
    7. style : 코드 스타일 혹은 포맷 등에 관한 커밋
    8. refactor : 코드 리팩토링에 대한 커밋
    9. test : 테스트 코드 수정에 대한 커밋

S.A를 작성하고 데이터베이스를 Sequelize-cli를 이용해서 세팅을 진행했는데 문제가 발생했다

제약조건 foreing key를 지정하고 참조하는 테이블의 아이디를 세팅을 했는데
db:migrate를 진행할 때 참조하는 테이블이 만들어지기 전에 foreing key 참조를 하면서 제약조건을 만들어

참조하는 테이블이 없다는 에러가 발생했다 이 문제를 해결하기 위해서 데이터베이스 ERD를 확인해

foreing key가 없는 테이블 먼저 세팅을 진행했다

이런식으로 순서를 잘 맞춰서 migrations에 파일을 정리하고 db:migrate를 진행하면 정상적으로 세팅이 완료된다!