GithubHelp home page GithubHelp logo

instagram-clone-coding / react_instagram_clone Goto Github PK

View Code? Open in Web Editor NEW
12.0 0.0 6.0 5.59 MB

Instagram Clone Coding - Frontend using React

Home Page: http://ec2-52-79-71-191.ap-northeast-2.compute.amazonaws.com

HTML 0.31% TypeScript 99.42% JavaScript 0.27%
axios instagram naver-map-api react redux-toolkit styled-components typescript side-project frontend reactjs

react_instagram_clone's Introduction


Logo

FE-Instagram-Clone

인스타그램 클론코딩 프로젝트의 frontend 부분 github입니다.
Explore the Organization

Report Bug · Request Feature

Table of Contents
  1. Getting Started
  2. Usage
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

Built With

Frontend

(back to top)

Getting Started

convention

  • Conding Convention
  1. Event Handler 네이밍: ~handler

    const exampleHandler = (): void => {};
  2. Handler Function Prop 네이밍: on~

    return <ExampleComponent onSubmit={exampleHandler} />;
  3. Interface 네이밍: Pascal Case +

    • props으로 넘길 때 ~Props
    interface ExampleProps {
        name: string;
    }
    • 다른 모든 경우, ~Type
  4. styled-components 구조: 최상위 태그에만 한 번

    const StyledTag = styled.div``;
    
    return (
        <StyledTag>
            <div>Not</div>
            <div>There</div>
        </StyledTag>
    );
  5. 타입 관리

  • 전역적으로 재사용될 타입: src/@types/index.d.ts에서 declare하여 정리(import, export 필요 없음)
  • 단 하나의 컴포넌트에만 쓰이는 타입은 해당 파일 내부에 선언해도 무관
  • 타입 선언 방식: interface(대부분의 타입) + type alias(원시 타입)
  1. 파일(폴더) 네이밍 : Pascal Case(components, pages 제외)

    ExampleFileName;
  2. 컴포넌트 폴더 구조 관리

    /SomeComponent
    │ index.js
    │ SomeComponent.tsx
    ├── /SomeChildrenComponent
    │ ├── index.js
    │ └── SomeChildrenComponent.tsx
    /SomeComponent2
    │ index.js
    │ SomeComponent2.tsx

    index.tsx를 자주 사용하게 되면 파일 이름으로 검색해 작업에 용이하지 못하므로 컴포넌트이름.tsx 사용을 지향하고 index.jsimport를 쉽게 할 수 있게한다.

  3. 관심사 분리 UI와 로직을 분리합니다.

  • UI 담당: .tsx
  • 로직 담당
    • custom hook: hooks 필요한 로직
    • utils: hooks 필요없는 로직

Commit Convention

feat: 새로운 기능에 대한 커밋
fix: 버그 수정에 대한 커밋
build: 빌드 관련 파일 수정에 대한 커밋
etc: 그 외 자잘한 수정에 대한 커밋
docs: README.md 수정에 대한 커밋
style: 코드 스타일 혹은 포맷 등에 관한 커밋(prettier 등)
refactor: 코드 리팩토링에 대한 커밋

Directory Structure

/src
│ App.tsx
│ Index.tsx
│ react-app-env.d.ts
│ Routes.tsx
├── /@type
│ └── index.d.ts
├── /app/store
│ ├── /ducks
│ │ └── /각 기능 단위 폴더 이름
│ │   └── ...Slice.ts
│ │   └── ...Thunk.ts
│ ├── hooks.ts
│ └── store.ts
├── /assets
│ ├── Images
│ └── Svgs
├── /components
│ ├── /Commmon
│ ├── /Direct
│ ├── /Home
│ ├── /Login
│ └── /Signup
├── /pages
│ ├── /Direct
│ ├── /Home
│ └── /Login
├── /styles
│ ├── /UI
│ ├── globalStyles.ts
│ ├── styled.d.ts
│ └── theme.ts

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g

Installation

Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.

  1. Get a free API Key at https://example.com
  2. Clone the repo
    git clone https://github.com/your_username_/Project-Name.git
  3. Install NPM packages
    npm install
  4. Enter your API in config.js
    const API_KEY = "ENTER YOUR API";

(back to top)

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • Add Changelog
  • Add back to top links
  • [] Add Additional Templates w/ Examples
  • [] Add "components" document to easily copy & paste sections of the readme
  • [] Multi-language Support
    • [] Chinese
    • [] Spanish

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Your Name - @your_twitter - [email protected]

