Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
현장과 사무실에서 제설자재 재고와 입출고를 관리한다
Translation pending
AI summary · README
BusinessJavaScript · BatchfileGitHub @tnghfud3240-sourceOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
tnghfud3240-source/123
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
현장 창고 담당자와 사무실 담당자가 함께 사용하는 제설자재 재고/입출고 관리 웹앱(PWA)입니다. • backend/: Node.js + Express + SQLite(Node.js 내장 node:sqlite 모듈) API 서버 — 별도 컴파일 도구 없이 npm install만으로 설치됩니다 • frontend/: React + Vite 기반 PWA (설치형 웹앱, 오프라인 입력 지원) Node.js 버전: 22.5 이상 필요 (내장 SQLite 모듈 사용). node -v로 확인하세요. 최신 LTS 버전 설치를 권장합니다.Read the full README ↗
현장 창고 담당자와 사무실 담당자가 함께 사용하는 제설자재 재고/입출고 관리 웹앱(PWA)입니다.
node:sqlite 모듈) API 서버 — 별도 컴파일 도구 없이 npm install만으로 설치됩니다Node.js 버전: 22.5 이상 필요 (내장 SQLite 모듈 사용).
node -v로 확인하세요. 최신 LTS 버전 설치를 권장합니다.
transactions)의 합계로 현재 재고를 계산합니다. 여러 창고에서 오프라인으로 동시에 기록해도 서버에 반영될 때 값이 충돌하지 않습니다.client_id 기반 중복 방지).개발용으로 백엔드(4000번 포트)와 프론트엔드(5173번 포트)를 따로 띄우는 대신, 프론트엔드를 빌드해두면 백엔드 서버 하나가 화면(웹앱)과 API를 모두 제공합니다. 사무실의 PC(또는 서버) 한 대에 설치해서 켜두면, 같은 사내망의 다른 PC·휴대폰은 브라우저에 그 PC의 주소만 입력하면 접속됩니다.
Windows 기준:
node -v로 확인)install.bat 더블클릭 → 처음 한 번만 실행 (패키지 설치, 샘플 데이터 생성, 프론트엔드 빌드)start.bat 더블클릭 → 서버 실행. 콘솔에 이 PC의 IP 주소(예: 192.168.0.23)가 표시됩니다http://<표시된 IP>:4000 접속
start.bat 창을 닫으면 서버가 꺼집니다. 계속 켜두려면 창을 최소화한 채로 그 PC를 켜두세요install.bat 없이 start.bat만 실행하면 됩니다 (품목/코드가 바뀌었을 때만 다시 install.bat으로 재빌드)이 방식은 별도 비용이 들지 않고 지금 당장 써볼 수 있지만, 그 PC가 꺼지거나 네트워크에서 벗어나면(예: 외부에서 접속) 사용할 수 없습니다. 나중에 클라우드에 배포해 외부에서도 고정 링크로 접속하게 바꿀 수도 있습니다(그때 다시 요청해 주세요).
이 저장소를 vercel.com에서 "Import Project"로 연결하면 vercel.json 설정에 따라 프론트엔드는 정적 사이트로, 백엔드(API)는 api/index.js를 통해 서버리스 함수로 자동 배포됩니다. 별도 설정 없이 그대로 배포하면 됩니다.
⚠️ 주의: Vercel의 서버리스 함수는 요청이 뜸해지면(콜드 스타트) 파일시스템이 초기화됩니다. 이 앱은 SQLite 파일을 서버 임시 저장공간(
/tmp)에 저장하므로, 콜드 스타트마다 입력했던 재고 데이터가 사라지고 샘플 데이터로 리셋됩니다(첫 요청 시 자동으로 샘플 데이터가 채워집니다). 실제 재고를 계속 누적하려면 방법 A(사무실 PC) 또는 영구 디스크가 있는 클라우드(Render 등)를 사용하세요.
백엔드:
cd backend
npm install
npm run seed # 최초 1회: 샘플 창고/품목 데이터 생성
npm start # http://localhost:4000
프론트엔드:
cd frontend
npm install
npm run dev # http://localhost:5173 (백엔드로 /api 프록시)
프로덕션 빌드 시:
npm run build
npm run preview
빌드 결과물(dist/)은 서비스워커가 포함된 PWA입니다. 방법 A처럼 백엔드가 직접 서빙하거나, 별도 정적 파일 서버(Nginx 등) 뒤에 배포하고 /api를 백엔드로 프록시해도 됩니다. 모바일 브라우저에서 접속 후 "홈 화면에 추가"로 설치할 수 있습니다.
npm run seed 실행 시 생성)충북본부 산하 6개 지사, 지사별 3~6개 창고(총 30개, 지사마다 "현장염수분사장치" 포함)가 생성됩니다.
| 지사 | 창고 |
|---|---|
| 진천지사 | 서청주IC, 지사, 일죽IC, 남이천IC, 마장휴게소, 현장염수분사장치 |
| 제천지사 | 지사, 단양영업소, 치악휴게소, 현장염수분사장치 |
| 충주지사 | 지사, 감곡IC, 괴산IC, 연풍IC, 현장염수분사장치 |
| 보은지사 | 지사, 문의IC, 화서IC, 남상주IC, 내서, 현장염수분사장치 |
| 엄정지사 | 지사, 서충주IC, 북진천IC, 현장염수분사장치 |
| 상주지사 | 연풍IC, 점촌함창IC, 지사, 선산IC, 현장염수분사장치 |
"현장염수분사장치"는 실제 창고가 아니라, 전환(형태 변경) 시 염화칼슘을 염수로 만들어 현장에 설치된 분사 장비로 보낼 때 목적지로 선택하는 가상 창고입니다.
관리 품목과 톤 환산계수:
| 품목 | 형태 | 단위 | 환산계수 | 기준 |
|---|---|---|---|---|
| 소금(제설용) | 톤백 | 톤 | 1 | |
| 소금(제설용) | 개포 | 톤 | 1 | 톤백을 개포해도 무게는 그대로 |
| 염화칼슘 | 톤백 | 톤 | 1 | |
| 염화칼슘 | 염수 | 리터 | 1/1935 (≈0.00051680) | 염화칼슘 1톤 → 염수 1,935리터 제조 기준 |
지사별 비축기준(톤):
| 지사 | 소금(제설용) | 염화칼슘 |
|---|---|---|
| 진천지사 | 3,150 | 294 |
| 제천지사 | 2,745 | 342 |
| 충주지사 | 2,376 | 228 |
| 보은지사 | 2,064 | 360 |
| 엄정지사 | 3,159 | 219 |
| 상주지사 | 1,911 | 132 |
비축기준은 "비축기준 관리" 화면, 환산계수·단위는 "품목 관리" 화면에서 언제든 직접 수정할 수 있습니다.
로그인이 없으므로 링크에 접속하는 모든 사람이 지사·창고 구성을 포함한 전체 화면을 바로 사용할 수 있습니다.
| 변수 | 기본값 | 설명 |
|---|---|---|
PORT | 4000 | API 서버 포트 |
DATA_DIR | backend/data | SQLite 파일 저장 위치 |