Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Internal HR system for Koolman — multi-branch car-window-film business.
Stack: Next.js 16 + React 19 + TypeScript · Tailwind 4 · Prisma 6 · Supabase (Postgres + Auth + Storage + Realtime) · Inngest · LINE LIFF + Messaging API · Vercel.
Full layout in docs/v2/architecture.md.
• docs/v2/README.md — active engineering plan
• docs/v2/architecture.md — locked decisions, schema, auth model
• docs/v2/build-plan.md — week-by-week with tests + DoD
• docs/v2/oidc-verification.md — LINE × Supabase OIDC verification (Stage 1 + 2 PASS)
• docs/v1/ — historical reference (pre-pivot)README 전문 보기 ↗Internal HR system for Koolman — multi-branch car-window-film business.
Stack: Next.js 16 + React 19 + TypeScript · Tailwind 4 · Prisma 6 · Supabase (Postgres + Auth + Storage + Realtime) · Inngest · LINE LIFF + Messaging API · Vercel.
# 1. install deps (pnpm 10 required)
pnpm install
# 2. copy env template
cp .env.example .env.local
# fill in values from docs/v2/credentials.local.md (gitignored)
# 3. (later — when Prisma schema lands in W1c) apply migrations
pnpm db:deploy
# 4. dev server
pnpm dev
# → http://localhost:3000
.
├── docs/ # all planning + design docs (v1 + v2)
│ └── v2/ ← current plan
├── prisma/ # Prisma schema, migrations, seed (W1c)
├── public/ # static assets, Thai fonts
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ ← W1b
│ │ ├── (admin)/ ← W2
│ │ ├── (owner)/ ← W5
│ │ ├── (liff)/ ← W3
│ │ └── api/ ← webhooks, cron
│ ├── components/ # shared UI (shadcn primitives go here in W2)
│ ├── lib/ # supabase helpers, audit, i18n, line, etc.
│ └── server/ # server actions, services, repositories
├── tests/
│ ├── unit/ # Vitest
│ └── e2e/ # Playwright
└── tools/
└── oidc-smoke/ # one-off Stage 2 OIDC verification — ✅ PASS
Full layout in docs/v2/architecture.md.
docs/v2/README.md — active engineering plandocs/v2/architecture.md — locked decisions, schema, auth modeldocs/v2/build-plan.md — week-by-week with tests + DoDdocs/v2/oidc-verification.md — LINE × Supabase OIDC verification (Stage 1 + 2 PASS)docs/v1/ — historical reference (pre-pivot)| Command | What it does |
|---|---|
pnpm dev | Next.js dev server |
pnpm build | Production build |
pnpm start | Production server (after build) |
pnpm lint / pnpm lint:fix | Biome lint (read / write) |
pnpm format | Biome format |
pnpm typecheck | tsc --noEmit |
pnpm test | Vitest unit run |
pnpm test:watch | Vitest watch mode |
pnpm test:coverage | Vitest unit run + coverage (src/lib) |
pnpm test:integration | Vitest integration run (needs koolman_test DB — see TESTING.md) |
pnpm test:e2e | Playwright e2e |
pnpm db:generate | Prisma client codegen |
pnpm db:migrate | Prisma migrate dev |
pnpm db:deploy | Prisma migrate deploy (CI / prod) |
pnpm db:studio | Prisma Studio GUI |
pnpm db:seed | Seed dev database |
pnpm db:reset | Reset + re-migrate (no seed) |
| Tool | What | When it runs |
|---|---|---|
| Biome 2 | Lint + format (JS/TS/JSON) | pnpm lint, pnpm lint:fix; auto on commit via lint-staged |
| TypeScript strict | Type-check (noUncheckedIndexedAccess, etc.) | pnpm typecheck; on every build |
| Vitest | Unit + integration tests | pnpm test, pnpm test:integration |
| Playwright | E2E (full-stack) | pnpm test:e2e (auto-starts dev server) |
| Next build | Full build smoke | pnpm build |
Pre-commit hook auto-runs Biome on staged files only (sub-second). Bypass with SKIP_SIMPLE_GIT_HOOKS=1 git commit ... if you really need to commit through a lint failure (e.g. WIP after a debug session).
CI runs lint + typecheck + unit + integration in parallel, then build, on every push and PR (.github/workflows/ci.yml).
See TESTING.md for the full three-tier model (unit / integration /
e2e), what belongs in each, the koolman_test DB setup, and coverage.
/liff/pair): LINE OIDC → Supabase → atomic User-bind/admin/attendance/disputed): review + Approve/Reject with required note/admin/attendance/live): Supabase Realtime + 30s polling fallback/admin/settings/leave-types)/liff/leave + new + detail with cancel)/admin/leave) + approve expands to Attendance(OnLeave) rows in one tx/liff/advance + /admin/advance — receipt photo upload deferred to W4-late)