핀테크고객사 비공개앱·웹 플랫폼 개발관리자·백오피스

자녀 용돈 관리 앱과 정산 관리자 웹 구축

가족 채팅 안에서 용돈 요청·미션·이체·월 정산까지 한 번에 처리하는 Android·iOS 앱과 운영 관리자 웹

  • 2024.07 ~ 2025.01

    진행 기간

가족 채팅방, 미션 진행 단계, 용돈 요청 세 화면을 나란히 보여주는 용돈 관리 앱 구성

배경과 목표

어떤 문제에서 시작했나요?

고객은 부모가 아이에게 용돈을 주고 집안일 같은 미션에 보상을 얹는 과정을 앱과 관리자 웹으로 옮기려 했습니다. 이 과정은 가족 간 대화로 시작해 실제 계좌 이체로 끝나고, 주 사용자 한쪽이 미성년자입니다. 운영자 쪽에서는 충전·정산·판매에 각각 수수료가 붙고 출금이 실제 송금으로 이어지기 때문에, 이 내역을 조회하고 기준값을 조정할 화면도 함께 필요했습니다. 기존에 용돈을 어떤 방식으로 주고받고 있었는지는 전달받은 자료에 남아 있지 않습니다.

목표: 합의된 범위는 기능 정의와 디자인·앱 화면 설계, 백엔드 개발, 관리자 웹 개발이었습니다. 완료 기준은 Android·iOS 앱과 관리자 웹이 통합 테스트와 실사용자 대상 UAT를 통과해 스토어에 제출 가능한 상태가 되고, 개발완료보고서와 사용설명서를 전달하는 것이었습니다. 이용자 수나 거래액 같은 운영 성과 목표는 자료에 정해져 있지 않습니다.

네오렉트의 역할

어디까지 수행했나요?

네오렉트가 기능 정의부터 디자인, 앱 화면 설계, Flutter 기반 Android·iOS 앱 개발, Node.js API 서버와 데이터베이스 구축, React 기반 관리자 웹 개발, AWS 호스팅 구성과 배포까지 맡았고 계약 기간 동안 유지관리를 수행했습니다. 참여율은 100%로 기록돼 있습니다. 서비스 운영과 실제 송금 집행은 고객 몫입니다.

주요 기능

무엇을 만들었나요?

  • 소셜 로그인과 본인인증 — 사용자가 구글·카카오·네이버·애플 계정으로 로그인하고, 가입 단계에서 Pass 본인인증과 휴대폰 인증을 거쳐 계정을 만듭니다.
  • 가족 프로필과 계좌 연결 — 한 가족이 부모 프로필과 아이 프로필로 나뉘어 같은 앱을 쓰고, 마이페이지에서 프로필 사진과 정산에 쓸 계좌 정보를 수정합니다.
  • 가족 채팅방 — 가족 구성원이 실시간으로 대화하면서 같은 방 안에서 용돈을 요청하거나 미션을 등록합니다.
  • 용돈 요청과 승인 — 아이 프로필이 금액과 사유를 적어 용돈을 요청하면 부모 프로필이 승인하고, 요청부터 이체 완료까지 진행 상황이 단계로 표시됩니다.
  • 미션 등록·배정·이체 — 부모 프로필이 할 일과 금액, 수행 기간을 정해 미션을 등록하고 아이 프로필에 배정하면, 아이가 완료 처리한 뒤 미션 금액이 이체됩니다. 미션생성·배정요청·배정완료·미션완료·이체완료 다섯 단계로 상태를 봅니다.
  • 충전과 월 정산 — 부모 프로필이 잔액을 충전하고, 아이 프로필이 매달 정산을 요청하면 모인 금액이 연결된 계좌로 정산됩니다.
  • 친구 찾기와 사진 거래 — 사용자가 친구를 검색해 추가하고 1:1로 대화하며, 사용자끼리 사진을 사고팔 수 있습니다.
  • 관리자 웹 — 운영자가 대시보드에서 충전·판매·출금을 한 번에 조회하고, 회원을 이메일이나 휴대전화로 검색해 가족 프로필까지 확인하며, 충전·미션/용돈·출금 내역을 기간으로 조회하고 송금 대상 리스트를 엑셀로 내려받습니다.

해결 과정

제약을 어떻게 풀었나요?

  1. 제약 1

    한 가족이 부모와 아이라는 서로 다른 역할로 같은 기능을 써야 했습니다. 용돈 요청은 아이가, 미션 등록과 배정, 충전은 부모가 하는 식입니다.

    의사결정: 계정을 역할별로 따로 만들게 하는 대신 가족 안에서 프로필을 선택하게 하고, 프로필에 따라 같은 화면이 다른 동작을 하도록 나눴습니다. 요청과 미션은 별도 신청 메뉴가 아니라 가족 채팅방 안에서 처리하도록 배치했습니다.

    구현: 앱에 socket.io 기반 실시간 통신을 적용해 대화와 요청 상태가 같은 방에서 갱신되게 했고, 미션은 미션생성·배정요청·배정완료·미션완료·이체완료 다섯 단계를 화면에 표시했습니다. 전체 기능을 연동한 통합 테스트와 실사용자 대상 UAT로 흐름을 확인했습니다.

  2. 제약 2

    미션 보상과 월 정산이 실제 계좌 이체로 이어지고, 주 사용자 한쪽이 미성년자입니다.

    의사결정: 가입 단계에 Pass 본인인증과 휴대폰 인증을 넣고, 계좌 정보는 각 프로필에 연결해 관리하도록 했습니다. 관리자 쪽 권한은 임의로 부여되지 않게 막았습니다.

    구현: 소셜 로그인은 OAuth의 액세스·리프레시 토큰으로 처리하고, 관리자 사이트의 보안 관련 일부 데이터는 sha512로 암호화했습니다. 관리자·사용자 권한은 마스터 계정이나 이미 인증된 계정을 통해서만 부여됩니다. AWS 쪽은 IAM 정책으로 리소스 접근을 나누고 보안 그룹으로 트래픽을 제어했습니다.

  3. 제약 3

    충전·정산·판매마다 수수료 기준이 달라질 수 있고, 출금은 운영자가 실제로 송금해야 끝납니다.

    의사결정: 수수료율과 최소금액을 고정값으로 두지 않고 운영자가 관리자 웹에서 직접 조정하는 설정으로 만들었으며, 송금 작업은 대상 목록을 파일로 내려받아 처리하도록 했습니다.

    구현: 관리자 웹 설정에서 충전 수수료 비율, 정산 수수료 비율과 정산 최소금액, 판매 수수료 비율과 판매 최소 수수료를 조정합니다. 출금내역 화면에서 기간을 지정해 조회하고 송금 대상 리스트를 엑셀로 내려받으며, 대시보드에서 충전·판매·출금을 함께 봅니다.

화면

실제 화면과 구조

미션생성·배정요청·배정완료·미션완료·이체완료 다섯 단계가 상단에 표시되고, 미션 이름 설거지하기와 금액 3,000원, 수행 기간 2024.07.02~07.03, 요청 메시지가 차례로 놓인 미션 상세 화면
미션 상세 — 등록부터 이체까지 다섯 단계로 진행 상황을 봅니다
용돈요청과 이체완료 두 단계 표시 아래에 미션 이름 강아지 산책 시키기와 금액 8,000원, 요청 사유 입력란, 하단에 승인 요청 버튼이 있는 용돈 요청 화면
용돈 요청 — 아이 프로필이 금액과 사유를 적어 승인을 요청합니다
가족과 친구 탭, 가족 프로필 목록, 그 아래 부모와 아이가 주고받은 대화 말풍선과 메시지 입력창이 있는 가족 채팅방 화면
가족 채팅방 — 대화와 용돈·미션 처리가 같은 방에서 이뤄집니다
마이페이지의 계좌정보와 알림 설정, 충전 버튼이 있는 부모 프로필 화면, 그리고 정산 가능 잔액과 다음주 목요일 입금 또는 수수료 5.0% 즉시정산을 고르는 팝업을 보여주는 세 화면
마이페이지와 정산 — 계좌를 연결하고 일반 정산과 즉시정산 중에 고릅니다

사용 기술

Flutter (Dart) — Android·iOS 앱React — 관리자 웹Node.js · Express — API 서버MySQL · MongoDBsocket.io — 실시간 채팅AWS (EC2 · RDS · S3 · CloudFront)

발행 2026.09.30

비슷한 프로젝트를 준비 중이신가요?

배경과 제약 조건을 알려주시면 이 사례의 경험을 바탕으로 진행 방식과 예상 범위를 제안드립니다.