FCL Schedule API

FCL Schedule API

FCL Schedule API

1. 프로젝트 개요

  • 프로젝트명: FCL 스케줄 API 개발
  • 역할: 백엔드 개발자
  • 프로젝트 목적:
    • Full Container Load(FCL) 스케줄을 API로 제공하여 물류 서비스 최적화
    • API 기반 데이터 판매 모델 구축을 통해 수익 창출
    • REST API를 통해 클라이언트 및 내부 서비스와 연동하여 실시간 정보 제공
  • 기술 스택:
    • 백엔드: Java, Spring Boot
    • API 설계: RESTful API, REST Docs 문서화
    • 데이터베이스: MSSQL, Redis
    • 배포 및 운영: Azure DevOps
    • 보안: Spring Security, API Key 인증
    • 문서: rest docs, swagger

2. FCL 스케줄 API 주요 기능

1. 포트 목록 조회 (Client & Admin)

  • FCL 스케줄 조회를 위한 출발 및 도착 포트 목록을 제공하는 API
  • 포트 코드, 포트명, 국가 코드, 위도/경도 정보 포함
  • 관리자(Admin) 및 클라이언트(Client) 권한에 따라 데이터 접근 범위 설정

2. FCL 스케줄 조회 (Client & Admin)

  • 출발지 및 도착지 기준으로 FCL 선적 스케줄 정보를 제공하는 API
  • 검색 조건: 출발항 코드, 도착항 코드, 선사 코드(선택), 페이지 정보 (페이징 지원)
  • 응답 데이터: 선박명, 항차 정보, 출발·도착 일정(ETA/ETD), 운송 소요 시간
  • 비즈니스 목적:
    • 클라이언트에게 데이터 판매
    • 선사 및 포워더와 연동하여 데이터 활용 확대

3. FCL 스케줄 상세 조회 (Client & Admin)

  • 특정 스케줄의 상세 정보를 제공하는 API
  • 검색 조건: 스케줄 ID 기준 조회
  • 응답 데이터: 선사 정보, 선박 세부 정보, 운송 일정, 운송 소요 시간, 운임 정보 포함

3. API 보안(Security) 적용 사항

Spring Security 적용

  • API 요청에 대한 인증 및 권한 부여 처리
  • Client & Admin 사용자 권한 구분
  • 관리자(Admin) 전용 API와 클라이언트(Client) API를 별도로 관리하여 데이터 접근 제한

API Key 인증 적용

  • 각 클라이언트별 고유 API Key 발급 및 사용 로그 모니터링
  • Unauthorized 요청 차단 및 보안 로깅

4. API 아키텍처 및 데이터 흐름

  • 데이터 수집: 터미널별 API/FTP에서 데이터를 가져와 데이터베이스에 저장
  • 배치 처리: 정해진 주기마다 최신 스케줄 데이터를 자동 업데이트
  • API 제공: 클라이언트 요청 시 데이터를 조회하여 JSON 응답
  • 데이터 최적화: Redis를 활용하여 API 응답 속도를 최적화

5. API 문서화 (Swagger & REST Docs 병행 사용)

Swagger UI 적용

  • 개발자가 API를 쉽게 테스트하고 활용할 수 있도록 Swagger UI 제공
  • API 요청 및 응답 형식 자동 생성
  • API Key 인증 방식도 Swagger를 통해 설명

REST Docs 적용 (Spring REST Docs 기반)

  • Swagger가 개발용이라면, REST Docs는 실제 서비스 운영 및 클라이언트용 API 문서 제공
  • HTML 기반 정적 문서 생성하여 클라이언트에게 API 사용법을 명확히 안내
  • API 변경 사항이 자동 반영되므로 유지보수 용이

6. 프로젝트 성과 및 기여도

  • 유료 FCL 스케줄 API 구축으로 매출 채널 확보
  • 외부 고객사 3곳 도입 문의 및 기능 테스트 진행
  • Redis 도입으로 평균 응답 속도 약 40% 향상
  • API Key 기반 권한 분리로 보안 및 서비스 안정성 강화
  • 문서 자동화로 연동 부서 문의량 감소 및 운영 편의성 개선

© 2020. All rights reserved.

SIKSIK