SPO-TI TEST는 주어진 질문에 답하면 나의 성격에 맞는 음악을 추천해 주는 테스트 서비스입니다. 🙋🏻♂️🙋🏻♀️
이 서비스는 "알아서 내 마음에 드는 음악을 추천해 줬으면 좋겠다." 라는 한마디에서 시작되었습니다. 🎧
또한, 요즘 많은 사람들이 자신을 알고 정의하고 싶어 하는 트렌드를 반영하여 기획되었습니다. 🤔
기획 및 디자인: 2025.01.23 ~ 2025.02.13
개발: 2025.02.14 ~ ing
김해원 (PM): 기획, 디자인, Frontend 개발
이류경: 기획, 디자인, Frontend 개발
김태강: 기획, Backend 개발
이소현: 기획, Backend 개발
이강준: 기획, Backend 개발
Frontend: Next.js, TypeScript, Tailwind CSS
Backend: Java, Spring
📝 테스트 진행: 질문에 답변하여 나의 음악 성향을 분석
🎵 음악 추천: 테스트 결과에 따라 맞춤형 플레이리스트 제공
🔄 결과 공유: 친구들과 테스트 결과 공유 (SNS 연동 가능)
💾 저장 기능: 추천받은 플레이리스트를 저장하여 다시 확인 가능
폴더 구조
project-root/ ├─ public/ # 정적 파일 (이미지, 폰트, favicon 등) │ ├─ images/ # 공통 이미지 (logo, 배경 등) │ ├─ icons/ # SVG, PNG 아이콘 │ └─ fonts/ # WOFF, WOFF2 폰트 파일 │ ├─ src/ │ ├─ app/ # Next.js App Router (라우팅 + layout) │ │ ├─ layout.tsx │ │ ├─ page.tsx │ │ ├─ test-intro/ │ │ │ └─ page.tsx │ │ ├─ music-test/ │ │ │ └─ page.tsx │ │ ├─ result/ │ │ │ └─ page.tsx │ │ ├─ inquiry/ │ │ │ └─ page.tsx │ │ └─ global-error.tsx # (선택) 전역 에러 처리 │ │ ├─ middleware.ts # 인증, 리디렉션 등 미들웨어 │ │ ├─ shared/ # 범용 UI, 스타일, 훅, 유틸 │ │ ├─ components/ # Button, Input, Typography 등 │ │ ├─ hooks/ # useDebounce, useMediaQuery 등 │ │ ├─ styles/ # global.css, colors.ts, typography.ts 등 │ │ ├─ lib/ # utils, constants, apiClient 등 │ │ └─ model/ # (선택) 전역 상태가 있다면 │ │ ├─ entities/ # 도메인 단위 상태/컴포넌트/타입 │ │ ├─ user/ │ │ │ ├─ components/ │ │ │ ├─ hooks/ │ │ │ ├─ model/ │ │ │ └─ types.ts │ │ ├─ playlist/ │ │ │ ├─ components/ │ │ │ ├─ hooks/ │ │ │ ├─ model/ │ │ │ └─ types.ts │ │ └─ inquiry/ │ │ ├─ components/ │ │ ├─ hooks/ │ │ ├─ model/ │ │ └─ types.ts │ │ ├─ features/ # 기능 흐름 단위 구조 │ │ ├─ testIntro/ │ │ │ ├─ components/ │ │ │ └─ hooks/ │ │ ├─ musicTest/ │ │ │ ├─ components/ │ │ │ ├─ hooks/ │ │ │ └─ model/ │ │ └─ result/ │ │ ├─ components/ │ │ ├─ hooks/ │ │ └─ model/ │ │ ├─ widgets/ # Header, Footer 등 조합형 UI │ │ ├─ Header/ │ │ └─ Footer/ │ └─ tailwind.config.ts # Tailwind 설정 └─ postcss.config.js # PostCSS 설정 └─ tsconfig.json # TypeScript 설정 └─ package.json └─ .gitignore</pre> </div>