프로젝트 소개

HASHRATE(SGI)는 청구 및 고객 관리를 위해 설계된 내부 관리 시스템입니다. 이 프로젝트는 클라이언트와 서버 로직을 명확히 분리한 모노레포로 현대화되었습니다. 프론트엔드는 Vite, React, TypeScript를 사용한 현대적인 기술로 구축되어 반응형 사용자 인터페이스를 제공합니다. 주요 화면으로는 Home, 청구, 이력, 고객, 보고서가 있습니다. 청구 기능은 PDF 생성, 합계 계산, 고급 필터, Excel 내보내기를 지원합니다. 백엔드는 Express와 TypeScript를 사용하며, 고객 및 청구서 데이터를 로컬 SQLite 데이터베이스(data.db 파일)에 저장합니다. /api/invoices 및 /api/clients와 같은 경로에서 접근 가능한 RESTful API를 제공합니다. 이 시스템은 확장 가능하고 분산된 배포에 최적화되어 있습니다: - 프론트엔드: Vercel에 쉽게 배포할 수 있습니다. - 백엔드: Render 또는 Railway와 같은 서비스와 호환됩니다. 프로덕션 환경에서는 프론트엔드와 백엔드 API를 올바르게 연결하기 위해 CORS_ORIGIN 및 VITE_API_URL과 같은 환경 변수를 구성해야 합니다. 기술 요구 사항: Node.js 20+ 및 npm 9+. 로컬 개발에서는 전용 스크립트를 통해 서버와 클라이언트를 동시에 실행할 수 있습니다.