상세 컨텐츠

본문 제목

[TIL] 2024.01.22 개인 과제 및 회고(수정)

[TIL]

by 재호링 2024. 1. 23. 01:41

본문

필수 요구 사항 1

  1. 상품 작성 API
    • 상품명, 작성 내용, 작성자명, 비밀번호를 request에서 전달 받기
    • 상품은 두 가지 상태, 판매 중(FOR_SALE)및 판매 완료(SOLD_OUT) 를 가질 수 있습니다.
    • 상품 등록 시 기본 상태는 판매 중(FOR_SALE) 입니다.
  2. 상품 목록 조회 API
    • 상품명, 작성자명, 상품 상태, 작성 날짜 조회하기
    • 상품 목록은 작성 날짜를 기준으로 내림차순(최신순) 정렬하기
  3. 상품 상세 조회 API
    • 상품명, 작성 내용, 작성자명, 상품 상태, 작성 날짜 조회하기
  4. 상품 정보 수정 API
    • 상품명, 작성 내용, 상품 상태, 비밀번호를 request에서 전달받기
    • 수정할 상품과 비밀번호 일치 여부를 확인한 후, 동일할 때만 글이 수정되게 하기
    • 선택한 상품이 존재하지 않을 경우, “상품 조회에 실패하였습니다." 메시지 반환하기
  5. 상품 삭제 API
    • 비밀번호를 request에서 전달받기
    • 수정할 상품과 비밀번호 일치 여부를 확인한 후, 동일할 때만 글이 삭제되게 하기
    • 선택한 상품이 존재하지 않을 경우, “상품 조회에 실패하였습니다." 메시지 반환하기

상품 등록
목록 조회 후 내림차순 정렬

 

상세정보 콘텐트 확인
상품 수정 완료
비밀번호 오류로 인한 수정권한X
비밀번호 오류로 인한 상품 삭제권한X
상품 삭제 완료
상품 삭제 완료 확인

 

필수 요구 사항 2

  1. .env 파일을 이용해서 민감한 정보(DB 계정 정보, API Key 등)를 관리합니다.
  2. .gitignore 파일을 생성하여 .env 파일과 node_modules 폴더가 Github에 올라가지 않도록 설정합니다.
  3. .prettierrc 파일을 생성하여 일정한 코드 포맷팅을 유지할 수 있도록 설정합니다.

.env .gitignore 파일로 숨김 완료

 

필수 요구 사항 3

  • 여러분의 프로젝트를 "AWS EC2"에 배포해주세요!
  • GABA 또는 "AWS Route 53"을 이용해 도메인 주소를 연결한다면 더욱 좋습니다!
  • 배포된 IP 주소 또는 연결된 도메인 주소를 제출해주세요!

도메인 연결

 

회고

처음 과제를 직면 하고 설계부터 답답한 마음이 들었다.

어려운 내용도 아니고 필수 요구 사항이 엄청난 기술이

들어가는 것도 아니었는데 처음 해보는 작업이고,

과제 제출 기한이 짧다고 느껴져 심히 압박 받은 것 같다.

 

그래서 주말에도 코드를 잡고 이해하려고 노력했으며

API가 어떻게 이동되는지 어떻게 작동하는 건지

이해하려고 insomnia를 많이 활용한 것 같다.

 

GET/POST/PUT/DEL 기능 아래에 필수 요구사항 들을

주석처리하여 필요한 기술들을 계속 계속 생각 할 수 있게

나열 한 것이 정말 잘 한 것 같다. API 기능 구현에 집중해

가장 먼저 .env .gitignore 파일을 만들지 않고 깃허브 커밋도

없이 진행 한 점이 정말 아쉽게 느껴진다.

 

이 과제를 진행하면서 나는 RESTful한 원칙에 제대로 따랐는지에

대해 고민도 해보고 뭐가 아쉬웠는지 생각할 시간이 있었는데

하이퍼미디어의 요구 조건에 맞지 않아 아쉽다고 생각중이다.

 

그래도 이번 과제를 진행함으로써 모듈화에 대해 익혔으며

확실히 코드의 가독성, 유지보수성, 확장성, 명확성 등

이점을 제대로 느꼈으며 코드의 관리 또한 쉬워졌다 생각한다.

 

처음 mongoose를 활용해 서버를 열고 AWS를 이용해

가비아와 DNS를 연결해 도메인을 가지는 작업도 재밌었다.

주말간 상당부분 어려움을 느꼈는데, 기존 강의를 따라도하고

강의자료에 나와있는 부분을 접목하니 되게 막막했는데

진행이 되고 확실하게 API동작을 확인할 수 있는 프로그램이 있으니까

꽤 재밌게? 한 것 같은 마음이 든다. 그래도 아직 코드가 미흡한 것도 있고

리팩토링이 필요할 것 같은데 어디서부터 고쳐야할지 감이 안온다

관련글 더보기