Git Product home page Git Product logo

webtoon-search's Introduction

프로젝트 소개 🙂

바닐라 타입스크립트로 구현한 웹툰 검색기 입니다.
보러가기 -> https://yeeed711.github.io/webtoon-search/

기술 스택 🛠

  • TypeScript
  • SCSS
  • Webpack
  • Bable
  • ES Lint
  • Prettier

클래스 다이어그램 📊

클래스다이어그램


UI 디자인 ✨

메인 화면 검색 했을 때 화면
검색 메인 화면 검색 했을때 화면

구현기능 🦾

검색 검색 키워드 강조
검색기능시연 검색 키워드 강조
  • 검색 : 제목, 작가명으로 검색가능
  • 캐싱 : 새로고침시 현재 검색한 키워드, 검색 리스트, 리스트 스크롤 위치 유지
  • 검색 키워드 강조 : 검색한 키워드중 매칭되는 텍스트를 강조
  • 키보드 이벤트(검색 결과 리스트를 키보드로도 조작 가능)
    • 상향 방향키 : 리스트 목록 상향이동
    • 하향 방향키 : 리스트 목록 하향이동
    • Enter : 리스트 상세보기
    • Escape : 모달 팝업 닫기
  • 초기 화면 진입시 input focusing
  • 검색 키워드 없을 시 API요청 방지
  • 검색창에 debounce를 구현해 무분별한 API요청 방지

디렉토리 구조 📁

자세히 보기
├── 📁 public
│   ├── favicon.ico
│   └── index.html
├── 📁 src
│   ├── App.ts
│   ├── main.ts
│   ├── custom.d.ts
│   ├── 📁 api
│   │   └── index.ts
│   ├── 📁 components
│   │   ├── 📁 core
│   │   │   ├── Component.ts
│   │   │   └── index.ts
│   │   ├── index.ts
│   │   ├── 📁 message
│   │   │   ├── 📁 ErrorMeg
│   │   │   └── index.ts
│   │   └── 📁 domain
│   │       ├── 📁 search
│   │       │   ├── 📁 SearchInput
│   │       │   ├── 📁 SearchItemInfo
│   │       │   └── 📁 SearchResult
│   │       └── index.ts
│   ├── 📁 constants
│   ├── 📁 models
│   ├── 📁 scss
│   └── 📁 utils
│       ├── 📁 dom
│       ├── 📁 helpers
│       ├── 📁 storage
│       └── index.ts
└── README.md
  • /api : api 요청 관련
  • /components : 컴포넌트들의 집합
    • /core : 코어 컴포넌트
    • /domain : 도메인 컴포넌트의 집합
  • /constants : 전역으로 사용되는 상수들의 집합
  • /models : 전역으로 사용되는 타입 정의(main data models)
  • /scss : scss 스타일
  • /utils : 전역으로 사용되는 함수들의 집합
    • /dom : dom조작 관련 함수
    • /helpers : 기능로직 관련 함수
    • /storage : 스토리지 관련 함수

Challenges 🫠

기능 개발을 하며 겪은 이슈들

개발일지 보러가기

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.