| 항목 | 내용 |
| 기능 ID | FEAT-JOB |
| 연결 시스템 | 마스터 시스템⑧ 일자리(소득·자립) · ⑨ 지자체 연계 |
| 한 줄 정의 | 적합한 일자리를 추천·매칭하고, 간단한 지원·교육을 도와 소득과 자존감을 만든다 |
| 관련 액터 | PWA실벗서버지자체·고용센터 |
설계 철학 — 어르신에게 일자리는 소득이자 존엄입니다. 복잡한 지원 절차는 아리가 대신 채워주고, 어르신은 "하겠다"만 누르면 됩니다.
▍설계 7계층 체크리스트
| 계층 | 이 문서의 섹션 |
| ① UI | 일자리 목록 / 상세·지원 SCR-JOB-01·02 |
| ② Flow | 추천 → 지원 → 매칭 상태 머신 |
| ③ Data | job_listings / job_applications (재활용) |
| ④ API | 추천·지원·지원현황 엔드포인트 |
| ⑤ Seq | 지원 → 지자체 연계 → 매칭 시퀀스 |
| ⑥ Comp | 일자리 매칭·지원 서비스 구조 |
| ⑦ Test | 검수 체크리스트 |
② Flow · 지원·매칭 상태 머신
추천 노출→
지원(applied)→
검토(reviewing)→
매칭(matched)
/
마감(closed)
지원 시 아리가 회원 프로필로 지원서를 자동 작성. 어르신은 복잡한 입력 없이 "할래요"만 누른다.
③ Data · DB 스키마
기존 p25의 job_listings·job_applications 재활용.
MariaDB · UTF8MB4 · InnoDB
CREATE TABLE job_listings (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(120),
org VARCHAR(100),
job_type VARCHAR(40),
pay VARCHAR(60), -- '일 5만원'
lat DECIMAL(10,7), lng DECIMAL(10,7),
source VARCHAR(40), -- '지자체','내부'
status ENUM('open','closed') DEFAULT 'open'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE job_applications (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
job_id BIGINT NOT NULL,
status ENUM('applied','reviewing','matched','closed') DEFAULT 'applied',
applied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uq_app (user_id, job_id), -- 중복 지원 방지
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (job_id) REFERENCES job_listings(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
⑥ Comp · 컴포넌트 / 모듈 구조
프론트엔드 (PWA)
features/job/
├─ JobList.js
├─ JobDetail.js
└─ ApplicationStatus.js
백엔드 (PHP)
app/
├─ Controllers/JobController.php
└─ Services/
├─ JobMatchService.php # 거리·조건 맞춤 추천
└─ ApplicationService.php # 자동 지원서·상태 관리
| 모듈 | 책임 |
JobMatchService | 집 근처·체력·관심사로 적합 일자리 점수화 추천. |
ApplicationService | 프로필 기반 지원서 자동 작성·중복 방지·상태 추적. |
⑦ Test · 검수 체크리스트
| ID | 시나리오 | 기대 결과 |
| T-01 | 일자리 목록 조회 | 거리·조건 맞춤 추천 상단 노출 |
| T-02 | "이 일 할래요" 지원 | 자동 지원서 작성, status=applied |
| T-03 | 같은 일에 재지원 시도 | UNIQUE로 중복 지원 차단 |
| T-04 | 매칭 성사 | status=matched, "합격 소식" 알림 |
| T-05 | 마감된 일 지원 시도 | 거절(마감 안내) |
완료 판정 — T-01~T-05 통과 시 FEAT-JOB 완료. T-02(자동 지원서)·T-03(중복 차단)이 핵심.
기능설계 ⑧ 완성 — 일자리를 7계층으로 설계했습니다. 복잡한 절차는 아리가 대신하고 어르신은 "할래요"만 누릅니다.