Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 4.32 KB

assignment.md

File metadata and controls

65 lines (51 loc) · 4.32 KB

Waffle Studio Frontend Assignment - 3

due: 2020.10.11(일) 23:59

과제 목적

  • context/routing 에 익숙해진다.

과제 - 리스트 기능 사이트 만들기

  • 과제 2에서 만들었던 리스트 사이트에 대해서 몇 가지 조건이 변경/추가됩니다.

  • Items Page (/items)

    • 모든 리스트를 볼 수 있어야합니다.
    • 작성 버튼을 통해 Create Page(/items/create)으로 이동해야 합니다.
    • 리스트 정렬 방식을 바꿀 수 있는 버튼이 존재해야 합니다 ex) id로 정렬, name으로 정렬
    • 정렬 방식은 브라우저의 주소를 통해 확인할 수 있어야 합니다.
    • item을 클릭하면, 해당 item에 맞는 Item Detail Page(/items/:id)로 이동해야 합니다.
    • items를 출력할 때, ul 태그와 li 태그 필수적으로 사용해주세요.
  • Item Create Page(/items/create)

    • 추가 버튼을 누르면 item이 추가돼야 합니다.
    • item이 추가되면 해당 itemDetail Page(/items/:id)로 이동해야 합니다.
    • 취소 버튼을 누르면 정말 취소하시겠습니까?라는 메세지와 함께 다시 한 번 확인해야합니다.
      • 확인을 누르면, Items Page(/items)로 이동해야 합니다.
      • 취소를 누르면, 페이지에 입력 내용은 보존된 상태로 남아 있어야 합니다.
    • item은 필수적으로 id 값을 가져야하고, 이 값은 unique해야 합니다. create할 때 입력을 받으셔도 되고, 생성 시 자동으로 추가하도록 구현해도 됩니다.
  • Item Detail Page(/items/:id)

    • 별 거 없습니다. 그냥 해당 item을 보여주시면 됩니다.
    • 수정버튼을 누르면 Edit Page(/items/edit/:id)로 이동해야 합니다.
    • 삭제버튼을 누르면 해당 item을 삭제하고 Items Page(/items)로 이동해야 합니다.
  • Item Edit Page(/items/:id/edit)

    • input에는 원래 item이 가지고 있던 값이 처음부터 들어있어야 합니다. 단, id 값은 수정 불가합니다.
    • 확인 버튼을 누르면 item이 수정돼야 합니다.
    • item이 수정되면 해당 itemDetail Page(/items/:id)로 이동해야 합니다.
    • 취소 버튼을 누르면 정말 취소하시겠습니까?라는 메세지와 함께 다시 한 번 확인해야합니다.
      • 확인을 누르면, Items Page(/items)로 이동해야 합니다.
      • 취소를 누르면, 페이지에 입력 내용은 보존된 상태로 남아 있어야 합니다.
  • 리스트는 context를 사용해서 전역으로 관리해주세요.

에시 깃헙 배포의 특성상 새로고침하면 404페이지가 뜹니다. 혹여나 새로고침 하셨으면 위 링크로 다시 접근해주세요. 추가로, 예시 페이지는 /list 가 기본적으로 들어가있는데, 이도 깃헙 배포라 어쩔 수 없는 부분입니다. 과제 하실 때는 위의 스펙에 맞춰주세요!

주의사항

  1. 함수형 컴포넌트로 과제를 진행해주세요
  2. 초기 데이터가 최소한 3개는 있어야 합니다.
  3. 디자인은 신경쓰지 않을 것 입니다. 그래도 예쁘면 좋아요
  4. 리스트는 context를 사용해서 전역으로 관리해주세요.
  5. 커밋은 되도록이면 최대한 잘게 쪼개서 해주세요. 커밋 내용을 지켜보고, 전체적인 진행 상황에 따라 과제 due나 명세를 수정할 수 있습니다. 커밋 메시지도 상세할수록 좋습니다.

제출 방식

  1. 과제 2에서 생성했던 레포를 이어서 사용합니다.

  2. 과제 2에서 생성한 브랜치는 각자 사용한 grace day를 포함한 제출시간이 지나면 바로 merge 해 주세요.

  3. vesion-react 브랜치에서 과제 3을 진행하시고 과제 2와 같이 pull request 작성하시면 됩니다.

  4. 풀리퀘를 생성하신 후에 commit을 해도 자동으로 풀리퀘에 반영 되므로, 가급적 일찍 생성해주시면 좋겠습니다. 각 브랜치마다 마감 시점의 최종 commit을 확인할 것입니다.

혹시 브랜치 생성 및 풀리퀘 생성에 문제가 있으면 꼭 질문해주시기 바랍니다

참고하면 좋은 것들