尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證대학 축제 주점 테이블 오더 서비스, 키오스쿨입니다!
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Kio School 대학교 주점을 위한 키오스크 서비스檢視完整 README ↗
손님은 테이블에 붙은 QR을 찍어 휴대폰으로 주문하고, 운영진은 PC 화면에서 주문·테이블·매출을 관리한다.
이 저장소는 키오스쿨의 웹 프론트엔드(손님 주문 화면, 운영진 화면, 서비스 소개 페이지)다. 서버는 KioSchool-API에 있다.
| 구분 | 사용 |
|---|---|
| 기본 | React 18, TypeScript, Vite 7 |
| 라우팅·상태 | React Router v6, Jotai |
| 스타일 | Emotion, MUI v7 |
| 통신 | Axios, SockJS + STOMP (실시간 주문) |
| 빌드 | vite-prerender-plugin (소개 페이지 정적 생성) |
| 모니터링 | Sentry, Google Analytics 4 |
| 개발 도구 | Storybook 8, ESLint(airbnb-typescript), Prettier, husky + lint-staged |
필요한 것: Node.js 22, Yarn 1
yarn install
yarn start
http://localhost:3000 에서 열린다. 개발 서버는 /api 요청을 http://localhost:8080으로 넘기므로, 화면에 데이터가 나오려면 KioSchool-API를 로컬에서 함께 띄워야 한다(API 저장소 README의 로컬 DB·서버 실행 참고).
손님 주문 화면은 테이블 QR에 담긴 주소 형식으로 연다.
http://localhost:3000/order?workspaceId=<주점 ID>&tableNo=<테이블 번호>&tableHash=<테이블 해시>
| 명령 | 모드 | 환경 파일 | API 주소 |
|---|---|---|---|
yarn start | development | .env.development | localhost:8080 (/api 프록시) |
yarn build:local | development | .env.development | 로컬 |
yarn build:dev | dev | .env.dev | dev-api.kio-school.com |
yarn build | production | .env.production | api.kio-school.com |
환경 파일은 저장소에 들어 있고, 값은 모두 브라우저에 그대로 노출되는 공개 값이다. 내 PC에서만 바꿀 값은 .env.development.local에 둔다(git 제외).
| 변수 | 용도 |
|---|---|
VITE_ENVIRONMENT | 환경 이름. Sentry 환경 구분에 쓰고, production이 아니면 검색 엔진 노출을 막는다(noindex) |
VITE_API_BASE_URL | API 주소 |
VITE_WS_URL | 실시간 주문 WebSocket(SockJS) 주소 |
VITE_GA_ID | Google Analytics 측정 ID. 비워 두면 GA를 불러오지 않는다 |
VITE_INSIGHT_CARD_ENABLED | 운영진 대시보드·주문 통계의 인사이트 카드 표시 여부 |
VITE_TURNSTILE_SITE_KEY | 문의 폼 봇 차단(Cloudflare Turnstile) 사이트 키 |
빌드하면 build/에 결과가 생긴다. /, /info, /privacy는 미리 렌더링된 HTML로 나오고, sitemap.xml과 robots.txt도 함께 만들어진다(scripts/generate-seo-assets.mjs).
개발 서버(yarn start)는 미리 렌더링을 하지 않는다. 배포본과 같은 첫 화면을 확인하려면 로컬 모드로 빌드한 뒤 yarn preview로 띄운다. preview도 3000번 포트에서 /api를 로컬 API로 넘긴다.
yarn build:local && yarn preview
Sentry 소스맵 업로드에는 Sentry 인증 토큰(SENTRY_AUTH_TOKEN 또는 .env.sentry-build-plugin)이 필요하다. 토큰이 없으면 경고만 나오고 빌드는 그대로 끝난다.
| 명령 | 설명 |
|---|---|
yarn start | 개발 서버 (3000) |
yarn build, yarn build:dev, yarn build:local | 빌드 (위 표 참고) |
yarn preview | 빌드 결과 띄우기 (3000) |
yarn storybook | Storybook (6006) |
yarn build-storybook | Storybook 정적 빌드 |
yarn lint, yarn lint:fix | ESLint 검사, 자동 수정 |
커밋할 때 husky가 lint-staged를 실행해, 바뀐 .ts·.tsx 파일에 eslint --fix와 prettier --write를 적용한다.
src/
├── apis/ 역할별 API 클라이언트
├── components/ 공통·역할별 컴포넌트
├── constants/ 라우트, URL, 화면 문구와 데이터
├── hooks/ 커스텀 훅
├── jotai/ 전역 상태
├── pages/ 라우트별 페이지
├── resources/ 이미지, 아이콘, 알림음, 색상
├── styles/ 전역 스타일, flex 믹스인
├── types/ 타입 정의
├── utils/ 유틸 함수
└── prerender.tsx 소개 페이지 프리렌더 진입점
컴포넌트 작성법, 이름 규칙, import 순서, 스타일 규칙은 CLAUDE.md에 정리돼 있다.
| 브랜치 | 역할 |
|---|---|
master | 기본 브랜치. 기능 브랜치를 여기서 따서 여기로 PR을 보낸다 |
release | 운영 서버(kio-school.com) 배포용. master에서 release로 PR(DEPLOY - ...)을 보내 올린다 |
종류 - 설명 형식이고 CI가 검사한다. 종류는 ADD, FIX, EDIT, REFACTOR, REMOVE, DEPLOY, REVERT 중 하나다(예: ADD - 주문 통계에 결제수단별 주문 지표 추가)yarn eslint src)를 돌린다KIO-123)를 넣으면, PR을 열 때 태스크가 '진행 중', 머지되면 '완료'로 바뀐다