Code Monkey home page Code Monkey logo

project_1_limhyoungtaek's People

Contributors

oh3gwnn avatar

project_1_limhyoungtaek's Issues

3️⃣ DAY 3/ 기능에 대한 접근 권한 설정

  • 1. 본래 “누구든지 열람할 수 있다”의 기능 목록은 사용자가 인증하지 않은 상태에서 사용할 수 있도록 한다.

    • 등록된 물품 정보는 누구든지 열람할 수 있다.
    • 등록된 댓글은 누구든지 열람할 수 있다.
  • 2. 작성자와 비밀번호를 포함하는 데이터는 인증된 사용자만 사용할 수 있도록 한다.

    • 이때 해당하는 기능에 포함되는 아이디 비밀번호 정보는, 1일차에 새로 작성한 사용자 Entity와의 관계로 대체한다.
      • 물품 정보 등록 → 물품 정보와 사용자 관계 설정
      • 댓글 등록 → 댓글과 사용자 관계 설정
    • 누구든지 중고 거래를 목적으로 물품에 대한 정보를 등록할 수 있다.
    • 등록된 물품에 대한 질문을 위하여 댓글을 등록할 수 있다.
    • 등록된 물품에 대하여 구매 제안을 등록할 수 있다.

DAY 1 / 3. JWT 발급 및 서비스

  1. JWT 발급 기능 추가 (bcf0e9c)
    - /main/src/main/java/com/be05/market/token 항목과 TokenController 참고 (d5c9747)
    - 아직 로그인 -> JWT 발급 기능은 구현 X

  2. JWT를 받은 서비스는 사용자가 누구인지 사용자 Entity를 기준으로 정확하게 판단할 수 있어야 한다.

DAY 1 / Entity 관련 수정

CustomUserDetails로 변경 후인지는 정확히 모르겠으나, CustomUserDetails, UserEntity에서 @NotNull, @Column(nullable=false), @NotBlank 적용이 안됨.
-> UserController - signUp()에 조건문을 추가해서 해결했지만 [관련 Commit 참고], 수정해보고 싶어서 일단 이슈 작성

@NoArgsConstructor, @AllArgsConstructor 추가로 인해 파라미터 값이 제공되지 않아도 설정되는 것 같다고 추측 중

2️⃣ DAY 2 / 관계 설정하기

  • 1. 아이디와 비밀번호를 필요로 했던 테이블들은 실제 사용자 Record에 대응되도록 ERD를 수정하자.

    • ERD 수정과 함께 해당 정보를 적당히 표현할 수 있도록 Entity를 재작성하자.
    • 그리고 ORM의 기능을 충실히 사용할 수 있도록 어노테이션을 활용한다.
  • 2. 다른 작성한 Entity도 변경을 진행한다.

    • 서로 참조하고 있는 테이블 관계가 있다면, 해당 사항이 표현될 수 있도록 Entity를 재작성한다.

1️⃣ DAY 1 / 인증 만들기

  1. 1. 사용자는 회원가입을 진행할 수 있다.

    • #14
    • 부수적으로 전화번호, 이메일, 주소 정보를 기입할 수 있다.
    • 이에 필요한 사용자 Entity는 직접 작성하도록 한다.
  2. 2. 아이디 비밀번호를 통해 로그인을 할 수 있어야 한다.

  3. 3. 아이디 비밀번호를 통해 로그인에 성공하면, JWT가 발급된다. 이 JWT를 소유하고 있을 경우 인증이 필요한 서비스에 접근이 가능해 진다.

    • 인증이 필요한 서비스는 추후(미션 후반부) 정의한다.
  4. 4. JWT를 받은 서비스는 사용자가 누구인지 사용자 Entity를 기준으로 정확하게 판단할 수 있어야 한다.

4️⃣ DAY 4/ UI 구현하기

  • #11

    • 아이디, 비밀번호, 비밀번호 확인
    • (선택) 연락처, 이메일, 주소
  • #12

    • 아이디, 비밀번호
  • 3. 기타 화면의 필요한 내용들을 생각해보자.

    • #10
      • 댓글
      • 댓글 답글
      • 구매제안
    • #13
    • 구매 제안 목록 확인
  1. 또한 사용자가 UI를 활용할 때 어떤 정보를 반드시 포함해야 할지를 고민해보자.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.