Skip to content

Team-PayCheck/PayCheck-frontend

Repository files navigation

PayCheck (WageManager)

๐ŸŽฏ ๋ชฉํ‘œ

๋‹จ๊ธฐ ๊ทผ๋กœ์ž์™€ ์†Œ๊ทœ๋ชจ ์ž์˜์—… ๊ณ ์šฉ์ฃผ๋ฅผ ์œ„ํ•œ ํˆฌ๋ช…ํ•˜๊ณ  ๊ฐ„ํŽธํ•œ ๊ธ‰์—ฌ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜ ์ œ๊ณต

ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ

  • ๊ทผ๋ฌด ๊ธฐ๋ก ๋ถˆํˆฌ๋ช…์„ฑ ๋ฐ ์ˆ˜๋™ ์ •์‚ฐ์œผ๋กœ ์ธํ•œ ๊ธ‰์—ฌ ์ฒด๋ถˆ/์˜ค๋ฅ˜
  • ๊ทผ๋กœ์ž-๊ณ ์šฉ์ฃผ ๊ฐ„ ์‹ ๋ขฐ ๋ถ€์กฑ
  • ๊ณ ์šฉ์ฃผ์˜ ๋ฐ˜๋ณต์ ์ธ ๊ธ‰์—ฌ ๊ด€๋ฆฌ ์—…๋ฌด ๋ถ€๋‹ด

๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์‹ค์‹œ๊ฐ„ ๊ทผ๋ฌด ๊ธฐ๋ก ๊ณต๊ฐœ๋ฅผ ํ†ตํ•œ ๊ทผ๋กœ์ž ๊ถŒ์ต ๋ณดํ˜ธ
  • ๊ธ‰์—ฌ ๊ณ„์‚ฐ/์ •์‚ฐ ๋ฐ˜์ž๋™ํ™”๋กœ ๊ณ ์šฉ์ฃผ ๊ด€๋ฆฌ ๋น„์šฉ ์ ˆ๊ฐ
  • ๊ฐ๊ด€์  ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ •์‚ฐ์œผ๋กœ ๋ถ„์Ÿ ๊ฐ์†Œ ๋ฐ ์ƒํ˜ธ ์‹ ๋ขฐ ๊ตฌ์ถ•

๐Ÿ’ก ๋™๊ธฐ

์ตœ๊ทผ ๋…ธ๋™ ์‹œ์žฅ์€ ๋‹จ๊ธฐ ๊ทผ๋กœ์ž ์ฆ๊ฐ€์™€ ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜ ๊ธฑ ์›Œ์ปค(Gig Worker) ํ™•์‚ฐ์œผ๋กœ ๊ธ‰๋ณ€ํ•˜๊ณ  ์žˆ์Œ. ํ•˜์ง€๋งŒ ๊ธฐ์กด์˜ ๊ฒฝ์ง๋œ ๊ธ‰์—ฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Œ.

์ˆ˜๊ธฐ๋กœ ๊ทผ๋ฌด ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๊ณ , ์—‘์…€๋กœ ๊ธ‰์—ฌ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์ผ์ผ์ด ์†ก๊ธˆํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹ค์ˆ˜์™€ ๋ถ„์Ÿ์ด ๋ฐœ์ƒํ•จ. ๊ทผ๋กœ์ž๋Š” ์ œ๋Œ€๋กœ ๋ฐ›์•˜๋Š”์ง€ ๋ถˆ์•ˆํ•˜๊ณ , ๊ณ ์šฉ์ฃผ๋Š” ๋งค๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ์ •์‚ฐ ์—…๋ฌด์— ์ง€์นจ.

"์ผํ•œ ๋งŒํผ ์ •ํ™•ํžˆ, ๊ด€๋ฆฌ ๋ถ€๋‹ด ์—†์ด ๊ฐ„ํŽธํ•˜๊ฒŒ" โ€” ์ด ๋‹จ์ˆœํ•œ ๋ชฉํ‘œ๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์›”๊ธ‰ ๊ด€๋ฆฌ์†Œ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋จ.

๐Ÿ”‘ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ‘” ๊ณ ์šฉ์ฃผ (Employer)

๊ธฐ๋Šฅ ์„ค๋ช…
๐Ÿ“… ์ผ์ผ ์Šค์ผ€์ค„ ๊ด€๋ฆฌ ๋‚ ์งœ๋ณ„ ๊ทผ๋ฌด์ž ํƒ€์ž„๋ผ์ธ ์กฐํšŒ ๋ฐ ๊ทผ๋ฌด ์‹œ๊ฐ„ ํŽธ์ง‘
๐Ÿ‘ฅ ๊ทผ๋กœ์ž ๊ด€๋ฆฌ ๊ทผ๋กœ์ž ๋“ฑ๋ก/์ˆ˜์ •/ํ‡ด์‚ฌ ์ฒ˜๋ฆฌ, ๊ทผ๋ฌด ์Šค์ผ€์ค„ ์„ค์ •
๐Ÿข ๊ทผ๋ฌด์ง€ ๊ด€๋ฆฌ ๋‹ค์ค‘ ๊ทผ๋ฌด์ง€ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œ
๐Ÿ’ฐ ๊ธ‰์—ฌ ์ •์‚ฐ ์›”๋ณ„ ๊ธ‰์—ฌ ๊ณ„์‚ฐ ๋ฐ ์†ก๊ธˆ ๊ด€๋ฆฌ
๐Ÿ“‹ ๊ณ„์•ฝ ๊ด€๋ฆฌ ์‹œ๊ธ‰, ๊ทผ๋ฌด ์Šค์ผ€์ค„, ๊ณต์ œ ์œ ํ˜• ์„ค์ •

๐Ÿ‘ท ๊ทผ๋กœ์ž (Worker)

๊ธฐ๋Šฅ ์„ค๋ช…
๐Ÿ“† ์›”๊ฐ„ ์บ˜๋ฆฐ๋” ์›”๋ณ„ ๊ทผ๋ฌด ๊ธฐ๋ก ์กฐํšŒ ๋ฐ ์ผ์ž๋ณ„ ์ƒ์„ธ ํ™•์ธ
๐Ÿ“Š ์ฃผ๊ฐ„ ์บ˜๋ฆฐ๋” ์ฃผ ๋‹จ์œ„ ๊ทผ๋ฌด ์Šค์ผ€์ค„ ์กฐํšŒ
โœ๏ธ ๊ทผ๋ฌด ์ •์ • ์š”์ฒญ ์ž˜๋ชป๋œ ๊ทผ๋ฌด ๊ธฐ๋ก ์ •์ • ์š”์ฒญ
๐Ÿ’ต ๊ธ‰์—ฌ ๋‚ด์—ญ ์›”๋ณ„ ๊ธ‰์—ฌ ๋ฐ ์ž…๊ธˆ ์ƒํƒœ ํ™•์ธ
๐Ÿ“ ๋ฉ”๋ชจ ์ผ์ž๋ณ„ ๋ฉ”๋ชจ ์ž‘์„ฑ
๐Ÿ‘ค ๋งˆ์ดํŽ˜์ด์ง€ ํ”„๋กœํ•„ ๊ด€๋ฆฌ, ๊ทผ๋ฌด์ง€ ๊ด€๋ฆฌ, ๋ณด๋‚ธ ๊ทผ๋ฌด ์š”์ฒญ ์กฐํšŒ

๐Ÿ”” ๊ณตํ†ต ๊ธฐ๋Šฅ

  • ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ - ๊ฐ„ํŽธํ•œ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ
  • ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ - ๊ธ‰์—ฌ ์ •์‚ฐ, ์ •์ • ์š”์ฒญ ๋“ฑ ์•Œ๋ฆผ

๐Ÿ“Œ ๊ธฐ์ˆ  ์Šคํƒ

