바리바리는 개발자와 일반 사용자를 위한 다양한 변환/도구 기능을 제공하는 웹 유틸리티 허브입니다.
- 다양한 도구: 단위 변환, JSON 포맷터, Base64 변환, 타임스탬프 변환, Cron 파서 등
- 사용자 인증: 구글 로그인 등을 통한 계정 관리
- 사용 이력: 로그인 사용자의 도구 사용 기록 관리
- 대시보드: 기능 사용량을 그래프로 시각화
- 반응형 디자인: 모바일과 데스크톱에서 최적화된 사용자 경험
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS + 커스텀 컴포넌트
- Charts: Recharts
- Icons: Lucide React
- Routing: React Router DOM
- Development: ESLint + Prettier + Storybook
src/
├── components/ # 재사용 가능한 컴포넌트
│ └── layout/ # 레이아웃 관련 컴포넌트
│ ├── Header.tsx # 헤더 컴포넌트
│ ├── Footer.tsx # 푸터 컴포넌트
│ └── Layout.tsx # 메인 레이아웃
├── pages/ # 페이지 컴포넌트
│ ├── HomePage.tsx # 홈페이지
│ ├── ToolsPage.tsx # 도구 목록 페이지
│ ├── ToolDetailPage.tsx # 도구 상세 페이지
│ ├── LoginPage.tsx # 로그인 페이지
│ └── DashboardPage.tsx # 대시보드 페이지
├── hooks/ # 커스텀 훅
├── utils/ # 유틸리티 함수
├── types/ # TypeScript 타입 정의
├── App.tsx # 메인 앱 컴포넌트
├── main.tsx # 애플리케이션 진입점
└── index.css # 글로벌 스타일
- 파일:
src/components/layout/Header.tsx - 스토리북:
src/components/layout/Header.stories.tsx - 기능: 네비게이션, 로그인 상태, 모바일 메뉴
- Props: 없음 (내부 상태 관리)
사용 예시:
import Header from './components/layout/Header';
function App() {
return (
<div>
<Header />
{/* 메인 콘텐츠 */}
</div>
);
}npm installnpm run devnpm run buildnpm run storybooknpm run lint
npm run type-check- 단위 변환: 길이, 무게, 온도 등
- 색상 변환: HEX, RGB, HSL 등
- Base64 변환: 텍스트 ↔ Base64 인코딩
- URL 인코더: URL 인코딩/디코딩
- JSON 포맷터: JSON 데이터 포맷팅/압축
- 텍스트 케이스 변환: 대문자, 소문자, 카멜케이스 등
- 타임스탬프 변환: Unix 타임스탬프 ↔ 날짜
- Cron 파서: Cron 표현식 파싱 및 다음 실행 시각
- 컴포넌트: 함수형 컴포넌트 + Hooks
- 파일명: kebab-case
- 컴포넌트명: PascalCase
- 상태 관리: 로컬 훅 우선, 전역 상태 최소화
- CSS 프레임워크: Tailwind CSS
- 컴포넌트: shadcn/ui 스타일 (유사 대체 가능)
- 반응형: 모바일 퍼스트 접근법
- 린터: ESLint + Prettier
- 타입 체크: TypeScript strict 모드
- 스토리북: 모든 컴포넌트에 대한 문서화
- Node.js 18+
- npm 9+ 또는 yarn 1.22+
# 개발 환경
VITE_API_URL=http://localhost:3000
VITE_GOOGLE_CLIENT_ID=your_google_client_idPOST /auth/login- 이메일/비밀번호 로그인POST /auth/google- 구글 OAuth 로그인POST /auth/logout- 로그아웃
GET /tools- 도구 목록 조회GET /tools/:id- 도구 상세 정보POST /tools/:id/usage- 도구 사용 기록
GET /user/profile- 사용자 프로필GET /user/history- 사용 이력GET /user/stats- 사용 통계
- 이슈 생성 또는 기존 이슈 확인
- 기능 브랜치 생성 (
feature/기능명) - 코드 작성 및 테스트
- Pull Request 생성
- 코드 리뷰 및 머지
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
devgraft 팀에서 개발하고 있습니다.
더 자세한 정보는 Wiki를 참조하세요.