Project Link: https://github.com/your_username/repo_name

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

(back to top)

react_instagram_clone's People

Contributors

h2younggon avatar kimyoungyin avatar live-small avatar minsoo-web avatar okinawaa avatar ro-ssang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react_instagram_clone's Issues

FollowingMemberFollow, 해시태그 관련 검색 API 수정

Feature Description

FollowingMemberFollow 수정

  • 검색, 유저 프로필, 미니 프로필 API에 적용됨
  • 기존에 해당하는 모든 사용자를 반환하는 방식에서 followingMemberFollowCount를 반환하는 형태로 변경
  • 각 API 최대 인원 만큼만 FollowingMemberFollow에 반환 되고 남은 인원은 followingMemberFollowCount로 반환

유저프로필/검색은 최대 3명 미니프로필은 최대 1명만 반환

{
  "status": 200,
  "code": "M004",
  "message": "회원 프로필을 조회하였습니다.",
  "data": {
    "memberUsername": "dlwlrma",
    "memberName": "이지금",
    "memberWebsite": "http://localhost:8080",
    "memberImage": {
      "imageUrl": "https://bluetifulc-spring-bucket.s3.ap-northeast-2.amazonaws.com/member/d23cfc3a-35a2-4e65-bee8-5106b1be4917_KakaoTalk_20210912_091605600.JPG",
      "imageType": "JPG",
      "imageName": "KakaoTalk_20210912_091605600",
      "imageUUID": "d23cfc3a-35a2-4e65-bee8-5106b1be4917"
    },
    "memberIntroduce": "안녕하세요ㅇㅁㅇㅁ",
    "memberPostsCount": 14,
    "memberFollowingsCount": 4,
    "memberFollowersCount": 2,
    "followingMemberFollow": [
      {
        "memberUsername": "dlwlrma1"
      },
      {
        "memberUsername": "dlwlrma2"
      },
      {
        "memberUsername": "dlwlrma3"
      }
    ],
    "followingMemberFollowCount": 1,
    "hasStory": false,
    "following": false,
    "follower": false,
    "blocked": false,
    "me": true,
    "blocking": false
  }
}
  • 위 응답이라면 "dlwlrma1, dlwlrma2, dlwlrma3님 외 1명이 팔로우 중입니다"를 의미합니다.

검색 API 요청 일부 수정

  • 찬혁님 의견으로 해시태그 앞에 #을 붙이도록 수정했습니다.
  • /topsearch/mark API와 최근검색기록 삭제 API 요청 시 entityType이 HASHTAG인 경우 entityName에 #만두의 형태로 앞에 #을 붙여서 요청해야 하도록 바꿨습니다.
  • #을 붙이지 않을 시 에러가 발생합니다.

Todo

  • FollowingMemberFollow 수정
    • 검색
    • 유저 프로필
    • 미니 프로필
  • 해시태그 관련 수정

Todo 완료시 Issue 닫아주시면 됩니다 !

DM hotfix

Feature Description

1. DM 페이지 접속 후 새로고침하면 발생하는 문제

@seonpilKim @bluetifulc @ChanhyukPark-Tech @live-small

처음에 DM 페이지로 접속하면 /sub/dlwlrma으로 구독이 잘 됩니다.
따라서 메시지를 전송하면 웹소켓을 통해 바로 메시지를 받을 수 있습니다.

_2022_07_09_23_32_08_677.mp4
_2022_07_09_23_34_14_68.mp4
_2022_07_09_23_37_31_30.mp4

그러나 DM 페이지에서 새로고침을 누르면 /sub/undefined으로 잘못 구독이 되어, 메시지를 전송해도 웹소켓을 통해 메시지를 받을 수 없게 되는 현상을 발견했습니다.

_2022_07_09_23_32_22_748.mp4
_2022_07_09_23_36_30_203.mp4
_2022_07_09_23_37_10_545.mp4

2. 메시지 좋아요/취소를 누르면 서버로 요청 자체가 들어오지 않습니다.

@seonpilKim @bluetifulc @ChanhyukPark-Tech

아래와 같이 웹소켓으로 메시지 전송을 하지 않습니다.

_2022_07_09_23_42_59_574.mp4

또한, 서버에 어떠한 로그도 찍히지 않습니다. (서버에서 정상적으로 요청을 받으면, HTTP, DB 등의 로그가 남습니다.)

_2022_07_09_23_45_31_723.mp4