๋ถ„๋ฅ˜ ๊ธฐ์ˆ 
Frontend React 19.2, Vite 5.2, TypeScript 5.9
๋ผ์šฐํŒ… React Router DOM v7.9
์Šคํƒ€์ผ๋ง TailwindCSS 4.1, ์ปค์Šคํ…€ CSS
HTTP ํด๋ผ์ด์–ธํŠธ Axios 1.13
ํ…Œ์ŠคํŠธ Vitest 1.6, React Testing Library 16
UI ์ปดํฌ๋„ŒํŠธ React-Icons, SweetAlert2, React-Toastify

๐Ÿ‘ฅ ๊ธฐ์—ฌ์ž

์ด๋ฆ„ ๋‹ด๋‹น
์กฐ์šฉ๊ทผ PM & Backend
๊น€๋‚˜ํ˜„ Design & Frontend
์ด์ฃผํ•œ Frontend
๊ฐ•์†Œ์˜ Backend
์ตœ์˜์ฐฌ Backend

Visit our Notion Page and Get the App (available only in South Korea).

Notion: click

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

src/
โ”œโ”€โ”€ api/          # API ํ†ต์‹  ๋ชจ๋“ˆ (Axios ์ธ์Šคํ„ด์Šค, ํ† ํฐ ์ž๋™ ๊ฐฑ์‹ )
โ”œโ”€โ”€ components/   # ์žฌ์‚ฌ์šฉ UI ์ปดํฌ๋„ŒํŠธ (common, layout, employer, worker)
โ”œโ”€โ”€ pages/        # ๋ผ์šฐํŠธ ํŽ˜์ด์ง€ (auth, employer, workers)
โ”œโ”€โ”€ hooks/        # ์ปค์Šคํ…€ ํ›… (ํŽ˜์ด์ง€๋ณ„ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ถ„๋ฆฌ)
โ”‚   โ”œโ”€โ”€ worker/   # ๊ทผ๋กœ์ž ์ „์šฉ ํ›…
โ”‚   โ””โ”€โ”€ employer/ # ๊ณ ์šฉ์ฃผ ์ „์šฉ ํ›… (useDailyCalendar ๋“ฑ Hook Composition ํŒจํ„ด)
โ”œโ”€โ”€ types/        # TypeScript ํƒ€์ž… ์ •์˜
โ”‚   โ”œโ”€โ”€ common/   # ๊ณตํ†ต ํƒ€์ž… (์ˆ˜๋‹น ๋“ฑ)
โ”‚   โ”œโ”€โ”€ worker/   # ๊ทผ๋กœ์ž ๊ด€๋ จ ํƒ€์ž…
โ”‚   โ””โ”€โ”€ employer/ # ๊ณ ์šฉ์ฃผ ๊ด€๋ จ ํƒ€์ž…
โ”œโ”€โ”€ utils/        # ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜ (๋‚ ์งœ, ํฌ๋งทํŒ…, ๊ธ‰์—ฌ ๊ณ„์‚ฐ)
โ”‚   โ””โ”€โ”€ employer/ # ๊ณ ์šฉ์ฃผ ์ „์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”œโ”€โ”€ constants/    # ์ƒ์ˆ˜ ์ •์˜ (๊ฒ€์ฆ ๋ฉ”์‹œ์ง€, ์ˆ˜๋‹น ์„ค์ • ๋“ฑ)
โ”œโ”€โ”€ layouts/      # ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ๋ž˜ํผ
โ”œโ”€โ”€ styles/       # CSS ์Šคํƒ€์ผ ํŒŒ์ผ
โ””โ”€โ”€ assets/       # ์ •์  ๋ฆฌ์†Œ์Šค (์ด๋ฏธ์ง€ ๋“ฑ)

๐Ÿงช ํ…Œ์ŠคํŠธ

ํ”„๋กœ์ ํŠธ๋Š” Vitest์™€ React Testing Library๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€

