'자바'에 해당되는 글 1건

2013년도에 제작했던 학교 앱이다.

배재고등학교 컴퓨터 동아리 SPACE로 활동할 때 제작해서, 그 해 진행됐던 교내 동아리 발표회 대상을 받았던 것이기도 하다.


내가 처음으로 공식적으로 배포했던 앱이다. 초기 버전에서는 서버 없이 자체적으로 데이터를 받아와 보여줬고, 이후 버전을 올리면서 앱 서버를 두게 되었다.


서버는 자바 서블릿으로 작성되어, HTTP를 통해 JSON 데이터를 주고받게 했다. 그리고 시간표, 식단표 등 데이터를 저장할 때에는 MySQL 데이터베이스를 사용했다.


식단표

식단표 데이터는 NEIS 홈페이지를 파싱해서 정보를 가져왔다.

처음에는 앱의 자체 서버가 없어서 앱 내에서 홈페이지 정보를 파싱했는데, 그 시간이 꽤 오래 걸려서 불편했고 트래픽을 너무 많이 발생시키진 않을까 하는 우려도 있었다.


그래서 나중에 자체 서버를 만들고 난 뒤에는, 서버에서 주기적으로 데이터를 파싱해서 가지고 있도록 했다.

앱이 서버에 접속해서 특정 달의 식단표 타임스탬프를 서버에게 전송하면, 만약 변동이 있으면 새 식단표와 타임스탬프를 보내주고 아니라면 OK를 보내주는 식이다.


시간표

시간표는 교내 선생님별, 학급별 시간표를 관리하던 서비스에서 파싱해왔다.

다만 처음에는 로딩 시간을 이유로 앱에서 파싱하면 저장해뒀는데, 파싱한 때가 마침 변동된 시간표이거나, 파싱 이후 변동된 임시 시간표가 있을 경우 시간표 정보가 정확하지 않았다.

따라서 식단표와 마찬가지로 자체 서버를 운용한 이후는 서버측에서 모든 파싱을 담당했다. 공지사항 개발 이후에 변동된 시간표 GCM 알림 기능도 구상했었지만...


지하철 시간표

1.6버전으로 올리면서 추가했던 기능이다. 공공데이터포털(https://www.data.go.kr) 지하철 시간표 API를 사용했다. 처음으로 외부 서버에서 제공하는 API를 사용해볼 수 있던 기회였다.


공지사항

이후 버전 2.0부터는 공지사항 기능도 추가했는데, 그때부터는 사용자 권한 기능도 추가해서 '선생님' 권한이 있는 사용자면 글쓰기 버튼이 나타나고 공지를 올릴 수 있도록 했다. 공지에는 수신 대상 설정도 있고 수신 대상에 자신이 포함되면 GCM으로 알림이 오도록 야심차게 설계하고 제작했던 기능이다.

... 다만 문제는 그 때는 2014년 초 내가 막 고3이 되었을 때이고 그 이후로 홍보와 앱 관리를 잘 하지 못했다는 점. 이 때 제대로 활성화를 시키지 못했던게 아쉽다.



추억의 구글 플레이 스토어 다운로드 화면, 이때는 초기에 서버가 없을 적 버전이었다.



식단표, 왼쪽 버튼을 누르면 새로 불러오며, 오른쪽 버튼을 누르면 날짜를 변경할 수 있다.

NEIS에 식단표 데이터가 있기만 하면 몇달~몇년 전 식단표도 확인할 수 있었다.



일간 시간표, 위의 왼쪽 버튼을 누르면 줌아웃되면서 일주일 전체 시간표가 나타난다.

이 앱을 만들던 당시는 안드로이드 2.1 버전을 쓰는 사람이 아직 많아서 뷰 애니메이션을 넣기가 까다로웠던 기억이 있다.


버전 1.6부터 추가된 지하철 시간표 기능, 옆으로 넘기면 하루 시간표도 확인할 수 있다.


이후 버전에 추가된 공지사항 기능, 공지사항을 올리면 GCM으로 알림이 왔다.



학교에서 운영하던 방과후 학교 수강, 공지 사이트도 접속할 수 있었다. 소소하게 보안코드 자동 입력 기능(...)은 덤

블로그 이미지

예비컴공돌이

각종 프로젝트 진행중! 생각날때마다 블로그 업데이트합니다.