p.s) 서버에서 정상적으로 요청을 받은 경우 아래와 같이 로그가 찍히게 됩니다.

_2022_07_09_23_47_05_595.mp4

참고로 웹소켓 통신은 헤더가 없어서 인증처리가 따로 없습니다.
프론트단에서도 코드 수정이 없다고 하셨지만, 서버도 마찬가지로 비즈니스 로직 수정을 한 게 없어서 어느 부분이 문제인지 파악하기가 어렵네요.. 일단 다같이 원인을 찾아봐야 할 것 같습니다.

Todo

  • DM 페이지 새로고침 시 구독이 제대로 되지 않는 문제 해결
  • 메시지 좋아요/취소가 제대로 동작하지 않는 문제 해결

프로필 정보 변경 이벤트 오류

Feature Description

프로필 정보 변경 버튼(제출)을 누르면 이벤트가 나타나지 않아 변경되었는지/변경실패인지 확인하기가 어렵습니다.

default.mp4

Todo

  • todo1

멤버 게시물 API, 팔로우 API 수정

Feature Description

  • 멤버 게시물 API 응답의 변수명 수정
    • postImages -> postImage
  • 팔로우 API 수정
    • 나를 차단한 대상을 팔로우 시도할 경우 예외가 아닌 200응답을 반환하도록 수정
    • FOLLOW_FAIL(200, "F006", "팔로우할 수 없는 대상입니다.")를 반환

Todo

  • 멤버 게시물 관련 수정
  • 팔로우 관련 수정

게시물 업로드 모달창 관련 요청사항

Feature Description

게시물 업로드 최종 화면에서 우측 상단 x 버튼을 누르면 아래와 같은 모달창이 생성됩니다.

Todo

  • x 버튼 누르면 위 모달창이 나오지 않게 변경
  • x 버튼에 마우스 올리면 손모양으로 바뀌는 로직 추가

게시물 업로드 관련 기능 추가 요청

Feature Description

description

게시물 내용 작성 과정에서 해시태그나 멘션 기호를 입력한 다음에 단어를 입력하는데, 중간에 엔터를 누르면 아래 영상과 같이 동작하는 것을 발견하였습니다.

_2022_08_30_22_10_02_937.mp4

1. 실제 인스타에서는 엔터를 누르면 조회된 리스트로 포커싱이 이동되고, 방향키를 눌러서 선택 후 엔터를 다시 누르면 해당 타겟이 입력되는 형태인데, 혹시 이렇게 기능 추가가 가능할까요?

  • 만약 리스트가 비어 있다면, 스페이스 바를 누른 것과 같이 조회 기능이 종료되는 형태로 동작해도 괜찮을 것 같아요

2. esc를 누르면 우측 상단의 X 버튼을 누르는 것과 같이 동작하도록 기능을 추가해 주시면 좋을 것 같습니다!

  • 업로드가 완료된 마지막 단계: 모달창 닫기
  • 업로드 전 단계: 게시물 삭제 확인 모달창 띄우기

3. 게시물 업로드가 완료되면, 홈에서 가장 첫 번째 게시물로 추가가 가능할까요?

실제 인스타에서 게시물을 업로드하면, 홈에 업로드한 게시물이 일시적으로 올라오는데, 새로고침을 하거나 다시 로그인하면 사라지는 형태입니다.

  • API를 호출해서 가져오는 게시물 목록에는 본인이 업로드한 게시물은 포함되지 않아서 사라지는 형태로 보입니다.

아마 본인이 올린 게시물은 홈에서 조회하지 않되, 업로드 시점에 정상적으로 업로드가 되었다는 것을 확인시키기 위해, 업로드가 완료되면 해당 게시물을 홈에 추가해주는 것 같습니다.

Todo

  • 1번 기능 추가
  • 2번 기능 추가
  • 3번 기능 추가

처음 회원가입한 경우, 홈 화면에 팔로우할 사람 찾기 문구 추가 요청

Feature Description

메인 화면에서 /posts/recent API를 호출했을 때, 게시물 개수가 0개라면 (팔로우 한 사람 여부에 관계 없이) 게시물이 보이는 위치에 아래와 같은 문구를 추가하면 좋을 것 같아요.
image

혹은 저희가 dlwlrma1 계정이 업로드한 게시물이 많으니까, dlwlrma1 계정을 검색해서 팔로우하도록 유도하는 문구를 사용하는 방법도 좋을 것 같습니다!

Todo

  • 최근 게시물 조회 개수가 0개일 때, 홈 화면에 팔로우할 사람 찾기 문구 추가

