Skip to content

Business

권성준 edited this page Sep 19, 2023 · 5 revisions

Business Rule

    <div class="mt-0 mt-lg-1 flex-shrink-0 gh-header-actions">
      <a href="#wiki-pages-box" class="d-md-none ">Jump to bottom</a>

    </div>
</div>

  <div class="mt-2 mt-md-1 pb-3 gh-header-meta">
    Hwangwonuk edited this page <relative-time datetime="2021-12-12T15:18:21Z" class="no-wrap" title="Dec 13, 2021, 12:18 AM GMT+9">Dec 13, 2021</relative-time>
    ·
    <a href="/Hwangwonuk/cucumber-market/wiki/Business-Rule/_history" class="Link--muted">
      6 revisions
    </a>
  </div>

<div id="wiki-content" class="mt-4">
  <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end">

Pages 8

<ul class="m-0 p-0 list-style-none" data-filterable-for="wiki-pages-filter" data-filterable-type="substring" data-pjax="">
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/Home/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/Architecture/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset" open="">
  <ul class="list-style-none mx-4 px-1">
  <li class="my-2" style="padding-left: 12px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#lock-cucumber-market의-각-기능별-비지니스-로직">:lock: cucumber-market의 각 기능별 비지니스 로직</a>
  </li>
  <li class="my-2" style="padding-left: 24px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#busts_in_silhouette-사용자">:busts_in_silhouette: 사용자</a>
  </li>
  <li class="my-2" style="padding-left: 36px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#raising_hand-회원">:raising_hand: 회원</a>
  </li>
  <li class="my-2" style="padding-left: 36px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#scroll-판매글">:scroll: 판매글</a>
  </li>
  <li class="my-2" style="padding-left: 36px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#sparkling_heart-상품찜">:sparkling_heart: 상품찜</a>
  </li>
  <li class="my-2" style="padding-left: 36px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#e-mail-댓글-대댓글">:e-mail: 댓글, 대댓글</a>
  </li>
  <li class="my-2" style="padding-left: 24px;">
    <a class="Link--primary" data-analytics-event="{&quot;category&quot;:&quot;Wiki&quot;,&quot;action&quot;:&quot;toc_click&quot;,&quot;label&quot;:null}" href="/Hwangwonuk/cucumber-market/wiki/Business-Rule#guardsman-관리자">:guardsman: 관리자</a>
  </li>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
ERD
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/ERD/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/MySQL-Architecture/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/Redis-Architecture/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/Spring-Boot%EC%99%80-Springfox-%EB%B2%84%EC%A0%84-%ED%98%B8%ED%99%98-%EC%9D%B4%EC%8A%88/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/Hwangwonuk/cucumber-market/wiki/Use-Case/_toc">
</include-fragment>
    </li>
</ul>
        </div>


        <h5 class="mt-0 mb-2">Clone this wiki locally</h5>
        <div class="width-full input-group">
          <input id="wiki-clone-url" type="text" data-autoselect="" class="form-control input-sm text-small color-fg-muted input-monospace" aria-label="Clone URL for this wiki" value="https://github.com/Hwangwonuk/cucumber-market.wiki.git" readonly="">
          <span class="input-group-button">
            <clipboard-copy for="wiki-clone-url" aria-label="Copy to clipboard" data-view-component="true" class="btn btn-sm zeroclipboard-button" tabindex="0" role="button">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy">
<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>

🔒 cucumber-market의 각 기능별 비지니스 로직

  • 사용자 / 관리자

👥 사용자

🙋 회원

  • 오이마켓에 판매글 등록, 거래를 하기위해서는 회원가입 및 로그인을 필수로 해야한다.
  • 회원가입시 아이디가 pk로 선정되어있어 중복이 불가능하다.
  • 탈퇴한 회원의 아이디는 DB에서 활동상태만 'n'으로 변할뿐 데이터가 보관되어 있다.
  • 탈퇴 시 이미 작성한 글, 댓글, 대댓글에 대한 정보는 그대로 남아있다.

📜 판매글

  • 판매글에 대한 status는 3가지가 있으며 a:판매중, b:판매완료, c:삭제 로 구분된다.
  • 판매글 조회 및 검색은 로그인 상태가 아니여도 가능하다.
  • 판매글 목록에 대한 페이징 기능이 제공된다.
  • 판매글을 판매완료 처리를 하게되면 판매완료 글로 표시된다.
  • 판매글 조회는 글에대한 status가 'a'(판매중) or 'b'(판매완료) 인 경우에만 가능하다.
  • 판매글 수정 및 삭제는 작성자 본인만이 가능하며 이또한 status가 c로 변할뿐 데이터가 보관되어 있다.
  • 판매글 검색 기능은 카테고리별, 제목별 조회가 가능하다.
  • 판매글 등록 시 첫번째로 등록한 이미지는 썸네일 이미지가 된다.
  • 이미지는 최소 하나 이상이 요구된다.

💖 상품찜

  • 상품찜 기능은 한 게시글에 한 아이디로 중복 찜이 불가능하다.
  • 자신이 등록한 글의 상품찜은 가능하다.

📧 댓글, 대댓글

  • 각 게시글에는 비밀 댓글로 1:1 채팅 기능을 대신한다.
  • 각 게시글의 댓글은 비밀글로 출력되어 글 작성자 혹은 해당하는 댓글이나 대댓글의 작성자만 조회가능하다.

💂‍♂️ 관리자

  • 전체 회원조회가 가능하며 페이징 기능이 지원된다.(탈퇴한 회원, 관리자여부 조회가능)
  • 각 회원에 대한 회원정보는 수정할 수 없다.
  • 이미 가입된 회원을 관리자로 등록할 수 있다.
  • 카테고리 등록, 수정이 가능하다.
  • 한번 등록된 카테고리의 삭제는 불가능하다.
  • DB의 ON CASCADE를 사용하여 카테고리명 변경시 이미 등록된 데이터들도 함께 변경된다.
          </div>

      </div>
</main>
Clone this wiki locally