0. 서론
최근 지인이 운영하는 주차장에서 직원 감원을 진행하였다. 그러면서 기존에 키오스크가 없어서 유인으로 진행해야했던 '정기권 연장, 등록’에 대한 키오스크를 만들어달라는 의뢰가 들어왔다. 조건은 ‘유지보수가 편하고, 저렴할 것’.
이번 시리즈에서는 당근에서 업어온 중고 키오스크를 개조하고 소프트웨어를 제작하여 운영한, 다사다난했던 프로젝트에 대해 얘기해보려 한다.
이 프로젝트는 아래 4개 파트로 구성된다.
시리즈 목차
- Part 1 - 하드웨어: 중고 키오스크 개조와 시리얼 통신하기
- Part 2 - 소프트웨어: Flutter 앱 구조와 주차 API 연동
- Part 3 - 운영/트러블슈팅: 실운영에서 부딪힌 장애와 복구 전략
핵심 흐름은 다음과 같다.
- 프로젝트 개요
- 하드웨어 개조
- 소프트웨어 개발
- 실제 운영과 트러블슈팅
4개 글로 구성하였다.
1. Background - 키오스크를 만든 배경
주차장의 자동화
근래 지방 상가 건물의 공실률이 상승하면서, 주차장을 비롯한 건물의 유지 비용을 감축하는 움직임이 보이고 있다. 주차장이 더욱 무인화가 됨에 따라, 운영시간을 단축하고 직원 수를 줄이게 되었다. 기존 직원들이 하던 기능들을 추가할 필요가 생겼다.
기존 솔루션은 없는가?
현재 주차장에서 사용하고 있는 주차관제 회사에서도 순정 키오스크를 판매 중이지만, 대당 가격이 어마무시하기 때문에 본 주차장에서는 1대만 사용하고 있다. 또한 주차장 특성 상 필요한 ‘자유왕래’ 나 ‘정기권 등록/연장’의 기능은 부재하다.
만들기 어렵지 않은가?
주차 관제 회사에서 이미 키오스크를 만들고 있는 만큼, DB 스키마와 REST API는 이미 제공하고 있다. 그렇기 때문에 자율적으로 정리하는 하나의 ‘블랙 박스’로 생각하고, API 응답문 및 예외 처리만 깔끔하게 하면 된다. 결제 관련 민감 사항은 PG 제공 소프트웨어의 Docs를 보고 형태를 맞추어 진행하였다.
2. Project Goal & Scope - 무엇을 목표로 했는가?
프로젝트의 핵심 목표
이 프로젝트는 저비용(중고 HW 활용), 고완성도(UI/UX 개선), 강건성(유지보수성) 확보 세 가지를 핵심 가치로 잡았다.
- 당근에서 중고 키오스크를 15만원 이내로 구한다.
- 최신 Flutter UI/UX 사용하여 완성도를 확보한다.
- Firebase RTDB를 통해 시스템 현황을 감시, 원격 관리한다.
3. System Architecture: 전체 구조도
![]() |
![]() |
하드웨어 계층
- 15인치 터치 POS
- 스마트로 SMT-R231 카드 리더기
- 3인치 영수증 프린터
소프트웨어 계층
- 주 앱: Flutter Parking 앱
- PG 소프트웨어: Smartro EVCAT
- 주차 등록: 주차업체 REST API
- DB: MongoDB(Local) + Firebase (Cloud)
4. Expected Effects: 기대 효과
- 주차 회사 장비 대비 매우 저렴하게 제작 가능 (중고 본체 + 신품 리더기로 총 개발비 약 20만원)
- 정기권 자동 등록, 고급 로깅, 이중 DB, 일차 등록 등 기존 SW에 없던 기능 대거 추가
- 원격 접속, CI / CD 구축을 통해 유지보수 개선과 Github 자동화 구조 확립
5. 예고
프로젝트를 진행하면서 '진짜 환경’에서 개발하는 것에 대해 배우게 된 만큼, 하드웨어 작동 방식, PG 연계, Deploy 및 운영 이슈를 각 파트에서 상세하게 다룬다.

