안드로이드 어플(검진데이터 저장)
개발기간 : 2019-11-15~ 2019-12-31(1차개발)
2020-01-01~ 2020-05-14(2차개발)
개발언어 : Java, jQuery, NodeJS, Express, PouchDB
작업내용 :
1. 안드로이드 어플 개발
2. NodeJS, Express, PouchDB 활용한 로컬 서버 개발
3. jQuery, HTML로 로컬 웹페이지 관리자 개발
4. 어플, 관리자화면 러시아어 번역페이지 개발
처음에는 네이티브 앱으로 만들다가 디자인 구현에 시간적인 한계를 느껴서 웹뷰로 개발하였습니다.
해당 어플은 인터넷에 연결되지 않고도 사용할 수 있어야 해서 웹뷰에서 호출하는 HTML 파일은 로컬에 저장되어 있습니다.
또한 서버PC와 동일한 네트워크에 있을 때에만 데이터를 동기화 시킬 수 있도록 하기위해
어플에서 네트워크 체크를 통해 서버와 연결이 되어있을 때만 동기화 메뉴가 나타나도록 설계되었습니다.
핸드폰 언어가 한국어가 아닐경우 러시아어로 나올수있도록 HTML파일을 두종류로 나누고
어플 자체 메세지를 한국어와 러시아어로 구분하여 출력할 수 있게 개발하였습니다.
그리고 로컬 데이터베이스(안드로이드 SQLite)로 데이터를 저장하고 저장된 데이터를 서버프로그램으로 전송하거나
서버프로그램에서 받아온 데이터를 로컬에 저장할 수 있도록 하였습니다.
서버는 윈도우 프로그램으로 node.js와 PouchDB를 사용하여 외부인터넷 연결이 필요없이
로컬데이터베이스에 저장될 수 있게 하였으며 동일 네트워크에 연결되어있는 안드로이드와 Json으로 통신하여
데이터를 동기화 합니다.
1) 어플에서 동기화를 실행하면 먼저 어플에있는 데이터를 서버로 전송
2) 추가된 데이터를 서버의 데이터베이스에 저장 후 서버에서 변경된 데이터를 어플로 전송
3) 서버에서 전송한 데이터를 어플에서 수신하여 변경된 내용 업데이트
1차개발기간에 어플은 완료되었고 2차개발기간동안 러시아어 기능추가 및 서버와 관리자 프로그램 개발하였습니다.
서버프로그램 개발 자체는 한달정도 걸렸는데 중간에 코로나 사태로 의견전달이 어려워서 몇달 휴식기도 있었습니다..
[어플 한국어화면]
[어플 러시아어 화면]
[서버프로그램]
[PC 관리자페이지]