개발자가 내팔자

[InnovationCamp] 첫 번째 프로젝트 본문

STUDY

[InnovationCamp] 첫 번째 프로젝트

야생의 개발자 2022. 8. 1. 15:37

헌책살래

중고책을 사고 팔 수 있는 웹 서비스

WireFrame

https://www.figma.com/file/GRvepGrA9tp1HGbb0hY992/sparta-team-library?node-id=411%3A2

 

Figma

Created with Figma

www.figma.com

 

welcome page

메인페이지, 리스트페이지

list page (main)

  • 리스트를 볼 수 있는 화면
  • /selling : 판매
  • /buying : 구매

게시글 CRUD

게시글 CRUD

디테일 페이지 /:id

  • detail page
  • /selling/:id : 판매 상세 페이지
  • /buying/:id : 구매 상세 페이지

작성 페이지

  • /selling/writing
  • /buying/writing

로그인 / 회원가입 페이지

로그인 / 회원가입

개발해야할 기능들

유저 관련 /account

회원가입 POST /signup

  • 닉네임
    • 한글 또는 영어?
    • 중복확인
    • max length 12
  • 이메일
    • 중복확인
    • max length 32
  • 비밀번호
    • 영문 숫자 포함 8자 이상
  • 비밀번호 확인

회원가입 완료 후 메인 화면으로 redirection

로그인 POST /signin

  • 이메일
    • 중복확인
    • max length 32
  • 비밀번호
    • 영문 숫자 포함 8자 이상
  • JWT
 

이제는 Cookie 대신 Web Storage 가 대세

이제는 Cookie 대신 Web Storage 가 대세 ​ HTML Web Storage 참고자료 : https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API 웹 스토리지를 이용하면 웹 어플리케이션은 데이터를 사용자의 브..

shanepark.tistory.com

로그아웃

→ local storage 이용 시 프론트에서 구현

게시글 관련 /post

  • 알라딘은 중앙 관리자가 있기 때문에 가능
  • 우리는 각자 올리는걸로 (당근마켓처럼)

글 리스트 보여주기 GET

  • 로그인을 안해도 볼 수 있음
  • 한번에 다 보여주기 (구현 시간 상)
  • 정렬
    • 조회수 순
    • 추천순 ? 추천 기능이 있다면
    • 일자별 최신순
  • 필터링
    • 카테고리 O
      • 한 2~3개 정도
      • /?category=fiction
      • /?selling=true
    • 판매/구매 글 모아보기
      • 팝니다/삽니다를 모아볼 필요가 있을까?
      • 아예 따로 만드는 게 좋을 것 같다.

글 상세 GET /:id

  • 팝니다
  • 삽니다
  • 판매/구매 글 구성이 좀 다를 것 같다 (다정님)
  • 판매
    • 책의 컨디션, 가격, 지역, 직거래여부 등

글 작성 POST

  • 필드
    • 작성자 writer varchar
    • 올린 일시 created_at datetime
    • updated_at (보여줄지 말지)
      • 안보여줘도 될 것 같음
    • 제목 title varchar
    • 내용 description text
    • 책상태 optional?
    • 구매/판매 완료
    • 장르 genre varchar (한가지만)
    • 지역 : 작성자의 지역 vs 어디서 거래하고 싶은지 선택
    • 연락처 : optional
    • 가격 : price
    • 사진 : optional → 좀 더 고민
      • 경로 작명법?
        • 연도/월/일/{사진id}
    • 구매/판매 : collection을 하나로 두고 구매인지 판매인지에 따라 다르게 내려주기
  • 작성 완료 후글 작성 후 리스트 페이지로 redirection ✅
  • 글 작성 후 작성된 페이지로 redirection

글 수정 PATCH /:id

  • 프론트
    • 수정 버튼을 누르면 수정할 수 있는 화면으로 전환
    • 수정완료 버튼을 누르면 백엔드로 전송
    • 수정할 수 있는 내용들 : writer, created_at 제외한 나머지 전부
  • 백엔드
    • 자신의 글만 수정할 수 있도록 에러 핸들링

글 삭제 DELETE /:id

  • 프론트
    • 삭제버튼 누르면 삭제
    • 게시글 리스트로 redirect
  • 백엔드
    • 자신의 글만 삭제할 수 있도록 에러 핸들링

추가 기능..?

  • 검색 기능 : query parameter
  • 추천 기능
  • 댓글 기능 O → 보류
    • CRUD
  • 사진 올리는 기능..? → s3
    • 여러 장을 올리고 → 테이블도 생각
    • 썸네일을 만든다 →
  • 마이 페이지 → 추후에 욕심나면 넣기
    • 내 글 목록?
    • 내 댓글 목록?
    • 회원정보 수정
  • 알림 기능 → 빼는 것으로
  • pagniation
    • infinite scroll
    • index : 무난

기능 확장에 대해

  • 기능 < 기술 →
    • 테스트…
    • 문서화
  • 완벽한 구현보다는 배운 것을 사용해서 쓰는 게 좋을 것 같다.

 

Public Github Repository

https://github.com/innovation-camp/heonchaegjulge

 

GitHub - innovation-camp/heonchaegjulge

Contribute to innovation-camp/heonchaegjulge development by creating an account on GitHub.

github.com

 

Meeting Log (Notion)

https://another-pro.notion.site/1st-meeting-bc677ce1cb9649f6ac52784e80352496

 

1st meeting

일주일동안 잘해봅시다

another-pro.notion.site

 

Comments