CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·자전거당 ·야구당 ·개발한당 ·이륜차당 ·노젓는당 ·안드로메당 ·소시당 ·소리당 ·나스당 ·육아당 ·캠핑간당 ·창업한당 ·찰칵찍당 ·걸그룹당 ·이브한당 ·심는당 ·젬워한당 ·소셜게임한당 ·달린당 ·시계찬당 ·패스오브엑자일당 ·리눅서당 ·물고기당 ·퐁당퐁당 ·콘솔한당 ·IoT당 ·사과시계당 ·골프당 ·가상화폐당 ·바다건너당 ·키보드당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·클다방 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·VR당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

사용기

서비스/SW 헤어샵 서비스 개발기 34

67
2025-06-21 12:14:01 99.♡.171.99
Old외노자

50 넘어 캐나다로 넘어와서 개발자로 밥벌이하고 있는 old외노자입니다.

가내 수공업(!)으로 헤어샵 서비스 예약 시스템을 개발하고 운영하고 있습니다. 

이에 대한 간단한 회고차 글을 올려봅니다.

 

아이들도 어느 정도 크고 나니  아내가 뭔가 하고 싶어합니다.

한국에서 취득한 미용사 자격증도 있고하니 여기서도 관련 일을 하고 싶어했습니다만,

미용실 스텝으로라도 취업자리를 알아보니 나이 많은 아줌마를 써주는 곳이 없네요.

( 집사람 주장으로는 좀 있다가 독립할 것 같아 보여서 안써준다고도 합니다... 사실인지는 모릅니다 :) 

 

그렇다고 냉큼 하나 차리기에는 이곳 월세도 비싸고 초기 투자비에 대한 리스크가 너무 큽니다.

고민 끝에 Chair Rent를 하기로 합니다. 

기존 미용실에서 의자 하나만 빌리는 거죠.  대신 손님은 모두 미리 예약된 사람이어야 합니다.

가게 문열고 찾아오는 손님은 모두 기존 미용실 손님이니까요.

 

결국 필요한게 헤어샵 예약 시스템입니다.

한국은 카카오에서 제공하는 뷰티샵 예약 서비스가 일반화 되어있다고 하던데, 이 동네는 마땅한 예약 시스템이 없습니다.


저는 백엔드 개발자이긴 합니다만, 집사람이 저렇게 뭘 해보고 싶다는데 어쩌겠습니까.. 해줘야지.

 

요구 사항은 다음과 같았습니다.

1) Android / iPhone 모두 지원

2) 예약접수시 고객 / 디자이너에게 알림 전송

3) 사용자 핸드폰 번호 인증 기능 

4) 사진 첨부 

5) 운영비 최소화

6) 프로모션 문자 발송 기능

 

처음에는 네이티브 앱으로 만들어달라고 하더라고요.

조금 이야기를 나눠보니 굳이 네이티브 앱으로 만들 필요는 없어보여서 SPA 형태로 만들기로 했습니다.


SPA로 가기로 했으니 Front Framework을 골라야 합니다.

조금이라도 써본 vue를 쓸까 잠시 고민했지만, 결국 React를 쓰기로 결정했습니다.

북미지역에서는 Angular와 react가 많이 쓰입니다.

Angular는 회사에서 사용중이기도 해서 이 참에 React를 공부하는셈 치고 사용해보기로 했습니다.

 

화면 설계는 기본적으로 집사람의 요구사항에 따랐습니다만 

최대한 Material UI component를 수정하지 않고 사용할 수 있도록 조율했습니다.

로고/아이콘/배너  디자인은 우리의 chat GPT 님이 수고해주셨습니다. 

장황하다 싶을만큼 설명을 붙여서 이미지를 만들어달라고 하면 당장 써먹을 수 있을 수준의 결과물이 나옵니다.

이번 프로젝트의 1등 공신!

이미지 뿐 아니라,  무한 스크롤 같은 손 많이 가고 귀찮은 코드도 copilot plugin의 도움을 받았습니다.

무한 스크롤 관련 코드는 front & Backend 모두  copy & paste만 해서 써도 될 만한 코드를 만들어줬습니다.

편리하기도 하기도 했지만, 초급 개발자들이 살아가기 점점 힘든 세상이 되어가나 싶기도 하더라고요.

 

다음은 서버 프레임웍을 골라야 합니다. 

결국 손에 익은 Spring을 쓰기로 했습니다. 

물론 스프링이 뭐 좀 할려면 설정해야 하는 것이 한 가득이긴 합니다만 그만큼 정형화되어있기도 하니까요.

DB도 가장 일반적인 조합으로 갑니다. Maria DB.

mvn, jdk 17, Spring security + JWT 그리고 JPA를 사용했습니다.

Batch Job도 quartz 스케쥴러로 모두 단일 WAS에서 처리합니다. 

집계 테이블 업데이트 배치도 있고 사용자들이 올린 사진을 resizing 하는 배치도 있고, 

sms 인증 문자 TTL을 체크하는 배치등이 돌고 있습니다.

좋은 말로는 simple이고 나쁜 말로는 뭔일 생기면 다 죽자죠. :) 


백업은 Synology scheduled task를 이용해서 하루 한번 전체 DB를 백업해서 NAS에 보관하고 있습니다. 

 

다음은 가장 중요한 서버를 어디서 돌릴까였습니다.

AWS ECS free tier를 써볼가 했습니다만 ,  사진 첨부를 해야 하니 S3도 써야 할 것이고..

운영비를 생각하면 ec2 instance에 직접 DB설치하고 설정해야 하는데 세상 귀찮고 해서...

그냥 Synology NAS에 올리기로 했습니다. 

 

개인 계정으로 ECS에 LAMP image 올려두고 까먹고 있다가 한 달뒤 날라든 청구서에 소스라치게 놀란 기억이 있어서인지

AWS는 되도록 안쓰고 싶더라고요.

 

어차피 트래픽이 많이 나올 싸이트도 아니니까요.


뭐 속도도 잘 나오고 현재까지 별 이슈 없이 운영하고 있습니다.

워낙 정형적인 시스템이라 별 문제없이 굴러가고 있습니다.


개발 과정에서 어려운 점은 없었지만 초기 SSL 설정하는데 삽질을 한참 했습니다. 

DDNS로 운영중이라 Domain Forwarding을 사용했는데 이게 한참 삽질하게 하더라고요 -.-;;

 

배포는 docker private repo를 만들어서 거기에 push하고 synology container manager에서 구동하는 방식입니다.

webpack build 후 spring resouce로 복사하고, 도커 이미지로 만들어서 synology container manager에서 구동시키는 거죠.

제가 방법을 못 찾은 것이겠습니다만, script로 배포하는 방식을 못 찾아서 이미지 업데이트는 ssh 상에서 pull command를 실행시켜줘야 합니다.


10회 방문시 1회 무료! 와 같은 스템프 시스템도 만들어졌고 머리깍고 재방문할 때쯤 언저리에 SMS도 보내고 있고, 

간단한 월별 매출 통계/그래프, 회원 관리 기능도 있고 해서 서비스를 운영하는데 필요한 기능들은 모두 갖춰졌습니다.

( 물론 Admin 관리 기능을 따로 만들지 않아서 DB를 직접 조작해야 하는 일이 가끔 있습니다만...   )


다 만들고 나니 이번에는 마켓팅이 문제더라고요. 사람들한테 어떻게 알릴것인가가 문제였습니다.

 

처음에는 한인 업소 주소록등에서 전화번호를 크롤링하는 스크립트를 만들어서 홍보 SMS를 보내봤습니다만,

막상 회원 가입률이 1%도 안되어서 이 방식은 더 이상 사용하지 않습니다.

 

결국 한국사람들이 많이 모이는 daum cafe 게시판을 사용하기로 했죠.

까페 한인업소 홍보 게시판에 글을 써야 하는데 글을 써 올려도 한 시간이면 새로 등록되는  글들로 인해 뒷 페이지로 밀립니다.

그렇다고 한 페이지에 동일 업소 홍보 글이 두개 이상되면 사전 경고없이 강퇴 당합니다. 

( 무과금 업주에겐 ) 아주 빡센 까페죠. 

그래서 또 조그만 node 앱을 하나 만들게됩니다. 다음 까페 게시판 자동 등록 앱이죠.

뭐 별거 없습니다. puppeter를 사용해서 주기적으로 게시판에 글을 쓰는데 , 미리 등록된 글이 있으면 안쓰도록 하는 기능만 있습니다.

로직으로는 어려울 것 전혀 없지만,  네이버 게시판에 비해 다음 게시판이 좀더 까다롭습니다.

첨부 이미지 처리하는 것 때문에 삽질을 좀 해야 했습니다. 

 

이렇게 주기적으로 까페 홍보란에 글을 올리고 하니 예약자들이 조금씩 생기더라고요.

 

서비스를 시작한지 이제 3개월차인데 이제 제법 단골 손님들이 생겼습니다.

 

집 사람이 손재주도 있고 센스도 있어서 손님들의 반응도 괜찮고 결정적으로 집 사람의 만족도가 높아요. 

수익은 크지 않더라도 주말에만 일하니 집안일과 병행할 수도 있기도 하고, 

마치 전문직이 된 느낌이라네요.

 

개발자로 살아온지 25년차입니다만 이렇게 인프라 + 화면 설계 + Front + Backend + 마켓팅 + 운영까지 직접 해본건 이번이 처음이어서 저로서도 재밌는 경험이었습니다.

 

여기까지가 개발기였는데.. 문제가 생겼습니다.


오늘 집사람이 다른 미용실/ 뷰티 관련 업체로부터 예약 시스템을 만들어줄 수 없겠냐는 연락을 여러 곳에서 받아왔네요.

집사람이 신나서 화면을 그리고 있습니다. 

대충 그린 화면을 카톡으로 던져주면서 "만들어줘" 라고 하네요 -.-;;

여러 업체를 받아들일 수 있는 구조로 만들어달랍니다. 

제가 아무리 화면 설계부터 다시 해야 한다고 해도 심드렁하네요. 뭐 알아서 하라는거죠.


벌써 월 얼마를 받을지, 월 이용료 받으면 뭘 살지(!) 계획하느라 행복하신 표정입니다.

디자인  & 마크업 해줄 사람도 없는 ... 저만 괴로워하고 있어요 :( 



Old외노자 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [34]
WhoIsIt
IP 220.♡.209.166
06-21 2025-06-21 12:54:10
·
재미있게 읽었습니다. 나중을 위해 취미로 웹 개발을 해 봐야 할 것 같네요 ㅎㅎ (지금은 매우 아래쪽 개발...)
텀블러300원할인
IP 119.♡.164.105
06-21 2025-06-21 14:04:29 / 수정일: 2025-06-21 14:04:45
·
odoo.com 한국 협력업체에 의뢰해서 제가 운영하는 회사 erp시스템을 개발하고있는데 보통일이 아니에요. 공감하면서 읽었습니다 (내가 다 할수있다면 얼마나 좋을까). 감사합니다.
iceship
IP 118.♡.69.89
06-21 2025-06-21 14:18:30
·
@텀블러300원할인님 한국에서 odoo를 사용하는 회사가 있다니 신기하네요. account관련해서 설정하기 어려울 것 같은데, 대단하십니다!
iceship
IP 118.♡.69.89
06-21 2025-06-21 14:25:15
·
저도 글 재밌게 잘 읽었습니다.
Watchtower를 사용하면 docker 배포 문제는 해결할 수 있을 것 같은데
private repo, synology에서는 사용해본 적이 없어서 궁금하네요
무한비행
IP 14.♡.199.14
06-21 2025-06-21 15:06:52
·
재미있게 잘 읽었습니다. 배우자께서 클라이언트가 되셨군요. ㅎㅎ
따라란!
IP 174.♡.17.2
06-23 2025-06-23 08:18:46
·
@무한비행님 클라이언트와 갈등이 생기면 밥줄이 (진짜로) 끊기는군요 ㄷㄷ
deej
IP 49.♡.253.141
06-21 2025-06-21 18:20:24
·
Exciting!
보고또또보고
IP 125.♡.41.31
06-21 2025-06-21 19:36:19
·
재밌게 잘 읽었습니다. 앞으로도 좋은 일만 생기시길 바래요.
kwatch
IP 114.♡.211.211
06-21 2025-06-21 23:25:36
·
ui 어떻게 되어있는지 궁금하네요 ..
4fifty5
IP 73.♡.137.113
06-22 2025-06-22 08:11:01 / 수정일: 2025-06-22 08:12:32
·
일 진행이 재미있었다고 맺으시는 것을 보니 천직인가봅니다.
어느날 클리앙에 개발자 1명으로 시작해서 여자가 외국 미용 CRM 회사 창업하기 같은 글이 올라올 때까지 기다릴 맛이 나네요!
윈드로머
IP 49.♡.242.68
06-22 2025-06-22 08:41:45
·
구글ai스튜디오는 아이콘을 svg로 믄들어서 내장해주더라구요
계획하시는것도 agent 코딩 툴 이용하면 몇달러만 내도 거의 만즐어줄겁니다 오히려 운영이 더 귀찮을 수 있을거 같아요
sltx
IP 49.♡.125.146
06-22 2025-06-22 08:43:14
·
멋지십니다.
미망
IP 116.♡.60.191
06-22 2025-06-22 08:54:27
·
개발전혀 모르지만 재밌었습니다. ㅎㅎ
그란데
IP 211.♡.165.55
06-22 2025-06-22 09:08:57
·
멋지네요~
엔드게임2027
IP 116.♡.122.204
06-22 2025-06-22 10:54:39
·
축하드립니다.
아내분의 개발용 ai 가 되셨군요.

아직 제 아내는 저를 개발용으로 이용하고 있지는 않네요
좁은문
IP 99.♡.230.118
06-22 2025-06-22 11:47:35 / 수정일: 2025-06-22 11:52:21
·
캐나다는 한국 미용 라이센스 사용이 가능한가보네요. 미국은 불가능해서 한인 미용사가 귀하다고 들었거든요. (방금 찾아보니 캐나다도 마찬가지로 캐나다 미용 라이센스가 필요하다고 하네요. 법적 문제가 없으시길 바랍니다.)
열심개발자
IP 104.♡.48.143
06-22 2025-06-22 11:58:23
·
React.js + DB?에서 초기접속자가 그리 많지 않다면 Vercel + Supabase조합도 정말 좋습니다. Free 티어에서는 공짜이기두하구요 ㅎㅎ, 배포도 쉽구.. 그리고 AI 코딩툴은 Cursor 추천드립니다. 저도한때는 GPT에 복붙하곤했는데 Cursor 사용하고 개발시간이 확 줄었어요.
거울은보고다니니
IP 125.♡.116.149
06-22 2025-06-22 11:59:39
·
시작과 끝만 봤지만 대단하십니다.
야그니앙
IP 211.♡.88.182
06-22 2025-06-22 12:08:14
·
한글인디 한글이 아니여…
카스트로폴로스744
IP 180.♡.252.243
06-22 2025-06-22 14:00:38
·
어... 음... 제가 지금 뭘 본... 블루투스 샤워기를 개발해야하는 공밀레를 본건가요...?
지원아아빠야
IP 219.♡.194.25
06-22 2025-06-22 14:05:17
·
50 넘어서 넣어 가시다니 대단하시네요~!! 부럽습니다~!!
글 재미있게 읽었습니다. 아무리 가벼운 프레임웍이 있어도. 결국 손에 있고, 정형화 된 프레임웍 (스프링)이 제일 만만한거 같아요.. 고민할 시간 자체가 없음..
화이팅입니다~!!
bizcul
IP 77.♡.22.3
06-22 2025-06-22 20:04:36
·
혹시 지역 뷰티 업계의 배민같은 플랫폼 업체가 되시는거 아닌가요?ㅎㅎ 보람있는 결과 있으시길 바랍니다.
체크아웃
IP 175.♡.111.123
06-23 2025-06-23 10:38:37
·
재미나게 잘 읽었습니다 ^^
어떠한 요구도 거부 할 수 없는 엄청난
클라이언트가 생겨 버렸군요 ㅎㅎㅎ
ㅂㅈㄷㄱ
IP 121.♡.139.47
06-23 2025-06-23 13:34:48
·
해외에서 미용일을 하려면 자격증이 필수인가요?
nariyada
IP 1.♡.209.117
06-23 2025-06-23 15:43:24
·
고객님 이 프로젝트는 이런게 필요하고 이런건 어렵고 이런건 정해주셔야 합니다.

네. 알아서 하세요 (하면 끝나는 고객님이시네요.)
김박사짱
IP 211.♡.198.166
06-23 2025-06-23 16:50:52
·
저도 최근(6개월 전?)부터 cursor 로 이런 저런 웹 페이지를 만들어 써보고 있었는데 앱개발은 엄두도 못내겠던데요~~ 같은 50대로서 응원합니다.
너의닉네임은
IP 121.♡.137.246
06-23 2025-06-23 17:12:10
·
재밌게 잘 읽었습니다.대단하시네요,, AWS나 클라우드는 비용이 무시못해서--;;

어떻게 구현하셨는지 자세히 설명해주셨는데 매인화면 캡처같은게 있음 좋았을 거 같은데 아쉽네요
템플릿화하셔서 부업으로 하시면 좋을거같습니다 ㅋㅋ
정글탐험자
IP 220.♡.228.191
06-24 2025-06-24 07:37:03
·
필요로 하는걸 만들어 내는게 참 좋죠 :)

글을 읽고 나니 시놀로지가 사고 싶어지네요 ㅠ ㅎㅎㅎ
v030v
IP 119.♡.212.2
06-24 2025-06-24 09:02:37
·
개발의 1도 모르는 1인이지만 이런 내용이 무척 흥미롭네요. 부럽기도 하구요.
요즘은 SW의 시대라고 해도 과언이 아닐 것 같습니다.
응원하겠습니다 ㅎ
훔훔
IP 199.♡.112.6
06-25 2025-06-25 10:51:50
·
근데 예약 시스템을 팔기 시작하면 클라이언트의 주 사업 매출이 감소하지는 않을까요?
카피콘
IP 223.♡.80.145
06-25 2025-06-25 18:47:35
·
남편 인건비 인정 못받는 풀스택 개발자 경험기 재밌게 잘 봤습니다.
l열l
IP 211.♡.234.199
07-02 2025-07-02 17:59:32
·
능력자!!!
신동호
IP 218.♡.68.131
07-03 2025-07-03 14:58:39
·
개발자가 행복한 이유가 이런거죠~~
마치 21세기 연금술사 같은 능력인겁니다.
필요하면 한번 만들어 볼까??
_Brown_
IP 125.♡.130.206
07-17 2025-07-17 23:57:41
·
멋진 개발기 잘 읽었습니다!
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.