플랫폼
여태 작업한 로그인 OIDC, 파일서비스, 에디터, 로그 등 이것저것 추가된 서비스
개발 이유
바이브 코딩과 AI 코딩 도구의 발전으로 서비스를 직접 구현하는 속도는 크게 빨라졌지만, 새로운 프로젝트를 시작할 때마다 로그인,파일 업로드, 알림, 에디터, 비동기 작업, n8n 등의 공통 기능을 다시 연결하고 각각의 연동 방법과 설정을 AI에게 설명하는 반복 작업이 발생했습니다
서비스를 만드는 시간보다 이미 만들어둔 공통 기능을 다시 연결하고, 프로젝트별 환경 변수와 인증정보, API 사용법을 관리하는 과정이 새로운 병목이 되며 새로운 지출이 된다고 판단했습니다
이를 해결하기 위해 여러 프로젝트에서 반복적으로 사용하는 기능을 하나의 플랫폼에서 제공하고, 프로젝트별로 필요한 기능만 선택하여 연결할 수 있는 개인용 공통 서비스 플랫폼을 개발하기로 했습니다
특히 사람이 매번 연동 방법을 설명하지 않아도 에이전트가 공개된 연동 문서와 API 명세를 스스로 읽고 구현할 수 있도록 하여, 새로운 프로젝트를 시작할 때 필요한 초기 작업을 최대한 줄이는 것을 목표로 햇습니다.
주요 기능
1. 프로젝트별 인증 및 계정 관리
프로젝트마다 독립된 회원 세션 체계를 제공하여 서비스 간 계정 강제로 공유되지 않도록 구성
일반 로그인, 구글 네이버 카카오 소셜 로그인 지원
실제 소셜 계정 없이 성공 취소 동의 거부 장애 상황을 테스트 할 수있는 개발용 Mock 로그인 제공
프로젝트별 로그인 방식 회원 상태 세션 및 가입 복구 정책 관리
프로젝트와 DEV/PROD 환경별 설정을 독립적으로 관리
2. 대용량 파일 및 미디어 서비스
최대 5GB 파일의 분할 업로드 및 일시정지 이어올리기
이미지 썸네일 및 미리보기 자동 생성
영상의 HLS 자동 변환 및 해상도 선택 구간 이동 지원
PDF, 텍스트, Markdown 및 지원 미디어 파일 미리보기
공개/비공개/파일과 비밀번호 만료 기간 기반 공유 링크 제공
프로젝트 및 환경별 파일격리
3. 공통 블록 에디터 & 뷰어
React, Vue, 일반 Javascript , JSP 등 서로 다른 프로젝트에서 동일한 에디터 사용 가능
블록 기반 문서 작성 및 Markdown 붙여넣기 지원
이미지·영상·오디오·일반 파일을 동일한 첨부 흐름으로 관리
4. 다채널 알림
이메일 및 인앱 알림 제공
웹 PUSH , SMS , kakao 알림톡, 텔레그램 등으로 확장 가능한 공통 알림 구조(개발중)
5. 비동기 작업 및 AI / RAG 연동
시간이 오래 걸리는 작업을 서비스 요청과 분리할 수 있는 공통 job 시스템
외부 워커가 작업을 가져가는 Pull 방식 지원
중복 실행 방지를 위한 멱등성 처리와 작업 점유 만료 시 복구
n8n 및 외부 AI 서비스와 연결하여 여러 프로젝트에서 동일한 AI 인프라 재사용
공통 텍스트 임베딩 및 문서 색인 검색 제공
AI 작업의 실행 이력과 사용량을 프로젝트 환경단위로 관리
6. 운영 및 개발자 센터
프로젝트별 API Key 발급 및 기능별 권한 제어
프로젝트 중지 재개 회원 및 세션 관리
서비스 상태 오류 작업 적체 및 공통 로그 조회
핵심 특징
1. URL 하나로 시작하는 AI 에이전트 연동
AI 에이전트에게 https://platform.shnea.kr/integrations/SERVICE_INTEGRATION.md 하나만 전달하면 해당 문서를 진입점으로 사용하여 필요한 기능별 문서, 최신 OpenAPI 명세,인증 방법, 요청 예제와 필수 규칙을 스스로 확인하고 연동 코드를 작성할 수있도록 구성.
2. 프로젝트마다 반복하던 공통 기능의 플랫폼화
로그인, 파일, 알림, 에디터, 비동기 작업, 로그, AI 기능을 프로젝트마다 별도로 구현하거나 복사하지 않고 공통 서비스로 제공하도록 구현
3. 프로젝트와 환경을 하나의 단위로 관리
새로운 프로젝트를 만들 때 필요한 연결 정보 역시 개발자 센터에서 한번에 확인할 수 있도록 하여 서비스 추가 과정에서 발생하는 설정 작업 최소화
4. AI 시대의 개발 병목을 '구현'에서 '연동'으로 정의
AI 를 이용하면 개별 기능의 구현속도는 빠르게 높일 수 있지만, 프로젝트가 늘어날수록 기존 서비스의 사용법을 AI에게 다시 설명하고 인증, 환경, API 계약을 맞추는 작업은 계속 반복됩니다.
이 프로젝트에서는 이 반복 작업 자체를 해결해야 할 문제로 보고, AI 가 이해할 수 있는 문서와 표준화된 API를 플랫폼의 기능으로 함께 제공하는 방식을 사용했습니다.