2개월 동안 고생한 보성군QR코드관리시스템

지난 2개월동안 나름 고생하여 만든 전라남도 보성군의 QR코드 관리시스템이 거의 완성단계에 왔습니다. 아직 테스트도 남았고, 검증 및 서비스개시까지 약간의 시간은 더 필요하겠지만 고생의 시간만큼 보람도 있네요. 관리시스템의 모든 기능과 디자인, 문서(보고서), 개발까지 혼자서 북치고 장구치는 프로젝트였습니다. QR코드의 디자인 부분만 디자이너의 도움으로 해결했습니다.

이 프로젝트가 나름 의미가 있게된건 최초의 오픈소스 ColdFusion엔진인 Railo를 적용한 사례여서가 아닐까 싶습니다. 몇몇 내부 시스템에 ColdFusion을 적용한 경험은 있지만 외부로 공개되서는 아니되는 것들이였고 실제 전체 시스템이 ColdFusion으로만 이루어지지 않은 터라 공개도 힘들었었죠. 하지만 보성군 QR코드관리시스템은 전체가 ColdFusion으로만 구현되었습니다.

시스템 자체의 기능과 규모는 매우 작다할 수 있지만 많은 오픈소스(특히 QR코드의 생성부문과 클라이언트측의 jQuery관련 오픈소스)가 쓰였고, 기간이 짧아서 인지 많은 코드가 아직 최적화 되지않은 점은 아쉬움으로 남습니다. 나중에 최종 런칭이 된 후에 몇몇 기능의 구현에 대해 포스팅해보기로 하고, 오늘은 개략적인 이야기만 남기고 싶습니다. ^^

QR system
<메인화면>

QR system
<지도코드생성 일부화면>

Railo를 선택하게 된 결정적이유는 금액적인 문제도 있었지만 처리속도 문제가 가장 큰 이유가 되었습니다. 또 이후 시스템의 이전과 관리, WAS(Web application server)의 업그레이드의 안정적 지원을 고려할때  상용서버인 Adobe ColdFusion은 비용부담과 기술지원에 한계가 분명존재했으니까요. Railo와 함께 QR코드부분은 iText와 Zxing 자바라이브러리가 쓰였습니다. 아시다시피 ColdFusion은 자바에 기반한 WAS이므로 쉽게 자바어플리케이션과 통합이 됩니다.

일부 차트, PDF문서생성 기능등은 ColdFusion자체의 강력한 차트기능(<cfchart> 와 <cfdocument>)을 썼고 대부분의 클라이언트측 코드는 jQuery와 jQuery에 기반한 오프소스들(Form, Ajax, 이미지뷰어, 모달박스 등등)이 쓰였습니다. 지도는 ColdFusion의 cfmap태그과 구글지도를 이용했지요.

QR코드관리시스템은 쉽게 말해 네이버나 다음에서 제공하는 QR코드생성 프로그램을 그대로 구현한 것이라고 할 수 있습니다. 한가지 특징은 이들 포털의 QR코드생성 프로그램은 QR코드를 꾸미는데 필요한 배경이미지를 사용자가 추가할 수 없는 점인데, 저는 이 사용자정의(관리자가 사전에 정의하기도 함) 배경이미지에 QR코드를 합성하여 다양한 모양과 디자인의 QR코드를 생성하게끔 하는 것이였습니다. 

그럴려면 우선 디자인된 이미지에서 QR코드가 들어갈 위치와 크기의 좌표를 알아내야했고, 다양한 크기에 맞춰 이미지를 자동으로 리사이징할 수 있도록해야 했습니다. 대부분의 기능이 ColdFusion에서 쉽게 구현되는 것이고 또 제 블로그에서 단편적으로나마 몇몇 기능에 대해서는 이미 알려드린바 있습니다. 


<QR코드가 합성될 배경이미지중 일부 샘플>

그리고 포털들의 QR코드 프로그램처럼 QR코드를 스캔할때 표시될 모바일 페이지(이건 정말 구현하기 싫더라고요. ㅋ가장 허접한 부분이기도 합니다.)의 구현도 필요했지만 연락처, 지도 등 모바일페이지로 이동되지 않고 바로 단말기에서 이용할 수 있는 QR코드를 생성하도록 별도로 추가했습니다. 가령 코드를 스캔하면 연락처에 추가되는 mCard형식(vCard형식으로 하려다 몇몇 이유로 mCard형식으로 변경)으로 생성되는 것 말이죠. 

아직 정식 서비스 전이고 여전히 코드는 최적화되지 않아서 앞으로 정리가 좀 필요하며, 대부분이 군청직원들이 사용하는 내부적으로 운영될 여지가 많지만 호남권 지방자치단체와 전라남도 등이 QR코드생성프로그램에 관심을 가지고 구축한 사례로 볼때 지역내에서 관광, 문화, 특산품 등 활용도는 있을것으로 예상됩니다. 네이버와 다음에서 제공하는 기능 대부분이 시방서의 규격이라 실제로 포털의 기능과 대동소이하지만 개인적으로 ColdFusion으로 구축한점은 매우 기억에 남는 프로젝트가 아닐까 싶습니다.

추후 세부적인 포스팅 올려야겟습니다. ^^ 

There are no comments yet. - 아직 댓글이 없습니다.

Leave a Comment

Leave this field empty:




Powered by

© 2010-2018 NOOREE.COM