EveryAI - AI 작품·서비스 거래 플랫폼

생성 AI로 만든 작품과 서비스를 거래할 수 있는 플랫폼. 6주 실무 프로젝트.

everyai 메인 화면: 카테고리, 배너, 추천 서비스 목록

01왜 시작했나

AI 기술로 만든 다양한 작품과 서비스를 거래할 수 있는 플랫폼을 구축하는 실무 프로젝트. 소비자는 합리적인 가격에 AI 서비스를 이용하고, 제작자는 새로운 수익 채널을 확보하는 것이 목표였다.

대학 교수님이 추천해 주신 인턴이었다. 그 전에 같은 교수님의 특강에서 My Asset Manager를 만들었다.

02무엇을 만들었나

백엔드 전체를 담당했다. 인증, 서비스 CRUD, 실시간 메시징, 결제, 관리자 기능까지 구현.

지금은 서비스가 종료되어 볼 수 없다.

인증 시스템

이메일 인증 → 회원가입 → JWT 로그인 → 소셜 로그인까지 전체 인증 플로우를 구현했다.

  • 이메일로 인증번호 발송(spring-boot-starter-mail), DB 기반 검증
  • JWT 발급 후 쿠키 저장, JwtFilter로 요청마다 토큰 검증
  • accessToken 1일 / refreshToken 7일, 만료 시 자동 재발급 플로우
  • 카카오 등 소셜 로그인 — 기존 회원 여부에 따라 가입/로그인 분기

서비스·프로젝트 관리

AI 서비스/프로젝트의 등록·수정·삭제 CRUD. 이미지 업로드 포함.

서비스 상세 화면 (테스트 데이터)

결제 (BootPay)

부트페이 연동으로 안전 결제 구현. 메시지 방 내에서 결제 요청 → 결제 처리 → 성공 메시지 전송까지의 전체 플로우.

메시지 방 안에서 안전 결제를 마친 화면

실시간 메시징

1:1 메시지 방 생성, 텍스트·첨부파일·안전결제 요청 메시지 전송, 읽음 처리, 응답률 통계까지 구현.

  • 두 유저 간 기존 방 유무에 따라 새 방 생성 / 기존 방 불러오기
  • 방 진입 시 상대 메시지 자동 읽음 처리
  • 메시지 신고 기능

관리자 기능

유저 관리(제한/해제), 서비스 승인/반려, 전문가 등급 관리, 광고 배너 관리.

관리자 페이지 — 광고 배너 관리

기술 이야기 더 보기

JWT 인증 설계

accessToken(1일) + refreshToken(7일) 이중 토큰 전략. 프론트에서 401 수신 시 refreshToken으로 재로그인 요청 → 실패 시 로그인 페이지로 리다이렉트. Spring Security의 필터 체인에 커스텀 JwtFilter를 추가하여 모든 요청에서 토큰 검증.

소셜 로그인 통합

소셜 로그인 정보로 서버 DB 조회 → 기존 회원이면 로그인, 신규면 자동 회원가입 + 랜덤 닉네임 생성. 일반 로그인과 소셜 로그인을 동일한 JWT 발급 플로우로 통합.

안전 결제 플로우

메시지 시스템과 결제 시스템을 연동. 메시지 방 내에서 내 서비스/채택된 프로젝트 리스트를 불러와 결제 요청 메시지 전송 → 부트페이 결제 → 결제 성공 메시지 자동 전송.

03여기서 생각한 것

AI를 처음 제대로 써 봤다. AI로 뭐든 가능해지겠다.

  • 교육 과정과 달리 실무를 경험할 수 있어서 회사에서 실제로 필요로 하는 것에 대한 값진 경험이었다.
  • 기본 CRUD 외에 보안, Git 협업, S3, 부트페이, FCM 같은 실무 기술을 프로젝트에 통합하면서 이론적 배경도 깊게 공부할 수 있었다.
  • 인원이 많다고 생산성이 올라가지 않는다는 걸 체감. 각자의 생산성을 최대화할 방법을 모색하고 적용하는 게 중요했다.
  • 추가 구현했지만 넣지 못한 기능: FCM 푸시 알림

성과가 바로 안 보이는 게 불안해서 인턴을 그만뒀다. 돌아보면 성급했다.

← 02 여기까지 의 2023-b 로 돌아가기