ANYANG FOOD SYSTEM

안양지식산업 한식뷔페
통합 운영관리 시스템

멀티 매장 한식뷔페 운영을 위한 관리자·사용자 ERP — 매장/직원/급여/메뉴/실적/세무/투자·지분/차량/엑셀업로드까지 하나의 시스템에서 관리합니다.

Next.js + TypeScript MUI TanStack Query + Zustand React Hook Form + Zod ECharts Cognito + Amplify Auth API Gateway + Lambda RDS MySQL Single-AZ S3 + CloudFront SQS

이 페이지에 대한 안내

이 저장소는 완전한 Next.js(TypeScript) 프론트엔드 소스코드AWS SAM 기반 Lambda 백엔드 소스코드 + IaC 템플릿을 포함한 실제 애플리케이션 프로젝트입니다. 이 index.html 은 빌드 없이 즉시 열람 가능한 정적 안내 페이지이며, 실제 서비스 화면(로그인/대시보드/CRUD 등)은 frontend/ 폴더를 빌드하여 S3+CloudFront에 배포한 뒤 이용할 수 있습니다.

아키텍처

[브라우저] → CloudFront → S3(frontend 정적 파일, Next.js export)
                 └─▶ API Gateway(HTTP API, Cognito JWT Authorizer) → Lambda(Node.js/TS) → RDS MySQL(Single-AZ)
                                                                          │
                                                                          ├─▶ S3(uploads, Presigned URL 업로드)
                                                                          └─▶ SQS(엑셀 업로드 비동기 파싱) → Lambda Worker → RDS
[Cognito User Pool] ──PostConfirmation Trigger──▶ Lambda → RDS(users 자동 동기화)
        

자세한 내용은 docs/architecture.md 참고

데이터 모델 (MySQL)

anyang_food_system 스키마 — 공통코드 FK 패턴이 전체에 적용된 26개 테이블 (docs/db_schema_full.sql 제공)

공통코드 / 인증

common_code_groups, common_code_items, roles, users, user_role_mappings

매장 / 직원

stores, employees, employee_store_assignments

실적 / 비용

store_monthly_metrics, store_expense_items

급여 / 인사

payroll_records, retirement_base_records

메뉴

menu_plans, menu_plan_items

세무 / 투자·지분

tax_settlements, investments, investment_repayment_schedules/transactions, ownership_groups/stores/members

부속 자원

simulation_scenarios, vehicles, institution_accounts

파일 / 업로드

attachments, file_import_jobs, file_import_rows

승인 / 감사

approvals, audit_logs

폴더 구조

frontend/   Next.js(TS) SPA — MUI, TanStack Query, Zustand, RHF+Zod, ECharts, Amplify Auth
backend/    AWS SAM 프로젝트 — Lambda(Node.js/TS) 핸들러, template.yaml(IaC)
docs/       아키텍처/API 명세/배포가이드/DB 스키마/시드데이터
index.html  (현재 페이지) 프로젝트 안내용 정적 페이지
        

배포 순서 요약

  1. RDS MySQL에 docs/db_schema_full.sqldocs/seed_common_codes.sql 순서로 실행
  2. Cognito User Pool 생성 + Group(ADMIN/HQ_MANAGER/STORE_MANAGER/STAFF) 생성
  3. backend/npm install && npm run build && sam deploy --guided
  4. Cognito PostConfirmation 트리거를 배포된 Lambda에 연결
  5. frontend/.env.local에 API 엔드포인트/Cognito 값 입력 후 npm run build
  6. frontend/out/ 결과물을 S3에 업로드, CloudFront 배포/무효화

자세한 절차는 docs/deployment_guide.md, API 명세는 docs/api_spec.md 참고

더 자세한 내용

프로젝트 루트의 README.md 파일에서 전체 기능 목록, 미구현 항목, 다음 단계 권장 작업을 확인하실 수 있습니다.