Giter Club home page Giter Club logo

wanted-internship-1's Introduction

Wanted Front-End Internship Mission[1]

기술 스택

React react-router-dom Styled-Components react-markdown Octokit

버전 정보

이름 버전
node ^18.7.0
npm ^9.8.1
react ^18.2.0
octokit ^3.1.0

프로젝트 실행

https://github.com/settings/tokens 에서 토큰을 발급받아오자 (🚨 token을 발급 받지 않고 사용하면 api 호출 횟수에 제한이 있다.)

git clone

echo "REACT_APP_GIHUB_API_KEY = 발급받은 token" > .env

npm install
npm start

주요기능

open 상태의 이슈 중 코멘트가 많은 순으로 정렬

  • api 요청으로 받아온 응답 데이터를 util/sortingComments.ts 유틸 함수를 통해서 정렬

다섯번째 셀마다 광고 이미지 출력

  1. 광고 이미지 컴포넌트 선언 : AdBanner.tsx
  2. IssueCardWrapper 컴포넌트에서 조건에 맞는 index 값에 따라 AdBanner 컴포넌트 노출

화면을 아래로 스크롤 할 시 이슈 목록 추가 로딩(Infinite scroll)

Screen.Recording.2023-09-14.at.18.04.58.mov
  1. 현재 스크롤 높이를 계산해주는 useScroll 커스텀 훅 선언
  2. IssueListSection에서 useEffect hook을 통해 스크롤 높이가 끝 지점인지 판단
  3. 끝지점일시에 page state (+1)
  4. api 호출 함수의 parameter에 page state 전달
  5. page 값을 가지고 몇 페이지의 데이터를 호출할 것인지 판단

데이터 요청 중 로딩 표시

Screen.Recording.2023-09-14.at.18.22.19.mov
  • IssueListSection 데이터 로딩
  • Infinite scroll 데이터 로딩

커밋 메세지

Commit Type Format
feat 새로운 기능 추가
bug 버그 수정
docs 문서수정
design 사용자 UI 디자인 변경(CSS 등)
refactor 코드 리팩토링
chore 빌드 업무 수정, 패키지 매니저 수정(gitignore수정 등)
rename 파일 혹은 폴더명을 수정만 한 경우
remove 파일을 삭제만 한 경우

wanted-internship-1's People

Contributors

tjswo2292 avatar

Watchers

 avatar

wanted-internship-1's Issues

공통 헤더 생성

Title

  • 공통 헤더 생성

Desc

  • 두 페이지는 공통 헤더를 공유한다.
  • 헤더에는 Organization Name / Repository Name이 표시된다.

Etc

메인 페이지

Title

  • 메인 페이지

Desc

  • open 상태의 이슈 중 코멘트가 많은 순으로 정렬
  • 각 행에는 '이슈번호, 이슈제목, 작성자, 작성일, 코멘트수'를 표시
  • 다섯번째 셀마다 광고 이미지 출력
  • 화면을 아래로 스크롤 할 시 이슈 목록 추가 로딩(무한 스크롤)

Etc

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.