프로젝트 구현 내용
컨셉
훈련내용과 관련성
프론트엔드
.
├── README.md
├── craco.config.js
├── next-dev.d.ts
├── next-env.d.ts
├── next.config.js
├── package.json
├── pages
│ ├── 404.tsx
│ ├── _app.tsx
│ ├── api
│ │ ├── event.ts
│ │ ├── gift.ts
│ │ ├── hello.ts
│ │ ├── post.ts
│ │ ├── services
│ │ ├── user.ts
│ │ └── utils
│ ├── event
│ ├── fifo
│ ├── gift
│ ├── index.tsx
│ ├── login.tsx
│ ├── mypage.tsx
│ ├── oauth
│ ├── post.tsx
│ └── random
├── public
│ ├── templates
│ └── video
├── src
│ ├── assets
│ ├── components
│ │ ├── Checkbox
│ │ ├── Icon
│ │ ├── Image
│ │ ├── Input
│ │ ├── Logo
│ │ ├── MUIAvatar
│ │ ├── MUIButton
│ │ ├── MUISwitch
│ │ ├── MUITab
│ │ ├── Modal
│ │ ├── Spinner
│ │ ├── Swalert
│ │ ├── Text
│ │ ├── Textarea
│ │ ├── Timer
│ │ └── Upload
│ ├── contexts
│ ├── domains
│ │ ├── CardFlip
│ │ ├── CheckboxList
│ │ ├── EventComplete
│ │ ├── EventDetail
│ │ ├── EventList
│ │ ├── EventPresent
│ │ ├── EventStateChecker
│ │ ├── EventTimer
│ │ ├── EventTitle
│ │ ├── EventType
│ │ ├── GiftItem
│ │ ├── GiftList.tsx
│ │ ├── Header
│ │ ├── TextLabel
│ │ └── TimerHeader
│ ├── hooks
│ │ ├── useDebounce.ts
│ │ ├── useInfiniteScroll.tsx
│ │ ├── useInterval.ts
│ │ ├── useIntervalFn.ts
│ │ ├── useLocalStorage.tsx
│ │ └── useTimeoutFn.ts
│ ├── stories
│ │ ├── components
│ │ └── domain
│ ├── types
│ │ ├── event.d.ts
│ │ └── gift.d.ts
│ └── utils
│ ├── constants
│ └── formatTimeNumber.ts
├── styles
├── tsconfig.extend.json
├── tsconfig.json
└── yarn.lock