Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
국민취업지원제도·청년도전지원사업 참여 이력을 AI가 채용 언어로 바꿔 채용 공고와 잇고, 기업에는 본인 동의 하에 지원제도 활용 가능 여부를 알려 주는 고용서비스 시제품
Translation pending
BusinessPython · JavaScriptGitHub @wlszla0097-hashOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗국민취업지원제도·청년도전지원사업에 참여한 청년의 이력을 AI가 채용 언어로 바꿔 공고와 잇고, 기업은 면접 전에 '지원제도 활용 가능' 표시를 본인 동의 하에 확인하며, 채용 후에는 매월 급여 서류를 AI가 판독·점검해 지원금 신청과 담당자 검토까지 이어지는 AI 고용서비스
python3 tools/eval_mvp.py)main에 직접 올리지 않습니다. 각자 브랜치(seeker-data-이름) → Pull Request, 합치기는 팀장이 합니다.data/synthetic/seekers_A.json(P-A01~), 홍주 seekers_B.json(P-B01~). seekers.json은 수정하지 않습니다.results/에 넣어 같은 PR로 올립니다 (개발 서버를 끄면 결과가 사라지므로 끄기 전에). 팀장은 [결과 불러오기(JSON)]로 여러 파일을 한 브라우저에 합칩니다. 방법: results/README.mdpython3 tools/check_synthetic.py(✖ 없음) · python3 -m pytest -q tests(모두 통과).env(내 컴퓨터)와 Vercel 환경 변수에만 둡니다.| 이름 | 역할 | 담당 업무 |
|---|---|---|
| 김정진 | 팀장 · PM / 도메인 / 배포 | 문제 정의, 2026 장려금 지침 해석·규칙 확정, 기업·담당자 흐름, AI 협업 개발·배포, 외부 검토 반영, PR 승인 |
| 이홍주 | 데이터 · AI 테스트 (Claude Sonnet 4.6) | 구직자 합성데이터 6명(청년도전 경계), 공고별 추천 이유 비교, 미수료자 예시 불러오기 오류 수정 — docs/ai-compare-hongju.md |
| 임지수 | 데이터 · AI 테스트 (Gemini Flash) | 구직자 합성데이터 7명(국취 경계·군필), AI 호출 21건 분석, 원문에 없는 표현 12건 대조 — results/모델비교_A.md |
| 사용자 | 화면 | 기능 | AI 활용 |
|---|---|---|---|
| 구직자 | #seeker | 참여 이력·경험 입력 → 활동 정리·역량 문장·포트폴리오 초안(저장), 맞춤 공고 추천, 동의 기반 배지, [지원] → 그 회사 지원자 목록에 추가, 내 서류함(근로계약서 서명·급여명세서 확인) | 생성형 AI (문장 정리·추천 이유) |
| 기업 | #employer | 기업 선택(추후 기업 로그인) → 공고 올리기(점검·AI 정리·미리보기 → 게시) / 공고 확인(구직자에게 보이는 모습·지원자 현황·채용 확정) → 표준근로계약서 자동 작성(법인 인장 날인·근로자 서명) → 계약 조건대로 급여명세서 발급·이체확인증 대조, (선택) 사업자등록증·외부 양식 서류 판독 | 생성형 AI (공고 정리), 멀티모달 AI (이체확인증·서류 이미지 판독) |
| 담당자 | #officer | 저장된 신청 건에서 참여 이력 근거·지침 조항·계약 점검·서명된 근로계약서·월별 명세서 대조 기록을 바로 확인 — 서류를 다시 요구하지 않음 (자동 판정 없음) | 규칙엔진 결과 요약 |
data/synthetic/seals/) 자동 → 근로자 서명란 버튼으로 직접 서명 또는 인장 이미지 → 저장하면 규칙 점검·담당자 신청 건 생성구직자 화면의 [내 서류함]에서 저장된 구직자로 바꾸거나 새 구직자로 작성할 수 있고, 기업 선택 화면에 저장 현황(구직자·기업·공고·지원·계약서·명세서 건수)과 **[저장 데이터 내보내기(JSON)]**가 있습니다.
저장 방식: GitHub는 코드 저장소라 배포된 서비스가 실행 중에 데이터를 써 넣지 않습니다. Vercel 프로젝트에 Upstash Redis를 연결하면(KV_REST_API_URL·KV_REST_API_TOKEN 자동 입력) 서버에 저장되어 다른 기기에서도 같은 시연 데이터가 보입니다. 연결하지 않으면 **각 브라우저(localStorage)**에 저장되므로 같은 브라우저에서 세 화면을 오가며 시연합니다. 서버 저장은 마지막 저장 후 30일 뒤 자동 삭제되며, 기업 선택 화면의 [시연 데이터 초기화]로 바로 지울 수 있습니다. 합성 데이터만 입력하세요.
AI_MODEL로 모델 변경api/*.py)선정 이유: 외부 패키지가 없어 팀원 누구나 python dev_server.py 한 줄로 실행할 수 있고, 배포가 단순합니다.
브라우저 (index.html + js/app.js · workflow.js(시연 흐름) · contract.js(표준근로계약서·명세서·서명) · store.js(저장) · hiredocs.js · claimdocs.js)
│ fetch /api/*
▼
Vercel Functions (api/)
seeker.py 구직자: 이력 정리·공고 추천·포트폴리오
employer.py 기업: 기업 목록·공고 점검·지원자 목록(저장된 지원자 포함)
check.py 근로계약 점검 (AI 설명)
cases.py 담당자: 신청 건 (채용 확정 시 생성, 시연 기준일 지원)
certificate.py 수료증·채용 확정 서류·월별 서류(발급 명세서 ↔ 이체확인증) 판독 (멀티모달)
store.py 시연 데이터 저장 (Upstash Redis / 미연결 시 브라우저 저장)
health.py 연동 상태
│
▼
core/ rules.py(지침 규칙엔진) · labor.py(근로기준법·최저임금) · claimdocs.py(월별 서류 점검) · demostore.py(저장소)
match.py(공고 매칭·AI 문장 검증 guard) · ai.py(Claude/Gemini 호출) · work24.py(고용24 API)
과제 필수 기술 요소: 멀티모달 AI(서류 이미지·PDF 판독) + 자동화 워크플로우(채용 확정 → 계약서 자동 작성 → 매월 명세서 → 이체 대조 → 담당자 신청 건 자동 생성)
git clone <이 저장소 주소>
cd <저장소 폴더>
cp .env.example .env # AI 키를 넣으면 AI 기능 동작, 비우면 규칙 기반 기본 문장으로 동작
python3 dev_server.py # → http://127.0.0.1:3000
python3 -m pytest -q tests
IEUM_E2E=1 python3 -m pytest -q tests/e2e # 화면 전체 흐름 자동 테스트 (Playwright 필요, 약 2분)
python3 tools/eval_mvp.py # 사전 검증 지표 재측정
python3 tools/check_synthetic.py # data/synthetic 합성데이터 자가 점검 (docs/data-spec.md)
python3 tools/make_seals.py # 회사별 시연용 가상 법인 인장 PNG 다시 만들기 (Pillow 필요)
키 값은 .env(로컬)와 Vercel 환경 변수에만 넣고, 코드·채팅·스크린샷에 올리지 않습니다.
| 테스터 | 방법 | 발견 | 반영 |
|---|---|---|---|
| 팀장 (실무자) | 배포 화면에서 구직자 직접 입력·기업 직접 등록 | 포트폴리오 반복·과장 / 암호 PDF 업로드 시 원인 모를 오류 | 간결화·과장 제외 (PR #7) / 파일 오류 원인 안내 (PR #10) |
| 이홍주 | Claude Sonnet 4.6로 구직자 테스트 | 미수료자 예시 오류, 공고별 맞춤 포트폴리오 부족 | 오류 수정 (PR #4) / 로드맵 |
| 임지수 | Gemini Flash로 7명 테스트 | AI가 원문에 없는 표현 12건 | 초안 검토 도우미 (PR #15) |
| 외부 검토 (다른 AI 모델·실무 관점) | 코드·지침 대조 | 주 28시간·월 450만원 누락, 서류 자동 보정 과함, 미동의 정보 노출 | 요건 추가·'확인 필요' 원칙 (PR #8) |
| 교육생 김지은 | 합성 사용자(가상 인물)로 구직자 역할 체험 | 원하는 직무·근로형태에 맞는 공공 교육사업도 맞춤으로 연결해 주고, 지도로 내 주변 교육사업을 볼 수 있으면 좋겠다 | 다음 단계 계획에 반영: 맞춤 직업훈련 과정 추천 + 지도 (발표 13장, FR-18) |
| 교육생 손희영 | 합성 사용자(가상 인물)로 구직자 역할 체험 | 포트폴리오 생성 포인트에 대한 만족도가 높음 | 경험 입력 → AI 초안 → 본인 확인 흐름 유지 |
실사용 교육생 5명: 팀장·이홍주·임지수·김지은·손희영. 테스트에 쓴 인물은 모두 가상(합성 데이터)이고, 써 본 사람과 의견은 실제입니다. 개인정보 없이 정상·경계·탈락 상황을 모두 체험할 수 있게 하려고 합성 데이터를 썼습니다. 합성 사용자 13명은 모두 기대한 판정과 일치했고, 마케팅 희망자에게 '운영' 단어 일치로 무관한 공고가 추천되는 문제를 찾았습니다(개선 예정).
이 저장소는 개인이 만든 이음24 시제품에서 구직자·기업·담당자 공개 기능만 분리해 팀 프로젝트용으로 시작한 것입니다.