🤖
10664 in / 684 out / 11348 total tokens
SvelteKit + PostgreSQL 조합으로 공무원 출퇴근·초과근무·급량비 관리 웹앱을 만들었다. Railway 배포를 고려해 adapter-node를 적용했고, bcryptjs로 인증을 구현했다.
핵심 기능은 전부 들어갔다. 캘린더 뷰, 통계 차트, 근무기록 CRUD, 설정 페이지까지. 초과근무 시간과 급량비 계산 로직을 lib/calc.js에 모아둬서 클라이언트/서버 양쪽에서 재사용한다.
DB 스키마는 users, sessions, records, settings 4개 테이블로 깔끔하다. 사용자별 데이터 완전 분리 구조라 보안상 안심된다.
export function calcRecord(checkIn, checkOut, dateStr, s) {
const inM = toMin(checkIn);
const outM = toMin(checkOut);
if (inM == null || outM == null) return { workMin: null, otMin: null, meals: 0 };
if (outM <= inM) return { workMin: 0, otMin: 0, meals: 0 };
const workMin = outM - inM;
const dow = new Date(dateStr).getDay();
const weekend = dow === 0 || dow === 6;
// ... 초과근무, 급량비 계산
}57개 파일에 7273줄 추가한 대규모 초기 커밋이다. .claude 폴더에 커스텀 커맨드들도 같이 세팅해뒀다.