๋ถ„๋ฅ˜ ํ…Œ์ŠคํŠธ ํŒŒ์ผ
API axios.test.ts, employerApi.test.ts
์ธ์ฆ ํŽ˜์ด์ง€ LoginPage.test.tsx, SignupPage.test.tsx, KakaoRedirect.test.tsx
๊ณ ์šฉ์ฃผ ํŽ˜์ด์ง€ EmployerMyPage.test.tsx, EmployerRemittanceManagePage.test.tsx
๊ทผ๋กœ์ž ํŽ˜์ด์ง€ WorkerMonthlyCalendarPage.test.tsx, WorkerRemittancePage.test.tsx, WorkerMyPage.test.tsx
๊ทผ๋กœ์ž ์ปดํฌ๋„ŒํŠธ ProfileBox.test.tsx, ProfileEdit.test.tsx, WorkplaceManage.test.tsx, WorkEditRequestList.test.tsx

ํ…Œ์ŠคํŠธ ์‹คํ–‰

# ํ…Œ์ŠคํŠธ ์‹คํ–‰ (watch ๋ชจ๋“œ)
npm run test

# ๋‹จ์ผ ์‹คํ–‰
npm run test:run

# ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฆฌํฌํŠธ
npm run test:coverage

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

1. ์š”๊ตฌ์‚ฌํ•ญ

  • Node.js 18+
  • npm 9+

2. ์„ค์น˜

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/Team-PayCheck/PayCheck-frontend.git
cd PayCheck-frontend

# ์˜์กด์„ฑ ์„ค์น˜
npm install

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
cp .env.example .env

์ฃผ์š” ์˜์กด์„ฑ

Dependencies

ํŒจํ‚ค์ง€ ๋ฒ„์ „ ์„ค๋ช…
react ^19.2.0 UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
react-dom ^19.2.0 React DOM ๋ Œ๋”๋ง
react-router-dom ^7.9.6 ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…
axios ^1.13.2 HTTP ํด๋ผ์ด์–ธํŠธ
react-icons ^5.5.0 ์•„์ด์ฝ˜ ์ปดํฌ๋„ŒํŠธ
react-toastify ^11.0.5 ํ† ์ŠคํŠธ ์•Œ๋ฆผ
sweetalert2 ^11.26.3 ์•Œ๋ฆผ ๋‹ค์ด์–ผ๋กœ๊ทธ

DevDependencies

ํŒจํ‚ค์ง€ ๋ฒ„์ „ ์„ค๋ช…
vite ^5.2.0 ๋นŒ๋“œ ๋„๊ตฌ
typescript ^5.9.0 ์ •์  ํƒ€์ž…
tailwindcss ^4.1.17 CSS ํ”„๋ ˆ์ž„์›Œํฌ
vitest ^1.6.0 ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
@testing-library/react ^16.0.0 React ํ…Œ์ŠคํŒ… ์œ ํ‹ธ๋ฆฌํ‹ฐ
eslint ^9.39.1 ์ฝ”๋“œ ๋ฆฐํ„ฐ

3. ์‹คํ–‰

# ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
npm run dev

# ๋นŒ๋“œ
npm run build

# ๋ฆฐํŠธ ๊ฒ€์‚ฌ
npm run lint

# ๋นŒ๋“œ๋œ ์•ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
npm run preview

๐Ÿง‘โ€๐Ÿ’ป ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•

  1. ์ด ์ €์žฅ์†Œ๋ฅผ Fork ํ•ฉ๋‹ˆ๋‹ค

    https://github.com/Team-PayCheck/PayCheck-frontend.git
  2. ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค

    git checkout -b feature/your-new-feature-name
  3. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค

    git commit -m "feat: add your-change-logs"
  4. ๋ธŒ๋žœ์น˜๋ฅผ Push ํ•ฉ๋‹ˆ๋‹ค

    git push your-remote-name feature/your-new-feature-name
  5. GitHub์—์„œ Pull Request๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค

๐Ÿ“„ License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors