f78949c21a
Build & Deploy / build-and-deploy (push) Failing after 9s
Backend (server/): - Fastify + Prisma + PostgreSQL 16 - JWT 인증 (bcrypt) + 카카오 OAuth (/auth/kakao — kapi.kakao.com 호출) - REST API: auth, users, family, policies, claims, score, notifications, diagnosis, consults - 실제 보험점수 알고리즘 (카테고리별 가중치·최소보장 기반) - Multipart 업로드 (영수증/진단서 → 디스크 persistence) - Swagger UI /docs Client: - api/client.ts + api/endpoints.ts (fetch 래퍼 + AsyncStorage 토큰) - 인증 스토어 (hydrate/login/register/kakao/logout) - 로그인/회원가입 화면 + 카카오 버튼 - 홈/내보험/가족/점수/청구 API 연동 (pull-to-refresh) - 보험 추가 모달 + 가족 구성원 추가 모달 - 로그인 전/후 스택 분기 (RootNavigator) Infra: - docker-compose.yml (로컬 Postgres+API) - server/Dockerfile (Prisma migrate deploy + node) - deploy/k8s/postgres.yaml (StatefulSet + 10Gi PVC) - deploy/k8s/api.yaml (Deployment + Ingress api.insurance.junggomoa.com) - CI workflow 확장 (web + api 동시 빌드·배포) - POSTGRES_PASSWORD / JWT_SECRET Gitea Secrets 추가 필요 - 반응형 웹 레이아웃 (max-width 480px 폰 프레임) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
926 B
JSON
36 lines
926 B
JSON
{
|
|
"name": "insurance-api",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"main": "dist/main.js",
|
|
"scripts": {
|
|
"dev": "tsx watch src/main.ts",
|
|
"build": "tsc -p tsconfig.json",
|
|
"start": "node dist/main.js",
|
|
"prisma:generate": "prisma generate",
|
|
"prisma:migrate": "prisma migrate deploy",
|
|
"prisma:migrate:dev": "prisma migrate dev",
|
|
"prisma:seed": "tsx prisma/seed.ts"
|
|
},
|
|
"dependencies": {
|
|
"@fastify/cors": "^9.0.1",
|
|
"@fastify/jwt": "^8.0.1",
|
|
"@fastify/multipart": "^8.3.0",
|
|
"@fastify/swagger": "^8.15.0",
|
|
"@fastify/swagger-ui": "^4.1.0",
|
|
"@prisma/client": "^5.22.0",
|
|
"bcrypt": "^5.1.1",
|
|
"fastify": "^4.28.1",
|
|
"fastify-plugin": "^4.5.1",
|
|
"pino-pretty": "^11.2.2",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcrypt": "^5.0.2",
|
|
"@types/node": "^20.14.11",
|
|
"prisma": "^5.22.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.5.4"
|
|
}
|
|
}
|