게시물 업로드 Form

Feature Description

게시물 업로드 Form

Todo

  • 사진 선택
  • 편집
  • 필터링
  • 문구 입력
  • 사람 태그
  • 해시태그

[11월 셋째주] Feature/login

목표

로그인 화면 퍼블리싱 완료
작업 브랜치 : feature/login

Todo

  • 코드리뷰 코멘트 달기
  • 코드리뷰 내용 반영
    • 라우터 수정
    • 페이스북 로그인버튼 패딩 없애기
    • 파일 구조, 파일명 통일
    • input focus
  • footer 퍼블리싱
  • 로그인 버튼 활성화
  • 입력한 비밀번호 보이기 버튼 추가

프로필 페이지 레이아웃 오류

Feature Description

게시물/저장됨/태그됨 최하단으로 내려가면 아래 동영상과 같이 본인 프로필 사진(?)이 크게 배치되는 문제입니다.

default.mp4

Todo

  • todo1

게시글 없을 때, 추천 사용자 UI 보여주도록 구현

Feature Description

회원가입 후 홈에 들어오면 게시물이 없어서 UI가 비어있음
-> 추천 사용자 api 로, 사용자 UI 만들어서 팔로우하도록 유도

게시물 쪽 UI

인스타-게시물없을때

추천사용자 UI

스크린샷 2023-02-03 오후 3 26 55

Todo

  • 게시물 없을 때 UI 만들기
  • 더미 사용자 만들기
  • 추천사용자 UI 만들기
  • api 연결

article 내부 모달

Feature Description

Home Route: 마우스 이벤트에 따라 등장하는 모달 레이아웃

Todo

  • username/avatar hover 모달
  • ... 클릭 모달
  • 좋아요한 사람 클릭 모달
  • 이모지 클릭 모달

백엔드 인증 관련 변경 사항

Feature Description

  • 백엔드 인증 관련 전반적인 로직이 수정되었습니다.
  • 로그인, 코드를 통한 로그인, 재발급(Reissue) API가 리팩토링되었으니 프론트에서 정상 호출되는지 확인해주시면 감사하겠습니다.
  • 일부 변경사항
    • 코드를 통한 로그인의 엔드포인트가 /accounts/login/recovery에서 /login/recovery로 수정되었습니다
    • 재발급 시도 시 기존의 "다른 기기에 의해 로그아웃 되었습니다"가 200 응답이 아닌 에러응답으로 변경되며 응답코드가 변경되었습니다.
  • 최대한 기존과 응답, 호출은 변하지 않도록 리팩토링하였는데 혹시 바뀐 부분이 있으면 카톡으로 질문주시면 됩니다 !

[feature/login] 5월 첫째주 to-do

Todo

  • interceptor.request에서 토큰재발급 실패 시, request 호출한 컴포넌트에서 각각 동일한 처리 -> interceptor내에서 1번에 처리하도록 수정
  • 비밀번호 재설정
  • 코드를 통한 로그인

비밀번호 재설정 메일 클릭 시, 백엔드에서 url 변경하기때문에 현재 코드(비밀번호 재설정 메일 보내는 폼 작업완료)머지 후 작업가능

로그인 없이 호출하는 API 추가

Feature Description

로그인 없이 호출하는 API 추가

  • 기존에는 API에 토큰이 없어도 되는 경우가 있었음. (ex 멤버 프로필 조회) -> 이는 하나의 API에 두개의 역할이 부여된다고 판단되어 분리하기로 결정했습니다.
  • 로그인 없이 호출할 수 있는 API는 /**/without형태의 엔드포인트를 갖습니다.
  • 로그인 없이 호출할 수 있는 지는 실제 인스타그램과 동일하게 적용했습니다. 구현 상에 빠트린 부분이 있으면 말씀주시면 구현하겠습니다 !

Todo

  • 로그인 없이 멤버 프로필 조회 API 적용
  • 로그인 없이 멤버 게시물 조회 API 적용
    • 게시물 15 개 조회 적용
    • 무한 스크롤 적용(보류)
  • 로그인 없이 게시물 조회 API 적용

DM 페이지 기능 추가 요청

Feature Description

DM 받는사람 검색 기능 추가

image

  • 유저를 검색해서 DM을 보낼 수 있는 기능을 추가해 주세요. (단톡 가능)
  • API
    • 검색 API: 검색(/topsearch)
    • 채팅 API: 채팅방 생성(/chat/rooms)

