Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Sistem manajemen stok gudang, penjualan, pembelian, dan piutang untuk usaha ban vulkanisir.
Translation pending
BusinessJavaScript · PLpgSQLGitHub @hungaseo-archOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
VULKHAN — 재생타이어(Vulkanisir) 재고·판매 관리 3개 창고(Karawang · Semarang · Surabaya)의 재고, 판매(SO), 구매(PO), 미수금(Piutang)을 한 화면에서 관리하는 업무 웹앱입니다. 화면 언어는 인도네시아어(기본)와 한국어를 버튼으로 전환합니다.Read the full README ↗
3개 창고(Karawang · Semarang · Surabaya)의 재고, 판매(SO), 구매(PO), 미수금(Piutang)을 한 화면에서 관리하는 업무 웹앱입니다. 화면 언어는 인도네시아어(기본)와 한국어를 버튼으로 전환합니다.
| 영역 | 기술 |
|---|---|
| 프런트엔드 | React 19 + Vite 8, 단일 파일 src/App.jsx |
| 백엔드 | Express 5 (api-server.js), Vercel 서버리스로 배포 |
| 데이터베이스 | Neon(PostgreSQL) — 스키마 doc/neon-schema.sql |
| 인증 | HMAC 서명 세션 토큰 + 3단계 역할(admin / manager / staff) |
| 다국어 | 인도네시아어 / 한국어, src/i18n.jsx |
| 배포 | Vercel (vulkhan 프로젝트), npm run deploy |
관련 문서: ARCHITECTURE.md · CONTRIBUTING.md · CHANGELOG.md
ID / KO 버튼. 선택은 localStorage에 남고 <html lang>도 함께 바뀝니다.
출력용 faktur·penawaran 서류 본문은 인도네시아 거래처에 나가므로 언제나 인도네시아어입니다.재고는 절대 직접 수정하지 않습니다. 모든 재고는 stok_mutasi 원장의 합계(v_stok 뷰)입니다.
npm install
# 1) .env.local 에 서버 변수를 넣습니다 (git에 올라가지 않음)
# 값은 반드시 작은따옴표로 감쌉니다 — 아래 "따옴표 주의" 참고
DATABASE_URL='postgresql://user:[email protected]/neondb?sslmode=require'
AUTH_SECRET='긴-비밀문자열'
# 2) API 서버 (터미널 1)
npm run api
# → http://localhost:3001/api
# 3) 프런트엔드 (터미널 2)
npm run dev
# → http://localhost:5173
로컬 연결 실패의 대부분은 비밀번호가 조용히 변형되어 생깁니다.
DATABASE_URL="...pa$$wd..." 처럼 큰따옴표를 쓰면 $$가 셸 PID로 치환되어
password authentication failed for user ...가 납니다. 작은따옴표를 쓰세요..env.local에서도 따옴표 없이 적으면 Node의 --env-file 파서가 # 뒤를 주석으로
잘라냅니다. 값 전체를 작은따옴표로 감싸야 안전합니다.npm run api는 node --env-file=.env.local api-server.js입니다. 셸을 거치지 않으므로
따옴표 사고를 피할 수 있습니다.
개발 모드에서 프런트는 http://localhost:3001/api를 호출합니다. 다른 주소를 쓰려면
VITE_API_URL을 설정하세요. 프로덕션 빌드는 같은 도메인의 /api를 호출합니다.
| 변수 | 위치 | 설명 |
|---|---|---|
DATABASE_URL | 서버 | Neon 연결 문자열 (필수) |
AUTH_SECRET | 서버 | 세션 토큰 서명 키. 없으면 재시작마다 토큰이 무효화됨 |
CORS_ORIGIN | 서버 | 허용 origin, 쉼표 구분. 기본값은 Vite 로컬 포트 |
PORT | 서버 | 로컬 포트, 기본 3001 |
ADMIN_USER / ADMIN_PASS / ADMIN_NAMA | 서버 | 관리자 계정 복구용. 로그인 확인 후 반드시 제거 |
VITE_API_URL | 프런트 | API 베이스 URL 재정의 |
pengguna 테이블이 비어 있으면 서버가 admin / manager / staff 기본 계정을 시드합니다.
가입 화면은 의도적으로 없습니다. 계정 추가는 admin이 앱의 Pengguna 탭에서 하거나,
아래 스크립트로 직접 만듭니다.
export DATABASE_URL='postgresql://...' # 작은따옴표
npm run buat-admin -- <username> # admin 생성 또는 비밀번호 리셋
npm run buat-admin -- <username> --peran staff
node scripts/buat-admin.mjs --list
| 명령 | 동작 |
|---|---|
npm run dev | Vite 개발 서버 |
npm run build | 프로덕션 빌드 → dist/ |
npm run preview | 빌드 결과 미리보기 |
npm run lint | oxlint |
npm run deploy | lint → build → vercel --prod |
npm run buat-admin -- <user> | 계정 생성/리셋 |
api-server.js Express 앱 (로컬 실행 + Vercel 핸들러 export)
api/index.js Vercel 서버리스 진입점, api-server.js를 re-export
src/App.jsx UI 전체 (탭, 폼, 문서 출력, 스타일)
src/i18n.jsx 번역 사전 + LangProvider / useLang()
src/api.js fetch 래퍼 + 응답 정규화(NUMERIC 문자열 → number)
src/xlsx.js 의존성 없는 XLSX 작성기
public/ 아센도 로고(symbol · signature), 파비콘, 아이콘 스프라이트
scripts/ 운영 스크립트
migrations/ 날짜별 데이터 마이그레이션 기록 (README + SQL + CSV)
doc/ 스키마 SQL, 작업 이력 (git 미추적)
vercel.json /api/* → 서버리스 함수 rewrite
npm run deploy
Vercel에서 DATABASE_URL, AUTH_SECRET을 프로덕션 환경 변수로 설정해 두어야 합니다.
DATABASE_URL은 sensitive로 표시되어 있어 vercel env pull로 가져올 수 없습니다.
DB 조회가 필요하면 Neon 콘솔에서 직접 실행하세요.