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
Arklings landing page and collaboration application
Translation pending
BusinessTypeScript · HTMLGitHub @byeolthreeOnlineOwner 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 ↗한국 신화·고대사 기반 IP 스튜디오 아클링스의 랜딩 페이지, 기획안 만들기, 로그인, 협업 신청, 포트폴리오입니다. Next.js(App Router, Server Actions) + Supabase(DB·Storage·로그인) + Vercel.
AGENTS.md| 화면 | 주소 | 하는 일 |
|---|---|---|
| 랜딩 | / | v14 랜딩. 「지금 시작하기」(5곳) → 기획안 만들기(/planner), 「협업 문의하기」(2곳) → 협업 신청(/collab/new) |
| 기획안 만들기 | /planner | 로그인 없이 작성(이 기기 브라우저에만 보관). 로그인하면 서버 저장·임시저장 이력·Ctrl+Z·PDF 내려받기·PDF 메일 받기(하루 3번)·포트폴리오 공개. 옛 주소 /planner.html은 여기로 이동 |
| 포트폴리오 | /portfolio, /portfolio/[id] | 공개된 기획안만 누구나 보기. 공개 이름은 보이고 이메일은 보이지 않음. 상세의 「협업 신청」은 기획안 주인에게 감 |
| 로그인 | /signup, /login, /forgot-password, /reset-password | 이메일·구글·카카오 로그인. 카카오처럼 이메일을 주지 않는 방식은 가입 중에 이메일을 받아 확인 메일로 본인 확인(/auth/add-email) |
| 마이페이지 | /mypage, /mypage/withdraw | 내 기획안 목록, 로그인 방법 추가·해제, 회원 탈퇴 |
| 협업 신청 | /collab/new | 누구나 로그인 없이 접수 (/apply는 여기로 이동) |
| 접수 완료 | /collab/done | "신청이 접수됐습니다" 안내와 「홈으로」 버튼. 신청자는 로그인하지 않으므로 신청 내용을 다시 볼 수 없음 |
| 받은 협업 신청 | /collab, /collab/[id], /collab/[id]/edit | 로그인 필요. 그 신청을 받은 사람만 목록·상세·수정·삭제. 10개씩, 상태별 보기 |
| 개인정보처리방침 | /privacy | 가입·협업 신청과 같은 동의 문구 |
협업 신청 입력 칸: 이름/닉네임(필수), 연락처 이메일 또는 전화번호(필수), SNS 아이디(필수), 신청 대상(기본 "특정 이야기 아님", 또는 작품 선택. 포트폴리오에서 들어오면 작품 칸 대신 기획안 제목과 「○○님께 전달됩니다」), 역할(중복 선택, 1개 이상 필수: 영상 제작·대본·아트디렉터·역사 자문·책임 프로듀서·기타), 하고 싶은 일/아이디어(필수, 10~1000자), 작업 링크(필수, http/https), 작업 파일 첨부(선택, PDF·JPG·PNG 4MB 이하. 더 큰 파일은 작업 링크로), 개인정보 동의(필수), 상태(받는 사람이 수정할 때만: 접수·검토 중·수락·거절).
성공/실패: 신청하면 접수 완료 화면으로 이동합니다. 입력 오류는 칸 아래에 이유를 보여 주고 입력값을 유지합니다. 저장 중에는 버튼이 잠깁니다. 삭제는 확인 후 신청과 첨부 파일을 함께 지웁니다. 없는 번호나 남에게 온 신청은 404 화면이 나옵니다.
접근 규칙: 받은 협업 신청은 받는 사람만 읽고 고치고 지웁니다(DB 접근 규칙 RLS). 아클링스 앞 신청은 운영자 표시가 있는 계정이 봅니다. 첨부 보관함은 비공개이고, 받는 사람에게만 5분짜리 임시 주소로 보여 줍니다.
supabase/schema.sql — source_works(작품 3개), collab_requests(협업 신청)supabase/migrations/ 0001~0007 — 보관함 비공개, 프로필·동의 기록, 받는 사람 규칙, 기획안·임시저장 이력·메일 횟수, 정리 작업 기록, 소셜 로그인, 포트폴리오AGENTS.md의 「테이블」에 있습니다.supabase/schema.sql을 실행한 뒤 supabase/migrations/를 0001부터 0007까지 번호 순서대로 실행합니다.
이미 운영 중인 프로젝트: schema.sql은 collab_requests를 지우므로 다시 실행하지 않습니다. migrations만 번호 순서대로 실행하고, 0001과 0003부터는 새 코드를 배포하고 SUPABASE_SERVICE_ROLE_KEY를 넣은 뒤에 실행합니다..env.example을 .env.local로 복사해 값을 채웁니다.npm install → npm run dev → http://localhost:3000NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY (서버 전용)RATE_LIMIT_SALT (선택)MAIL_SMTP_HOST, MAIL_SMTP_PORT, MAIL_SMTP_USER, MAIL_SMTP_PASS, MAIL_FROM, ADMIN_NOTIFY_EMAILCRON_SECRET (하루 한 번 도는 정리 작업용)값은 .env.local과 Vercel 환경 변수에만 넣고 GitHub에는 올리지 않습니다.
아직 진짜 서비스(실제 Supabase·메일)에서 점검하지 않았습니다. 단계 7에서 채웁니다.
아래는 로그인이 없고 첨부 보관함이 공개였던 미션 6 당시 배포 주소에서 점검한 기록입니다. 미션 7에서 보관함은 비공개로, 목록·상세·수정·삭제는 받는 사람만으로 바뀌었습니다.
| 시나리오 | 결과 |
|---|---|
| 빈 값으로 제출 | 통과 — 필수 칸마다 이유가 표시되고 저장되지 않음 |
| 잘못된 형식 제출 | 통과 — .txt 파일은 "PDF, JPG, PNG 파일만 올릴 수 있습니다."로 거절, 입력값 유지, 저장되지 않음 |
| 등록 후 목록·상세 반영 | 통과 — 접수 완료 화면 뒤 목록(총 건수)과 상세에 입력 내용이 그대로 보임 |
| 새로고침 후 데이터 유지 | 통과 — 새로 연 화면에서도 같은 데이터가 Supabase에서 읽힘 |
| 수정 반영 | 통과 — 이름 수정 후 상세에 반영, "최근 수정" 시각 갱신 |
| 삭제 반영 | 통과 — 삭제 후 목록에서 사라지고, 같은 주소를 열면 404 안내 화면(HTTP 404) |
| 존재하지 않는 상세 주소 | 통과 — "찾을 수 없는 신청입니다" 안내와 목록으로 돌아가는 버튼 |
| 파일 업로드(새 신청서에 첨부) | 통과 — PNG 첨부 후 상세에서 Supabase Storage 이미지가 표시됨 |
| 파일 업로드(수정 화면에서 첨부) | 통과 — 첨부 후 상세에 이미지 표시 |
| 파일이 없는 경우 | 통과 — "첨부된 파일이 없습니다." 표시 |
| 4MB 초과 파일 | 미점검 — 코드로는 막혀 있으나 배포 환경에서 직접 올려 보지 않음 |
| 10건 초과 시 쪽 이동 | 미점검 — 현재 데이터가 10건 미만이라 쪽 이동 화면은 확인하지 못함 |
| 삭제 시 첨부 파일 함께 삭제 | 통과 — 신청을 삭제하면 Supabase Storage의 첨부 파일도 함께 사라짐(삭제 후 파일 주소가 "Object not found"). 당시에는 schema.sql 3번 항목의 보관함 정책을 썼고, 미션 7에서는 서버 전용 열쇠로 지움 |