DM 메시지 박스 사라지는 기능 추가

image

  • 포커싱이 풀리면 해당 박스가 사라지는 기능을 추가해 주세요.

DM에서 상대방 클릭 시, 프로필 페이지로 이동하는 기능 추가

image

  • 표시한 부분을 클릭하면, 대상 프로필 페이지로 이동하는 기능을 추가해 주세요.
    image
  • 단체 채팅방의 상세 정보 창도 추가해 주세요.
  • 채팅방 이름(그룹 이름) 변경 API, 채팅 나가기 API는 다음 주 중으로 구현 후 전달 드리겠습니다.

Todo

  • DM 받는사람 검색 기능 추가
  • DM 메시지 박스 사라지는 기능 추가
  • DM에서 상대방 클릭 시, 프로필 페이지로 이동하는 기능 추가

[Feature/Home] Home Route

Feature Description

Home Route 남은 기능

Todo

  • #9
  • 링크: username, 댓글 모두 보기, 댓글 해시태그, 몇일 전
  • 이미지에 달린 username 해시태그
  • 무한 스크롤
  • 비디오도 슬라이더에 추가

member 관련 리팩토링

Refactor Description

백엔드에서 member 관련 리팩토링을 진행하여 수정 사항이 몇가지 있습니다 !

멤버 게시물 조회 API

  • 차단당했을 경우 응답의 data가 null이 아닌 빈 리스트 [] 또는 빈 페이지를 반환하도록 수정했습니다
  • 차당 당한 경우 빈 페이지 예시(무한스크롤)
{
  "status": 200,
  "code": "MP002",
  "message": "회원의 게시물 조회 성공",
  "data": {
    "content": [],
    "pageable": "INSTANCE",
    "last": true,
    "totalPages": 1,
    "totalElements": 0,
    "size": 0,
    "number": 0,
    "sort": {
      "unsorted": true,
      "sorted": false,
      "empty": true
    },
    "first": true,
    "numberOfElements": 0,
    "empty": true
  }
}
  • 차단당한경우 빈 list 예시(15개 조회)
{
  "status": 200,
  "code": "MP001",
  "message": "회원의 최근 게시물 15개 조회 성공",
  "data": []
}
  • 정상 응답 반환 시 content내 image 관련 정보 수정(imageUrl(string) -> DTO)
  • 기존의 응답 예시
{
        "postId": 6,
        "postImageUrl": "https://bluetifulc-spring-bucket.s3.ap-northeast-2.amazonaws.com/post/74839aa8-4be4-4e5c-882b-b264949b3915_KakaoTalk_20210702_030753284.JPG",
        "hasManyPosts": true,
        "postCommentsCount": 0,
        "postLikesCount": 0
}
  • 바뀐 응답 예시(멤버 포스트 목록에선 태그를 표시하지 않기때문에 postTagDTOs엔 항상 빈 값을 넣어 반환합니다.)
{
      "postId": 7,
      "postImageDTO": {
        "id": 7,
        "postImageUrl": "https://bluetifulc-spring-bucket.s3.ap-northeast-2.amazonaws.com/post/2f0630e7-02d8-45f0-9416-81b6427bcc9c_ai.PNG",
        "altText": "aaa",
        "postTagDTOs": []
      },
      "hasManyPosts": false,
      "postCommentsCount": 0,
      "postLikesCount": 0
}

엔드포인트 변경

  • 상단 메뉴 멤버 프로필 조회 API의 엔드포인트를 /menu/profile에서 /accounts/profile로 변경했습니다.
  • 로그인한 기기 조회 API의 엔드포인트를 /accounts/logined/device -> /accounts/login/device로 변경했습니다.
  • 저장한 포스트 조회 API의 엔드포인트를 /accounts/{username}/posts/saved에서 /accounts/posts/saved로 변경했습니다.

저장한 게시물은 자신만 볼 수 있기때문에 username정보를 받을 필요가 없어서 삭제했습니다.

비밀번호 재설정 API

  • 기존의 비밀번호와 일치하는 경우 예외를 발생시키도록 수정했습니다. (일반 재설정, 메일을 통한 재설정 둘다)
  • 비밀번호 재설정 메일 관련 문제점을 수정했습니다.

Todo

  • 멤버 게시물 목록 변경 사항 적용
  • 엔드포인트 변경사항 적용
    • 상단 메뉴 멤버 프로필 조회
    • 로그인한 기기 조회
    • 저장한 포스트 조회
  • 비밀번호관련 수정사항 적용

