@charzing/vehicle-utils
v0.2.4
Published
Shared utilities for Charzing vehicle data management across all platforms (with dynamic Firestore mapping)
Downloads
674
Maintainers
Readme
@charzing/vehicle-utils
Shared utilities for Charzing vehicle data management across all platforms.
설치
로컬 개발 (npm link)
cd /Users/sungmin/charzing-vehicle-utils
npm install
npm run build
npm link
# 각 프로젝트에서
cd /Users/sungmin/charzing-admin
npm link @charzing/vehicle-utils
cd /Users/sungmin/CharzingApp-Expo
npm link @charzing/vehicle-utils
cd /Users/sungmin/desktop/project/react/charzing
npm link @charzing/vehicle-utils주요 기능
1. 브랜드 매핑
import { normalizeBrandId, getBrandNameKorean, getBrandNameEnglish } from '@charzing/vehicle-utils';
// 브랜드 ID 정규화 (모두 소문자)
const brandId = normalizeBrandId('현대'); // 'hyundai'
const brandId2 = normalizeBrandId('BMW'); // 'bmw'
// 한글 브랜드명 가져오기
const korean = getBrandNameKorean('hyundai'); // '현대'
// 영문 브랜드명 가져오기
const english = getBrandNameEnglish('hyundai'); // 'HYUNDAI'2. 모델 매핑
import { normalizeModelId, getModelNameKorean, getModelNameEnglish } from '@charzing/vehicle-utils';
// 모델 ID 정규화 (소문자, 하이픈)
const modelId = normalizeModelId('아이오닉 5'); // 'ioniq-5'
const modelId2 = normalizeModelId('Model S'); // 'model-s'
// 한글 모델명 가져오기
const korean = getModelNameKorean('ioniq-5'); // '아이오닉 5'
// 영문 모델명 가져오기
const english = getModelNameEnglish('ioniq-5'); // 'IONIQ-5'3. 이미지 URL 생성
import { generateVehicleImageUrl, generateImageFilename } from '@charzing/vehicle-utils';
// Firebase Storage URL 생성
const imageUrl = generateVehicleImageUrl({
brand: 'hyundai',
model: 'ioniq-5',
year: 2024,
trim: 'exclusive'
});
// → https://firebasestorage.googleapis.com/v0/b/charzing-d1600.firebasestorage.app/o/
// vehicle-images%2FHYUNDAI%2FIONIQ-5%2F2024%2Fhyundai__ioniq-5__2024__exclusive.png?alt=media
// 이미지 파일명만 생성
const filename = generateImageFilename({
brand: 'hyundai',
model: 'ioniq-5',
year: 2024,
trim: 'exclusive'
});
// → 'hyundai__ioniq-5__2024__exclusive.png'
// 트림 없는 경우
const filename2 = generateImageFilename({
brand: 'tesla',
model: 'model-s',
year: 2024
});
// → 'tesla__model-s__2024.png'4. 파일명 규칙
- 패턴:
{brandSlug}__{modelSlug}__{year}__{trimSlug}.png - 예시:
hyundai__ioniq-5__2024.pngmini__cooper__2025__jcw.pngtesla__model-3__2024__highland.png
- 규칙:
- 전부 소문자
- 단어 구분: 하이픈 (-)
- 상위 구분: 더블 언더바 (__)
- trim 없으면 생략
개발
# 의존성 설치
npm install
# 빌드
npm run build
# Watch 모드로 빌드
npm run dev
# 테스트
npm test
# 타입 검사
npm run type-check
# 린트
npm run lint라이선스
MIT
