Skip to content

Five-Rookies/dear-xmas

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

λ©‹μŸμ΄ μ‚¬μžμ²˜λŸΌ ν”„λ‘ νŠΈμ—”λ“œ 슀쿨 1κΈ° Final Project 5μ‘°



ν”„λ‘œμ νŠΈ μ†Œκ°œ 및 κ°œμš”

Dear, XmasλŠ” 크리슀마슀의 감성과 νŠΉλ³„ν•œ μˆœκ°„μ„ ν•¨κ»˜ μŒ“μ•„κ°€λŠ” μ›Ή μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
ν¬λ¦¬μŠ€λ§ˆμŠ€μ™€ κ΄€λ ¨λœ 컨텐츠λ₯Ό 즐길 수 μžˆμŠ΅λ‹ˆλ‹€.

⏰ μž‘μ—…κΈ°κ°„ : 23.12.01 ~ 23.12.25

πŸ”— 배포링크 : https://dear-xmas.vercel.app/


λͺ©μ°¨

  1. νŒ€μ› μ†Œκ°œ
  2. ν”„λ‘œμ νŠΈ μ†Œκ°œ 및 κ°œμš”
  3. 기술 및 개발 ν™˜κ²½
  4. 폴더 ꡬ쑰
  5. μ£Όμš” κΈ°λŠ₯

Five Rookies νŒ€μ› μ†Œκ°œ

유재영 μ†‘μˆ˜λΉˆ μœ€μ„ μ˜ 이쀀엽
zxxng ssb1565b seonyeongyoon dv-yeop920
FrontEnd
Team%20Leader
FrontEnd
UI/UX%20
FrontEnd
FrontEnd
둜그인, νšŒμ›κ°€μž…, λΉ„λ°€λ²ˆν˜Έ μ°ΎκΈ°
미듀웨어 / 라우트 ν•Έλ“€λŸ¬
ν”„λ‘œν•„ μˆ˜μ • κΈ°λŠ₯
λŒ“κΈ€ μˆ˜μ • / μ‚­μ œ κΈ°λŠ₯
μ‹€μ‹œκ°„ μ±„νŒ…&μ˜μƒ κΈ°λŠ₯
GitHub μž”λ”” 연동
카운트 λ‹€μš΄ κΈ°λŠ₯
검색 κΈ°λŠ₯
λŒ“κΈ€ μ’‹μ•„μš” / 생성 κΈ°λŠ₯
μΉ΄μΉ΄μ˜€ν†‘ 곡유 κΈ°λŠ₯
λ“œλ‘­λ‹€μš΄ 헀더
랜덀 슬둯 λ¨Έμ‹ 
섀문쑰사 μ• λ‹ˆλ©”μ΄μ…˜, 데이터 톡계
λ¬΄ν•œμŠ€ν¬λ‘€ κΈ°λŠ₯
λŒ“κΈ€/crud μ’‹μ•„μš” κΈ°λŠ₯
λ””λ°”μš΄μ‹± 처리
페러렐,μΈν„°μ…‰νŠΈ λΌμš°νŒ… λͺ¨λ‹¬
λͺ¨μž„생성 κΈ°λŠ₯
νƒ­ κΈ°λŠ₯
닀크λͺ¨λ“œ κΈ°λŠ₯


기술 및 개발 ν™˜κ²½

Front-end

Back-end

Design

ν˜‘μ—…

배포


πŸ›  개발 ν™˜κ²½

μ½”λ“œ μΆ©λŒμ„ 쀄이고 브랜치 관리가 μš©μ΄ν•œ Git Flow 방식을 μ‚¬μš©ν•˜μ—¬ κΈ°λŠ₯ 브랜치λ₯Ό λ§Œλ“€κ³ 
각자 μž‘μ—… 브랜치λ₯Ό λ”°λ‘œ μƒμ„±ν•˜μ—¬ μž‘μ—…ν•˜κ³ , κΈ°λŠ₯ 브랜치둜 PR을 μ˜¬λ¦½λ‹ˆλ‹€.
PR은 μ½”λ“œ 리뷰 λ‹΄λ‹Ήμžλ₯Ό μ§€μ •ν•˜μ—¬ κ²€ν†  ν›„ Mergeλ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€.

πŸ“š Branch

main : 배포 브랜치
develop : 메인 브랜치 배포전 ν…ŒμŠ€νŠΈ 브랜치
feat/개발λͺ… : κΈ°λŠ₯ 개발 브랜치 ex) feat/Askquestion

πŸ™πŸΌ 컀밋 μ»¨λ²€μ…˜

컀밋 μœ ν˜• μ„€λͺ…
Feat μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„, νŠΉμ§• μΆ”κ°€
Fix 버그해결, μˆ˜μ •
Refactor λ¦¬νŒ©ν† λ§
Design UI/μŠ€νƒ€μΌ 파일 μΆ”κ°€/μˆ˜μ •
Move 파일, μ½”λ“œμ˜ 이동
Rename 파일λͺ…, 디렉토리λͺ… λ³€κ²½
Remove μ–΄λ–€ μš”μ†Œ ν˜Ήμ€ νŒŒμΌμ„ μ‚­μ œν–ˆμ„ λ•Œ
Docs λ¬Έμ„œ κ΄€λ ¨ μž‘μ—…
Chore μžμž˜ν•œ μˆ˜μ •μ— λŒ€ν•œ 컀밋
Add npm λ“± μ„€μΉ˜ μ‹€ν–‰ κ΄€λ ¨

폴더 ꡬ쑰

πŸ“
src
β”œβ”€β”€ app
β”‚   β”œβ”€β”€ (common)
β”‚   β”‚   β”œβ”€β”€ _components
β”‚   β”‚   β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ MainMenu.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Profile.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ScrollBtn.module.scss
β”‚   β”‚   β”‚   β”œβ”€β”€ ScrollBtn.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ SearchInput.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ footer.module.scss
β”‚   β”‚   β”‚   └── header.module.scss
β”‚   β”‚   β”œβ”€β”€ developers
β”‚   β”‚   β”‚   β”œβ”€β”€ Member.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ developers.module.scss
β”‚   β”‚   β”‚   └── page.tsx
β”‚   β”‚   β”œβ”€β”€ layout
β”‚   β”‚   └── search
β”‚   β”‚       β”œβ”€β”€ _components
β”‚   β”‚       β”‚   β”œβ”€β”€ NoResult.tsx
β”‚   β”‚       β”‚   └── SearchList.tsx
β”‚   β”‚       β”œβ”€β”€ page.tsx
β”‚   β”‚       └── search.module.scss
β”‚   β”œβ”€β”€ (meetUp)
β”‚   β”‚   β”œβ”€β”€ @createMeetupModal
β”‚   β”‚   β”‚   β”œβ”€β”€ (.)detail
β”‚   β”‚   β”‚   β”‚   └── [id]
β”‚   β”‚   β”‚   β”‚       └── meetupModal
β”‚   β”‚   β”‚   β”‚           └── page.tsx
β”‚   β”‚   β”‚   └── default.tsx
β”‚   β”‚   β”œβ”€β”€ _components
β”‚   β”‚   β”‚   └── _meetupModal
β”‚   β”‚   β”‚       β”œβ”€β”€ _datePicker
β”‚   β”‚   β”‚       β”‚   └── DatePicker.tsx
β”‚   β”‚   β”‚       └── _meetupModal
β”‚   β”‚   β”‚           β”œβ”€β”€ MeetupModal.tsx
β”‚   β”‚   β”‚           └── meetupModal.module.scss
β”‚   β”‚   β”œβ”€β”€ detail
β”‚   β”‚   β”‚   └── [id]
β”‚   β”‚   β”‚       β”œβ”€β”€ _components
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ Comment.tsx
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ CommentList.tsx
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ CreateComment.tsx
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ CreateMeetUpButton.tsx
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ DetailHeader.tsx
β”‚   β”‚   β”‚       β”‚   └── RelatedVedio.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ detail.module.scss
β”‚   β”‚   β”‚       β”œβ”€β”€ error.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ layout.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ meetupModal
β”‚   β”‚   β”‚       β”‚   └── page.tsx
β”‚   β”‚   β”‚       └── page.tsx
β”‚   β”‚   β”œβ”€β”€ layout.tsx
β”‚   β”‚   β”œβ”€β”€ live
β”‚   β”‚   β”‚   β”œβ”€β”€ _components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LiveButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LiveChat.tsx
β”‚   β”‚   β”‚   β”‚   └── LiveStream.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ error.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ live.module.scss
β”‚   β”‚   β”‚   └── page.tsx
β”‚   β”‚   └── meetup
β”‚   β”‚       β”œβ”€β”€ _components
β”‚   β”‚       β”‚   β”œβ”€β”€ MeetupBox.tsx
β”‚   β”‚       β”‚   β”œβ”€β”€ MeetupList.tsx
β”‚   β”‚       β”‚   β”œβ”€β”€ MyMeetupList.tsx
β”‚   β”‚       β”‚   β”œβ”€β”€ VideoList.tsx
β”‚   β”‚       β”‚   └── _tab
β”‚   β”‚       β”‚       β”œβ”€β”€ MeetupTabButtons.tsx
β”‚   β”‚       β”‚       β”œβ”€β”€ MeetupTabPage.tsx
β”‚   β”‚       β”‚       └── TabLoading.tsx
β”‚   β”‚       β”œβ”€β”€ layout.tsx
β”‚   β”‚       β”œβ”€β”€ meetup.module.scss
β”‚   β”‚       β”œβ”€β”€ meetupList
β”‚   β”‚       β”‚   └── page.tsx
β”‚   β”‚       β”œβ”€β”€ myMeetupList
β”‚   β”‚       β”‚   └── page.tsx
β”‚   β”‚       └── page.tsx
β”‚   β”œβ”€β”€ (sign)
β”‚   β”‚   β”œβ”€β”€ _components
β”‚   β”‚   β”‚   β”œβ”€β”€ SignInput.tsx
β”‚   β”‚   β”‚   └── sign.module.scss
β”‚   β”‚   β”œβ”€β”€ resetpassword
β”‚   β”‚   β”‚   └── page.tsx
β”‚   β”‚   β”œβ”€β”€ signIn
β”‚   β”‚   β”‚   β”œβ”€β”€ findPassword
β”‚   β”‚   β”‚   β”‚   └── page.tsx
β”‚   β”‚   β”‚   └── page.tsx
β”‚   β”‚   └── signUp
β”‚   β”‚       └── page.tsx
β”‚   β”œβ”€β”€ _components
β”‚   β”‚   β”œβ”€β”€ @createSurveyModal
β”‚   β”‚   β”‚   β”œβ”€β”€ (..)surveyModal
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx
β”‚   β”‚   β”‚   β”‚   └── surveyModal
β”‚   β”‚   β”‚   β”‚       └── _components
β”‚   β”‚   β”‚   β”‚           β”œβ”€β”€ SurveyModal.tsx
β”‚   β”‚   β”‚   β”‚           └── surveyModal.module.scss
β”‚   β”‚   β”‚   └── detault.tsx
β”‚   β”‚   β”œβ”€β”€ ChristmasCounter.tsx
β”‚   β”‚   β”œβ”€β”€ Main.tsx
β”‚   β”‚   β”œβ”€β”€ MainMeetupList.tsx
β”‚   β”‚   β”œβ”€β”€ MeetupList.tsx
β”‚   β”‚   β”œβ”€β”€ Modal.module.scss
β”‚   β”‚   β”œβ”€β”€ Slot.tsx
β”‚   β”‚   β”œβ”€β”€ SlotContent.tsx
β”‚   β”‚   β”œβ”€β”€ SlotModal.tsx
β”‚   β”‚   β”œβ”€β”€ Survey.tsx
β”‚   β”‚   β”œβ”€β”€ SurveyGraph.tsx
β”‚   β”‚   └── SurveyModal.tsx
β”‚   β”œβ”€β”€ auth
β”‚   β”‚   β”œβ”€β”€ callback
β”‚   β”‚   β”‚   └── route.ts
β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   └── route.ts
β”‚   β”‚   β”œβ”€β”€ logout
β”‚   β”‚   β”‚   └── route.ts
β”‚   β”‚   └── sign-up
β”‚   β”‚       └── route.ts
β”‚   β”œβ”€β”€ datepicker.scss
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ globalButton.module.scss
β”‚   β”œβ”€β”€ globals.scss
β”‚   β”œβ”€β”€ layout.tsx
β”‚   β”œβ”€β”€ loading.tsx
β”‚   β”œβ”€β”€ not-found.tsx
β”‚   β”œβ”€β”€ page.module.scss
β”‚   β”œβ”€β”€ page.tsx
β”‚   └── thems.scss
β”œβ”€β”€ components
β”œβ”€β”€ hooks
β”‚   β”œβ”€β”€ useInfiniteScroll.ts
β”‚   β”œβ”€β”€ useLoadMore.ts
β”‚   └── useScrollBottom.ts
β”œβ”€β”€ middleware.ts
β”œβ”€β”€ status
β”‚   └── store.ts
β”œβ”€β”€ type
β”‚   β”œβ”€β”€ Component.ts
β”‚   β”œβ”€β”€ SupabaseResponse.ts
β”‚   β”œβ”€β”€ YoutubeApiResponse.ts
β”‚   └── supabase.ts
└── utils
    β”œβ”€β”€ apiRequest
    β”‚   β”œβ”€β”€ commentsApiRequest.ts
    β”‚   β”œβ”€β”€ defaultApiSetting.ts
    β”‚   β”œβ”€β”€ defaultServerApiSetting.ts
    β”‚   β”œβ”€β”€ likeApiRequest.ts
    β”‚   β”œβ”€β”€ liveApiRequest.ts
    β”‚   β”œβ”€β”€ meetupApiRequestClient.ts
    β”‚   β”œβ”€β”€ meetupApiRequestServer.ts
    β”‚   β”œβ”€β”€ profileApiRequest.ts
    β”‚   β”œβ”€β”€ signUserSupabase.ts
    β”‚   └── surveyApiRequest.ts
    β”œβ”€β”€ calculateTimeUntilDay.ts
    β”œβ”€β”€ cookieClient.ts
    β”œβ”€β”€ cookieServer.ts
    β”œβ”€β”€ relativeDate.ts
    └── youtubRequest
        β”œβ”€β”€ youtubeApiRequest.ts
        β”œβ”€β”€ youtubeJsonRequest.ts
        └── youtubeRequest.ts
  • app/page : 메인 νŽ˜μ΄μ§€
  • detail : λͺ¨μž„ 생성 & λΉ„λ””μ˜€ 상세 νŽ˜μ΄μ§€
  • developers : 개발자 μ†Œκ°œ νŽ˜μ΄μ§€
  • search : 검색 νŽ˜μ΄μ§€
  • signIn : 둜그인 νŽ˜μ΄μ§€
  • signUp : νšŒμ›κ°€μž… νŽ˜μ΄μ§€
  • meetup : λͺ¨μž„ 리슀트 νŽ˜μ΄μ§€
  • live : μ‹€μ‹œκ°„ μ˜μƒ μ‹œμ²­ & μ±„νŒ… νŽ˜μ΄μ§€
  • app/loading : λ‘œλ”© νŽ˜μ΄μ§€
  • app/not-found : μ—λŸ¬ νŽ˜μ΄μ§€

μ£Όμš” κΈ°λŠ₯

⭐️ 곡톡

  • 닀크λͺ¨λ“œ
  • 이미지 λ ˆμ΄μ§€ λ‘œλ”©
  • λ¬΄ν•œ 슀크둀
  • API 톡신 λΆˆκ°€μ‹œ λŒ€μ²΄ 데이터 ν™œμš©
  • 운영/κ°œλ°œμ„œλ²„ 각각의 데이터 ν…Œμ΄λΈ” ν™œμš©

πŸ“ƒ 메인 νŽ˜μ΄μ§€

  • 크리슀마슀 D-Day 확인
  • 였늘 라이브 μ˜ˆμ •μΈ μ˜μƒλͺ©λ‘ 쑰회
  • λΉ„λ””μ˜€ 상세 νŽ˜μ΄μ§€ 이동
  • 랜덀 슬둯
  • 랜덀 슬둯 κ²°κ³Ό μΉ΄μΉ΄μ˜€ν†‘ 곡유
  • 크리슀마슀 μ„€λ¬Έ 톡계

πŸ–Ό 상세 νŽ˜μ΄μ§€

  • ν΄λ¦­ν•œ λΉ„λ””μ˜€ 상세 쑰회 및 μž¬μƒ
  • ν•΄λ‹Ή 채널 κ΄€λ ¨ μ˜μƒ 리슀트 쑰회 및 ν΄λ¦­μ‹œ 링크 이동
  • λŒ“κΈ€ CRUD 및 μ’‹μ•„μš”
  • λͺ¨μž„ 생성 κ°€λŠ₯ λͺ¨λ‹¬(μΈν„°μ…‰νŠΈ,페러렐 라우트)
  • λͺ¨λ‹¬μ— 사항을 μž…λ ₯ ν•˜κ³  λͺ¨μž„ 생성

πŸ” 검색 νŽ˜μ΄μ§€

  • ν‚€μ›Œλ“œ 포함 κ²Œμ‹œλ¬Ό 쑰회
  • λΉ„λ””μ˜€ 상세 νŽ˜μ΄μ§€ 이동

πŸ‘©β€πŸ‘©β€πŸ‘§β€πŸ‘¦ 개발자 μ†Œκ°œ νŽ˜μ΄μ§€

  • 기술 μŠ€νƒ μ†Œκ°œ
  • 멀버 μ†Œκ°œ

πŸ”’ 둜그인 / νšŒμ›κ°€μž…

  • 둜그인
  • νšŒμ›κ°€μž…
  • λΉ„λ°€λ²ˆν˜Έ μ°ΎκΈ° 및 μˆ˜μ •
  • μœ νš¨μ„± 검사
  • 토큰 검증

πŸ•°οΈΒ μ‹€μ‹œκ°„ λͺ¨μž„ μ°Έμ—¬ νŽ˜μ΄μ§€

  • λ°©μž₯이 μ„€μ •ν•œ μ‹œκ°„μ— μ˜μƒ μžλ™ μž¬μƒ
  • μ’…λ£Œν–ˆμ„λ•Œ ν•¨κ»˜ 보고있던 μ‚¬λžŒλ“€λ„ μ΄›λΆˆλͺ¨μž„ νŽ˜μ΄μ§€λ‘œ 이동
  • μ†ŒμΌ“μ„ ν™œμš©ν•œ μ‹€μ‹œκ°„ μœ μ € μ±„νŒ… κΈ°λŠ₯
  • μ±„νŒ… λŒ€ν™”μ°½μ— λ™μ˜μƒ μ‹œκ°„μ„ μž…λ ₯ => ν΄λ¦­μ‹œ λ™μ˜μƒ μ‹œκ°„λŒ€ 이동

βœ‰οΈΒ μ΄›λΆˆ λͺ¨μž„ 쑰회 νŽ˜μ΄μ§€

  • μ΄›λΆˆλͺ¨μž„ νŽ˜μ΄μ§€ νƒ­ κ΅¬ν˜„
  • λΉ„λ””μ˜€ μ˜μƒ 리슀트 쑰회
  • ν˜„μž¬ λͺ¨μ§‘쀑인 λͺ¨μž„ 리슀트 쑰회
  • λ‚΄ λͺ¨μž„ 리슀트 쑰회 => λ‚΄κ°€ μƒμ„±ν•˜κ±°λ‚˜ μ°Έμ—¬ν•œ λͺ¨μž„ 쑰회
  • λͺ¨μž„ μ°Έκ°€ μ‹ μ²­
  • λͺ¨μž„ κ²Œμ‹œκΈ€μ— μ’‹μ•„μš” κΈ°λŠ₯

κ΅¬ν˜„ ν™”λ©΄

νšŒμ›κ°€μž… 둜그인
λΉ„λ°€λ²ˆν˜Έ μ°ΎκΈ° μΈν„°μ…‰νŠΈ λΌμš°νŒ…μ„ μ΄μš©ν•œ λͺ¨λ‹¬μ°½
μ‹€μ‹œκ°„ μ±„νŒ… 라이브 μ’…λ£Œν•˜κΈ°
ν˜„μž¬ μž¬μƒμ‹œκ°„ 곡유 Github μž”λ”” 연동
섀문쑰사 톡계 랜덀 슬둯

Packages

No packages published

Languages

  • TypeScript 70.7%
  • SCSS 29.2%
  • JavaScript 0.1%