현대자동차 – 전기차충전플랫폼 파일럿과제 (HAC)
Hyundai Advanced Charging — 전기차 충전 예약·모니터링·관제 통합 플랫폼
프로젝트 개요
현대자동차의 전기차 충전 인프라를 위한 파일럿 과제로, 전기차 사용자가 충전소를 검색·예약하고 실시간으로 충전 상태를 모니터링할 수 있는 통합 플랫폼입니다. 일반 충전, 자동 충전, 로봇/무인 충전 세 가지 충전 방식을 지원하며, V2G(Vehicle-to-Grid) 방전 기능과 PnC(Plug & Charge) 자동 인증까지 포함합니다.
하나의 Android 코드베이스에서 스마트폰 앱(Portrait 모드)과 IVIS 차량 내 태블릿 앱(Landscape 모드)을 디바이스 방향에 따라 자동 전환하도록 구현했으며, 충전소 관리를 위한 관리자 웹 대시보드와 Supabase Self-hosted 서버리스 백엔드를 포함한 풀스택 시스템입니다.
시스템 아키텍처
클라이언트(Android 앱 + 관리자 웹)와 Supabase 기반 백엔드로 구성된 3-tier 아키텍처입니다.
충전 프로세스
앱에서 충전소를 선택하면 6단계 절차 안내를 거쳐 충전이 시작됩니다. 일반 충전(수동 플러그), 자동 충전(PnC 인증), 로봇/무인 충전(로봇팔) 세 가지 모드를 지원합니다.
| ① 충전소 검색/예약 |
② 충전소 주행 |
③ 주차 | ④ 시동 끄기 |
⑤ 차량 인식 |
⑥ 충전기 연결 |
|
일반 충전 수동 플러그 연결 |
자동 충전 (PnC) Plug & Charge 자동 인증 |
로봇/무인 충전 로봇팔 자동 충전 |
모바일 앱 (스마트폰)
전기차 사용자를 위한 스마트폰 앱입니다. 충전소 검색·예약, 차량 관리, 실시간 충전 모니터링, 충전 내역 확인 등 전기차 충전 라이프사이클 전체를 지원합니다. Kotlin + Jetpack Compose로 개발되었으며, MVI(Model-View-Intent) 아키텍처 패턴을 적용했습니다.
1. Welcome & 인증
앱 진입 시 로그인 없이도 추천 충전소와 기본 정보를 확인할 수 있고, 차량 등록이나 충전 예약 등 핵심 기능 이용 시 로그인을 유도합니다. Supabase GoTrue 기반 인증으로 회원가입, 로그인, 아이디/비밀번호 찾기를 지원합니다.
회원가입은 약관 동의 → 정보 입력 → 완료의 3단계로 구성됩니다. 아이디/비밀번호 찾기는 본인인증을 거쳐 결과를 제공합니다.
2. 충전소 검색 & 스테이션
네이버 지도 SDK를 연동하여 현재 위치 기반으로 주변 충전소를 검색합니다. 충전소별로 급속/완속 충전기 종류, 일반/자동/무인 충전 방식, 가용 수량을 한눈에 확인할 수 있으며, 거리순·가격순 정렬과 충전기 유형 필터를 지원합니다. 즐겨찾기 기능으로 자주 이용하는 충전소를 빠르게 접근할 수 있습니다.
충전소를 선택하면 충전기 상세 정보, 위치 안내, 목록 보기 등 다양한 뷰를 제공합니다. 충전기별 출력(kW), 과금 정보, 현재 상태(충전 가능/사용 중/고장)를 실시간으로 확인할 수 있습니다.
추천 충전소 기능은 사용자의 위치, 차량 충전 어댑터 유형, 충전기 가용 상태를 종합적으로 분석하여 최적의 충전소를 자동으로 제안합니다. 필터 설정으로 선호하는 충전 방식과 충전 속도를 지정할 수 있습니다.
3. 충전 예약 & 절차 안내
충전기를 선택하면 6단계 절차 안내가 시작됩니다. 각 단계마다 3D 차량 애니메이션과 함께 직관적인 가이드를 제공하여 처음 이용하는 사용자도 쉽게 충전할 수 있습니다. 충전이 시작되면 전력(kW), 충전량(kWh), 남은 시간, 경과 시간, 충전 요금을 실시간으로 모니터링할 수 있습니다.
충전이 진행되면 프로그레스 바와 함께 실시간 충전 상태가 표시됩니다. 설정한 충전량(예: 80%)에 도달하면 자동으로 충전이 중지됩니다.
4. 차량 관리
등록된 전기차의 상세 정보를 관리합니다. 충전 어댑터 유형(DC 차데모, DC 콤보 등), PnC(Plug & Charge) 등록 여부, V2G(Vehicle-to-Grid) 활성화, 충전/방전량 설정(목표 SOC)을 설정할 수 있습니다. 아이오닉 5, 제네시스 등 현대차 전기차 모델을 지원하며, 차량 등록 시 관리자 승인 프로세스를 거칩니다.
차량 등록은 차량 번호, 모델명, 충전 어댑터 유형을 입력한 뒤 관리자 승인을 거치는 흐름입니다. 승인 후에는 해당 차량의 충전 내역을 날짜별·충전소별로 조회할 수 있습니다.
5. 마이페이지 & 알림
마이페이지에서는 회원 정보 확인, 고객센터(전화 문의, 1:1 문의), 공지사항 열람이 가능합니다. 알림 센터는 충전 시작/완료, 예약 확인, 차량 등록 승인 등 주요 이벤트를 실시간 푸시 알림과 함께 인앱 목록으로 관리합니다.
IVIS 태블릿 앱 (차량 내 디스플레이)
차량 내 태블릿(In-Vehicle Infotainment System)에 탑재되는 전용 인터페이스입니다. 가로(Landscape) 모드에 최적화된 다크 테마 UI로, 운전 중에도 충전 상태를 쉽게 확인할 수 있도록 대형 텍스트와 직관적인 레이아웃을 적용했습니다. 모바일 앱과 동일한 Kotlin 코드베이스에서 디바이스 방향(Landscape)을 감지하여 자동으로 IVIS 모드로 전환됩니다.
1. 로그인
차량 디스플레이에 최적화된 로그인 화면입니다. 큰 입력 필드와 버튼으로 터치 조작이 용이하며, 다크 테마로 운전 시 눈부심을 줄입니다.
2. 홈 모니터링 & 충전 상태
IVIS의 핵심 화면입니다. 충전 중인 차량의 실시간 상태를 대형 화면에서 모니터링합니다. 자동 충전과 무인 충전 모드를 나란히 비교하며, 전력(kW), 충전량(kWh), 남은 시간, 경과 시간, 충전 요금을 큰 글씨로 표시하여 운전석에서도 한눈에 확인할 수 있습니다. 충전 진행률은 프로그레스 바로 시각화됩니다.
3. 충전소 검색 & 선택
차량 내 디스플레이에서 네이버 지도로 주변 충전소를 검색하고, 일반 충전·자동 충전·무인 충전 아이콘으로 충전 방식을 한눈에 구분합니다. 왼쪽 패널에서 충전 방식을 필터링하고, 오른쪽 지도에서 위치를 확인하는 분할 화면(Split View) 레이아웃입니다.
4. 차량 & 예약 관리
차량 관리 화면에서는 충전량/방전량 설정을 슬라이더로 직관적으로 조절할 수 있습니다. 예약 관리에서는 현재 진행 중인 충전 예약의 상태 확인과 취소가 가능합니다. 로봇/무인 충전 가능 차량은 별도 뱃지로 표시됩니다.
5. 마이페이지 & 알림
IVIS 전용 마이페이지에서 계정 정보 확인, 비밀번호 변경, 차량 관리 기능을 제공합니다. 알림은 모바일 앱과 동기화되어 충전 상태 변경, 예약 알림 등을 차량 디스플레이에서도 확인할 수 있습니다.
기술 스택
Android 앱 (Mobile + IVIS)
- Kotlin + Jetpack Compose — 선언형 UI, 디바이스 방향에 따라 Mobile/IVIS 자동 전환
- MVI 아키텍처(Model-View-Intent) + Hilt 의존성 주입
- Supabase Kotlin SDK — 인증, 실시간 데이터, 스토리지
- 네이버 지도 SDK — 충전소 위치 표시 및 검색
- Kotlin Coroutines + Kotlin Serialization
관리자 웹 대시보드
- SvelteKit 2.0 + TypeScript + Tailwind CSS 3.4
- Supabase JS SDK — SSR 어댑터 통합
- 충전소/충전기 관리 + 충전/방전 분석 대시보드 + 예약/차량 관리
- Docker 컨테이너 배포 (Node.js 20)
백엔드 (Supabase Self-hosted)
- PostgreSQL 15 + Row-Level Security (RLS) 정책
- PostgREST — 자동 REST API 생성
- GoTrue — 인증 + JWT 토큰 관리
- Realtime — WebSocket 실시간 데이터 동기화
- Kong API Gateway — 라우팅, 레이트 리미팅
- Edge Functions(Deno) — 서버리스 로직
- Docker Compose 기반 전체 인프라 오케스트레이션
































































