선상 낚시 예약 서비스의 사이트 관리자(Admin) 와 사용자 사이트.
| 프론트엔드 | Nuxt 3 (Vue 3), SCSS, flatpickr (DatePicker) |
| 백엔드 | CodeIgniter 4 (PHP) |
| DB | MySQL / MariaDB |
| 폰트 | Pretendard (로컬, woff2 + woff) |
| 외부 API | Daum 우편번호, Google Geocoding |
| 암호화 | CI4 Encryption (AES-256-CTR + HMAC-SHA512) |
/site-manager (로그인 폼, 좌우 50/50 레이아웃)POST /api/auth/login, POST /api/auth/logout, GET /api/auth/check/site-manager/dashboard 로 이동/site-manager/adminsGET /api/admin, POST/PUT/DELETE /api/admin/:id, 비밀번호 변경, 잠금 해제, 아이디 중복 확인fishing_field (id, name, weight, status_YN, deleted_YN, created_at, updated_at)GET /api/field/list, GET/POST/PUT/DELETE /api/field/:idfishing_area (id, name, deleted_YN, created_at, updated_at)GET /api/area/list, GET/POST/PUT/DELETE /api/area/:idonboard (id, field_id, area_id, name, area_detail, tonnage, capacity, zip_code, address, address_detail, address_refer, lat, lng, bank_code, account_number(암호화), account_holder, partnership_YN, status_YN, deleted_YN, created_at, updated_at)onboard_photos (FK → onboard, ON DELETE CASCADE, hard delete)GET /api/onboard/list (분야·지역 JOIN, 검색·필터·페이지네이션)GET /api/onboard/:id (사진 목록 포함, 계좌번호 복호화)POST /api/onboard (계좌번호 암호화)PUT /api/onboard/:id (계좌번호 재암호화)DELETE /api/onboard/:id (soft delete)POST /api/onboard/:id/photos (다중 사진 업로드, MIME 검증)DELETE /api/onboard/photo/:photoId (파일 + DB hard delete).env (Nuxt 루트)NUXT_PUBLIC_API_BASE=... # 백엔드 base URL
NUXT_PUBLIC_IMAGE_BASE=... # 이미지 호스트 (운영 도메인)
NUXT_PUBLIC_MEDIA_BASE=...
NUXT_PUBLIC_GOOGLE_MAP_KEY=... # Google Geocoding 키 (위도, 경도 가져오는 데에 사용[타 API 이용시 별도 키 필요하여 구 피싱포엠 형식 따름])
.env (backend/)encryption.key = hex2bin:... # 계좌번호 암호화 키 (분실 시 복호화 불가)
backend/app/Config/App.php — appTimezone = 'Asia/Seoul'
backend/public/uploads/onboard/ (기존 패턴과 통일, 웹 직접 서빙)
ERD 새로 짜면서 기존 비즈니스 컨트롤러(Branch, Showroom, Service, Brochure, Event, News, Notice, IR, Advisor, Popup, Basic, SalesStaff, BranchManager, Test) 전부 삭제. 남긴 것: Auth / Admin / BaseApi / Ping / Dashboard / Upload / Home.
deleted_YN)ON UPDATE CURRENT_TIMESTAMP 부여하므로 created_at은 DEFAULT CURRENT_TIMESTAMP만, updated_at은 NULL DEFAULT NULL로 정의VARCHAR(255) 권장