Skip to content

ganimjeong/poketmonSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧿 Pokemon Dex - React Project

A web-based Pokédex built with React, allowing users to search, view, and manage Pokémon.
This project was designed to explore both prop-drilling and Context API patterns in state management.


📚 Table of Contents


🌐 English

📝 Overview

This project is a Pokédex web application built with React. It allows users to browse, search, and manage Pokémon in their own collection.
The focus was on implementing and comparing prop-drilling and Context API for state management.

🔧 Tech Stack

  • React with Vite
  • styled-components
  • React Context API
  • react-router-dom
  • react-toastify

💡 Features & Challenges

  • 🧭 Browse a list of Pokémon
  • 🔍 Search Pokémon by name
  • 📖 View Pokémon details
  • ➕ Add Pokémon to your personal Pokédex
  • ➖ Remove Pokémon from Pokédex
  • 🚫 Prevent duplicate Pokémon entries
  • 📦 Limit Pokédex to 10 Pokémon
  • 📣 Show success/error messages with toast
  • 🎨 Render different UI states dynamically
  • 🔗 State management with prop-drilling and Context API
  • ⚙️ Control global state and side effects with useEffect, useRef
  • 🧪 Validate input and business logic globally

🖼️ Screenshots

Start Page My Dex Detail View
home detail mydex
Add logic Delete logic Add logic in Detail View
home detail mydex

🇰🇷 한국어

📝 개요

이 프로젝트는 React로 구축된 포켓덱스 웹 애플리케이션입니다. 사용자가 자신의 포켓몬 컬렉션을 탐색, 검색, 관리할 수 있습니다.
상태 관리를 위해 prop-drillingContext API를 구현하고 비교하는 데 중점을 두었습니다.

🔧 기술 스택

  • React + Vite
  • styled-components
  • React Context API
  • react-router-dom
  • react-toastify

💡 기능 및 도전 과제

  • 🧭 포켓몬 목록 찾아보기
  • 🔍 이름으로 포켓몬 검색
  • 📖 포켓몬 정보 보기
  • ➕ 개인 포켓덱스에 포켓몬 추가하기
  • ➖ 포켓덱스에서 포켓몬 제거하기
  • 🚫 포켓몬 중복 입력 방지
  • 📦 포켓덱에 포켓몬을 10개로 제한하기
  • 📣 토스트와 함께 성공 / 오류 메시지 표시
  • 🎨 다양한 UI 상태를 동적으로 렌더링
  • 🔗 소품 드릴링 및 컨텍스트 API로 상태 관리
  • ⚙️ useEffect, useRef 로 전역 상태 및 부작용 제어
  • 🧪 입력 및 비즈니스 로직의 글로벌 유효성 검사

🖥️ How to Run Locally

  1. Clone the repository

    bash
    git clone https://github.com/yourusername/pokemon-dex.git
    cd pokemon-dex
    
  2. Install dependencies

    npm install
    
    • yarn dev if you use yarn
  3. Run the development server

    npm run dev
    
  4. Visit http://localhost:5173 in your browser

About

React PoketmonDex Site exploring the shift from prop-drilling to Context API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors