- λ μ¨μ λ°λΌ λ€μν ν λ§λ₯Ό κ°μ§ μ΅λͺ λ¬Έλ΅ μλΉμ€
- κΈ°ν κΈ°κ° : 24.04.19 ~ 24.04.29
- κ°λ° κΈ°κ° : 24.04.30 ~ 24.06.07
- κΈ°μ‘΄ κ³Όμ νλ‘μ νΈ μ€νλ§μΈλμ κ°μ μ μ¬μ§κ° 보μ΄λ κΈ°λ₯μ λ°μ μν€κ³ μ ν¨
1. μ§λ¬Έ μ λλ€μλ§μ λ³Ό μ μλ€λ λΆνΈν μ κ·Όμ± ν₯μ
2. νΈλλνμ§ μμ λμμΈκ³Ό λ¨μν κΈ°λ₯μ κ°μ
3. 보μ κΈ°λ₯μ λΆμ¬ ν΄κ²°
4. κΈ°μ‘΄μ μ¬μ©ν΄λ³΄μ§ λͺ»ν μλ‘μ΄ κΈ°λ₯μ λμ
- λλ€μ μ°λ κ³³μ μ§λ¬Έμ μ°κ³ , μ§§κ³ λΉ λ₯΄κ² μ¬μ©ν μ μλ μ¬μ΄νΈλ₯Ό λ§λ€μ.
1. μ§λ¬Έμμ λλ€μκ³Ό μ§λ¬Έμ ν¨κ» λ³Ό μ μλλ‘ μμ
2. κ·μ¬μ΄ λ‘κ³ μ μ§κ΄μ μ΄κ³ κΉλν λμμΈμΌλ‘ μμ
3. μ§λ¬Έμμ λ΅λ³μ λλ€μκ³Ό λΉλ°λ²νΈ μ€μ
4. κΈ°μμ² apiλ₯Ό νμ©ν ν
λ§ μλ λ³λ
μ΄μμ π€π¦π£
- Tags, Header, Alert Modal, PwPopup μ»΄ν¬λνΈ κ΅¬ν
- Contextλ₯Ό νμ©ν Modal Provider, Modal Wrapper, useModal ꡬν
- React Queryλ₯Ό μ μ©ν AnswerContent ꡬν
- Tags, AnswerContent, PwPopup λ° μΌλΆ μκ·λͺ¨ μ»΄ν¬λνΈμ React Hook Form μ μ©
- λ΄λΉ μ»΄ν¬λνΈμ ννμ¬ StoryBookμ νμ©ν μ»΄ν¬λνΈ UI ν μ€νΈ μ§ν
- λλ²νΈ λ±κ° μμΆ ν¬μλ² κ΅¬ν(
useLonLatToXY.ts
) - Vercelμ νμ©ν λ°°ν¬ μ§ν
κΉλ―Όν¬ πππ
- Geolocation λ©μλλ₯Ό μ¬μ©ν μ¬μ©μ μμΉ useHooks ꡬν
- Paginationμ onPageChange μ½λ°± κΈ°λ₯ νΈμΆ ν΄ κ΅¬ν
- Modal UI, μ ν¨μ± κ²μ¬ ꡬν
- Tag μ»΄ν¬λνΈλ₯Ό μ΄μ©ν νν°λ§ κΈ°λ₯ ꡬν (λ―Έλ΅λ³, νκ·Έ λ³ νν°λ§)
- APIλ₯Ό μ΄μ©ν Cardlist ꡬν
- react-hook-formμ μ΄μ©ν validate λλ€μ, ν¨μ€μλ, λ΅λ³λ΄μ© ꡬν
κΉμμ ππ¨π
- emojiλ₯Ό νμ©ν Reaction κΈ°λ₯ ꡬν
- Input μ»΄ν¬λνΈ UI λ° κΈ°λ³Έ κΈ°λ₯ ꡬν
- React Hook Formμ μ μ©ν From Modal UI λ° λ²κ·Έ μμ , μλ² ν΅μ
- React Queryλ₯Ό μ μ©ν Question Content UI ꡬν λ° APIλ₯Ό νμ©ν λ°μ΄ν° μΆλ ₯
- Card μ»΄ν¬λνΈ UI ꡬν λ° APIλ₯Ό νμ©ν λ°μ΄ν° μΆλ ₯
- λ μ§, μκ° λ³ν hook(
newDate.ts
) ꡬν - StoryBookμ νμ©ν μ»΄ν¬λνΈ UI ν μ€νΈ
μ λ―Έμ π§‘π¦π
- Button, Textarea, Footer, Answer Empty μ»΄ν¬λνΈ UI ꡬν
- κ³΅ν΅ Layout μ€μ
- StoryBookμ μ»΄ν¬λνΈμ UI ν μ€νΈ
- λλ€μ μ€λ³΅ κ²μ¬ κΈ°λ₯
- react-hook-formμ μ¬μ©ν΄ μ§λ¬Έ λ±λ‘ validation μ€μ λ° μ λ ₯κ° μλ²λ‘ μ μΆ
- imgbb apiλ₯Ό μ΄μ©νμ¬ μ΄λ―Έμ§ νΈμ€ν
- Carousel κΈ°λ₯ μμ±
- Next.jsμ next/font/local κΈ°λ₯μ μ¬μ©ν΄ ν°νΈ μ΅μ ν
- Axios api url μ€μ
- Error Message, Placeholder μμν
- Local Storage λ°μ΄ν° νΈμΆνμ¬ μ μ νμΈ ν¨μ ꡬν
- ν΄λΉ νλ μ§λ¬Έ μ°ΎκΈ° λͺ¨λ¬ ꡬν
- λ΅λ³ μ±ν κΈ°λ₯
- λ μ¨ api λ°μ΄ν°λ₯Ό κ°μ Έμμ μλ§μ ν λ§λ‘ λ³κ²½νκΈ°
- μ§λ¬Έ λ±λ‘ : λ©μΈ νμ΄μ§μμ λ°λ‘ μ§λ¬Έμ λ±λ‘ν μ μλ€.
- λ±λ‘ 쑰건 λΆν© : μ§λ¬Έμ λ±λ‘ν λ νμ κ°μ μ λ ₯νμ§ μκ±°λ 쑰건μ λ§μ§ μλ κ°μ μ λ ₯νλ©΄ λ±λ‘ν μ μλ€.
- λ‘컬μ€ν 리μ§μ μ μ₯ : μ§λ¬Έμ΄ λ±λ‘λλ©΄ μ λ ₯ν λλ€μκ³Ό λΉλ°λ²νΈκ° λ‘컬μ€ν 리μ§μ μ μ₯λλ€.
- 리μ‘μ μμ λ°λ₯Έ μΈκΈ° μ§λ¬Έ : 리μ‘μ μκ° λ§μ μμΌλ‘ μΈκΈ° μ§λ¬Έμ λνλλ€.
- μ¬λΌμ΄λ κΈ°λ₯ : μΈκΈ° μ§λ¬Έμλ μ΄ 6κ°κ° λνλκ³ λλκ·Έλ₯Ό νκ±°λ νμ΄ν λ²νΌμ ν΄λ¦νμ¬ μμΌλ‘ λκΈΈ μ μλ€.
- λ―Έλ΅λ³ νν°λ§ κΈ°λ₯ : λ―Έλ΅λ³ λ²νΌμ 체ν¬νλ©΄ λ΅λ³μ΄ λ¬λ¦¬μ§ μμ μ§λ¬Έλ€λ§ λμ€κ² λλ€.
- λΆμΌ λ³λ‘ νν°λ§ κΈ°λ₯ : μ 체, μ°μ λ±λ± μνλ λΆμΌλ₯Ό λλ₯΄λ©΄ ν΄λΉ λΆμΌμ μ§λ¬Έλ§ λμ¨λ€.
- νμ΄μ§λ€μ΄μ κΈ°λ₯ : λ€μ, μ΄μ λ²νΌμ λλ₯΄λ©΄ λ€μ νμ΄μ§λ‘ λμ΄κ°κ³ μ«μλ₯Ό ν΄λ¦νλ©΄ ν΄λΉ νμ΄μ§μ μ§λ¬Έλ€μ΄ λμ¨λ€.
QuestionDetailPage.mp4
- μ΄λͺ¨μ§ 리μ‘μ κΈ°λ₯ : ν΄λΉ μ§λ¬Έμ λν μ¬λλ€μ λλμ μ΄λͺ¨μ§μ ννλ‘ μ μ μμΌλ©°, μ¬μ©μ λν μ΄λͺ¨μ§λ‘ λλμ λ¨κΈΈ μ μλ€.
- μ§λ¬Έ μμΈ νμ : ν΄λΉ μ§λ¬Έμ λΆμΌ, μμ±μ, μμ±μΌ, λ΄μ©, μ²¨λΆ μ΄λ―Έμ§(μ ν)μ λ³Ό μ μλ€.
- λ΅λ³ νμ : ν΄λΉ μ§λ¬Έμ λͺ κ°μ λ΅λ³μ΄ λ±λ‘λμλμ§, κ·Έλ¦¬κ³ λ±λ‘λ λ΅λ³μ λ΅λ³μ, λ μ§, λ΅λ³μμ νλ‘ν μ΄λ―Έμ§, κ·Έλ¦¬κ³ λ΅λ³ λ΄μ©μ μ μ μλ€.
- λ΅λ³ λ±λ‘ : μ§λ¬Έμκ° μλ μ¬μ©μλ λ΅λ³νκΈ° λ²νΌμΌλ‘ λ³ΈμΈμ λ΅λ³μ λ±λ‘ν μ μλ€.
- λ΅λ³ μμ λ° μμ : λ΅λ³μλ κ° λ΅λ³ λ³λ‘ μ€μ λ λΉλ°λ²νΈ(μ«μ 4μ리)λ₯Ό μ λ ₯νμ¬ ν΄λΉ λ΅λ³μ μμ νκ±°λ μμ ν μ μλ€. λ¨, μ±νλ λ΅λ³μ μμ λ° μμ κ° λΆκ°νλ€.
- λ΅λ³ μ±ν : μ§λ¬Έμλ λ³ΈμΈμ΄ μνλ λ΅λ³μ μ±νν μ μλ€.
quickquestion
ββ public
β ββ assets
β ββ fonts
β ββ images
ββ src
ββ apis
ββ app
β ββ fonts
β ββ layout.tsx
β ββ providers.tsx
β ββ questiondetail
β β ββ [id]
β ββ questionlist
ββ components
β ββ common
β β ββ AlertModal
β β ββ Button
β β ββ Card
β β ββ FormModal
β β ββ Head
β β ββ Header
β β ββ Input
β β ββ ModalWrapper
β β ββ NoAnswer
β β ββ Pagination
β β ββ PopUp
β β ββ Reaction
β β ββ Tags
β β ββ Textarea
β ββ home
β β ββ CurationCardList
β β ββ QuestionForm
β ββ questionDetail
β ββ AnswerEmpty
β ββ AnswerContent
β ββ ContentLayout
β ββ QuestionContent
β ββ ReactionContent
ββ constants
ββ contexts
ββ hooks
ββ lib
ββ stories
ββ styles
β ββ base
β ββ main.scss
β ββ mixins
β ββ variables
ββ types
ββ utils
- Clone the repository
git clone https://github.com/Important-is-Great-Youths/QuickQuestion.git
- Install dependencies
npm install
- Start the development server
npm run dev
- Open the project in your browser
http://localhost:3000
λ‘κ³ λμμΈ : π