CLIENT
PERIOD
CATEGORY
TECH STACK
LINK
OH ALLBLUE는 스쿠버다이빙 경험 전체를 하나의 플랫폼으로 연결하는 풀스케일 소셜 서비스입니다. 다이브 로그북, 해양생물 도감, 다이브 포인트, 클럽 커뮤니티, 강사 프로필, 장비 카탈로그까지 — 다이버가 필요한 모든 기능을 단일 서비스로 통합했습니다.
웹 플랫폼(React + Spring Boot MSA)과 iOS/Android 앱(Flutter)을 단일 팀이 함께 개발·운영하며, MSA 백엔드 8개 서비스, Keycloak 인증, Elasticsearch 다국어 검색, Matrix 채팅, FCM 푸시, GPU 수중 색보정 필터까지 포함한 풀스케일 소셜 플랫폼입니다.
다이브 기록을 Instagram 스타일로 관리합니다. 회원별 다이브 넘버링(Window Function 자동 순번), 장소·수온·시야·깊이·장비, 버디 태그, 이미지·영상 첨부를 지원합니다. 퍼가기 기능으로 동일 다이브의 버디 로그를 참조할 수 있으며, 로그북 이미지는 다이브 포인트 갤러리에 자동 연동됩니다.
WoRMS, FishBase, GBIF, iNaturalist, IUCN 5개 외부 DB와 연동해 32,879종의 해양생물 데이터를 제공합니다. 한국어·영어·일본어·중국어 다국어 검색(Nori/Kuromoji/ICU 분석기, edge-ngram 자동완성)과 BM25 + 인기도 + 시간 감쇠 스코어링을 통한 정밀 검색 랭킹을 지원합니다.
전국·해외 다이브 포인트를 지도 기반으로 탐색합니다. 깊이·조류·시야·난이도·입수 유형·최적 시즌 등 다이빙 특화 메타데이터, 커뮤니티 갤러리(popularity score 기반 이미지 정렬), 포인트별 방문 로그·위시리스트를 포함합니다.
사업자 인증 클럽이 모임과 게시판을 운영합니다. OWNER → SUB_MANAGER → STAFF → SPECIAL_MEMBER → MEMBER 5단계 권한 체계, 모임 참가 신청·승인 워크플로우, Tiptap 기반 리치 에디터 게시판(커스텀 Image 익스텐션 포함)을 제공합니다.
Matrix/Synapse 서버 기반 1:1·그룹 채팅을 제공합니다. 웹(Matrix.js SDK)과 앱(Flutter Matrix SDK) 모두에서 동일 채팅 공간에 접근하며, 폐쇄형 서버로 운영해 모든 메시지가 자체 서버에 보관됩니다.
iOS/Android 단일 코드베이스. Dart 소스 250+ 파일, 60+ 화면, 7개 도메인 피처 모듈(feed·club·search·profile·messages·notification·media_filter)로 구성했습니다. Riverpod 2.x 상태관리, Keycloak OIDC PKCE 인증(flutter_appauth), Dio 기반 자동 토큰 갱신, FCM 푸시 + 딥링크 라우팅, Sentry 모니터링을 포함합니다.
GLSL Fragment Shader로 수중 사진의 색보정 필터를 구현했습니다. 수중에서 적색 파장이 감쇠하는 물리적 특성을 GPU 단에서 보정해 자연스러운 수중 색감을 복원합니다.
도메인 바운디드 컨텍스트 기준 8개 Spring Boot 서비스(member·logbook·club·diveinfo·fishinfo·equipment·notif·adm)로 분리한 모노레포 기반 MSA 구조입니다. Kong API Gateway(9200포트)가 라우팅·CORS를 담당하고, 각 서비스가 Keycloak JWT를 직접 검증하는 BFF 패턴을 적용했습니다.
Refresh Token은 httpOnly 쿠키, Access Token은 React 메모리 변수에만 보관하는 BFF 패턴을 적용했습니다. Google·Kakao·Naver 소셜 로그인(Keycloak Identity Provider), 사업자 회원 단계별 심사(PERSONAL → PENDING → REVIEWING → BUSINESS), 서비스 간 X-Internal-Secret 헤더 격리를 포함합니다.
단일 서버 Docker Compose 운영에서 6대 서버 분산 배치(차세대 인프라)로 이전 예정입니다. Kong, Keycloak, OpenLDAP, PostgreSQL 17, Elasticsearch 8, Synapse Matrix, MinIO를 모두 자체 운영하며, OPNsense + Caddy TLS 엣지 라우팅을 적용합니다.
OTHER PROJECTS