TODO 목록 모두 적용 시 Issue 닫아주시면 됩니다 !

[hooks] useInput hooks 개선

useInput

onChange 이벤트 핸들러에서, 공백처리를 추가해 isValid를 제어하도록 개선하려고 한다.

개선 이유는 게시글 댓글입력 input, DM input에서 공백만 입력할 경우엔 제출버튼을 활성화시키지 않도록 하기 위함이다.
onChange 이벤트 발생시, trim으로 공백인지 체크해 isValid를 false로 두고, isValid 값으로 버튼 활성화에 이용하면 된다.

관련 pr

#47 (comment)

Todo

  • 브랜치파서 작업

최근 검색 기록 API 구현

Feature Description

description

기존의 검색 리팩토링

  • 복잡하고 비효율적이었던 쿼리 일부를 개선했습니다. (데이터 수가 적어서 아마 체감은 안되실 것 같습니다.)
  • followingMemberFollow가 특정 상황에 정상적으로 반환되지 않던 경우를 수정했습니다.
  • 인스타그램의 경우 followingMemberFollow가 3명 이상인 경우 "aaa님, bbb님 외 *명이 팔로우 중입니다."식으로 출력이 되는데 현재 검색 API에선 followingMemberFollow에 해당하는 모든 username을 반환합니다. 이 부분은 종강 후 수정할 예정입니다.

최근검색 관련 API

  • 최근 검색 기록 삭제, 전체 삭제를 추가했습니다.
    • 전체삭제는 말그대로 로그인한 유저의 모든 검색기록을 삭제합니다.
    • 기록 삭제시 EntityType엔 HASHTAG, MEMBER를 넣어주시면 되고 EntityName엔 각각 해시태그 이름, 유저이름을 적어주시면 됩니다.

"#만두"검색 기록을 삭제한다면 API요청시 entityName에 "만두"를 입력하면됩니다. "#만두"를 입력하는게 프론트에서 처리하기 더 편할까요 ? 이 부분은 의견 주시면 수정하겠습니다.

  • 기존의 검색 조회수 증가 API가 확장됐습니다.
    • 검색 조회수 증가 + 최근검색기록 추가의 기능을 하게됩니다.
    • 기능이 두개가 됨에 따라 엔드포인트가 바뀌었습니다.
    • 즉, 기존의 조회수 증가 API 호출에서 엔드포인트만 바꿔주시면 됩니다.

Todo

  • 최근 검색 API 적용

subfeat/login/resetPassword: 비밀번호 재설정 추가 케이스

Feature Description

description

기존 설정했던 비밀번호 재설정 할 수 있음

Todo

  • 메일 > 비밀번호 재설정, 코드 유효하지 않을 때 에러페이지로 대응
  • 메일 > 비밀번호 재설정 > 완료 후, url을 "/"로 이동시켜야함

현재 해당 url 그대로 로그인 됨

이번주 작업목록

Feature Description

스크린샷 2022-05-16 오후 9 30 38

header의 프로필 이미지 클릭할 경우 보여지는 창 구현

작업 브랜치 : feature/sub-nav-in-header

Todo

  • UI 구현
  • 클릭이벤트 연결

[11월 셋째주] Feature/Direct

Feature Description

Direct page 퍼블리싱

Todo

  • �메세지 리스트 퍼블리싱
  • 메세지 아이템 퍼블리싱
  • 채팅 화면 퍼블리싱
  • 반응형
    • 1920
    • 768
    • 320

회원가입/로그인 페이지 입력값 검증 결과 메시지 출력 추가 요청

Feature Description

사용자 입장에서 입력 인풋에 값을 입력하면, 우측의 체크 표시와 X 표시를 통해 유효성 검사가 진행되는 것을 확인할 수 있지만, 유효성 검사 실패의 원인은 알 수 없어서 어떻게 해야할 지 난감해지는 경험을 할 것 같아요.
image

실제 인스타에서는 인풋 박스에서 유효성 검사에 실패해도(x 표시) 가입 버튼을 활성화시키고, 가입 버튼을 누르면 가입 버튼 하단에 메시지가 뜨는 형태인데, 이와 같이 추가되면 좋을 것 같습니다!
image

Todo

  • 회원가입/로그인 페이지 입력 값 검증 결과 메시지 추가

DM 목록 오류

Feature Description

DM 목록이 보이지 않는 오류입니다.

dm.mp4

Todo

  • todo1

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.