본문 바로가기

개발 프로젝트/DB&PureJava기반 웹개발

위치기반 공공와이파이 확인시스템 <1> 개발시작전 요구사항 분석

프로젝트과정의 목적

1. 수강생 본인이 직접 기획, 제작, 기능구현 등의 일련의 과정을 경험

2. 시스템 호출(OPEN API) 문제해결능력 

3. 기본 데이터 베이스 개념을 기반으로 사용해보지 않은 데이터베이스(SQLite)에 대한 수행능력 배양

프로젝트 요구 결과물

- 내 위치기반 공공 와이파이 정보를 제공하는 웹개발

- 공공 데이터 자원을 끌어와 내가 서비스하고자하는 데이터로 마이그레이션하여 웹을 기반으로 원하는 형태출력

- 히스토리에대해 데이터베이스에 저장하는 기능과 이를 출력하는 기능

요구기술

1. 과제를 분석하여 ERD를 통한 데이터 설계를 작성

2. 공공와이파이 정보는 서울시 오픈 API활용

3. JAVA기반의 다이나믹 웹서비스를 이용해서 구현 (JSP)
 ; Tomcat 8.5, Maven(or Gradle) 사용라이브러리 

 (?) 프론트엔드 CSS,JavaScript,html

 

필요 라이브러리

-  httpClient 처리를 위해서 okhttp3 이용

-  Json 처리를 위해서 gson 이용

-  Getter/setter 처리를 위해서 lomok 이용

- Sqlite 연결을 위해서 sqlite-jdbc 이용

 

요구기한 및 실행방안

- 기한 : ~7/15 약 3주

 

1. 프로젝트 시작전 학습필요사항 (1주)

- DB관련 강의 우선 ASAP 완강 필요 (완료)

- JSP 사용법에 대해서 학습필요;  Tomcat 8.5, Maven(or Gradle) ; Servlet? JSP? (완료)

- OPEN API 활용법에 대해서 학습필요 (완료)

 

2. 전체 로직구성(2주)

2.1 로직흐름

(1) OPEN API를 통해 Data 전체를 DB에 올림 (진행)

(2) 나의 위치를 좌표화하여 입력 (진행)

(3) 입력된 좌표와 DB의 좌표데이터를 조작하여 가까운 10개를 찾아서 표시하기

(4) 입력된 좌표를 history DB에 입력하기

(5) 

 

2.2 고민/검토할 사항

(1) API에서 받은 JSON DATA를 JAVA를 거치지 않고 바로 DB로 보내면 더 효율적이지 않을까? 

-  DB에서도 Sql문을 통해 json을 parsing할 수 있으나 http통신이 불가능하고, DB초기화과정에서 시간이 좀 걸리는 것은 크게 문제가 되지 않을 것으로 사료됨.

 

(2) DB내 위치데이터와 입력된 위치를 대조하여 가까운것을 select 할때 DB 내에서 A. data filtering과 B. 거리계산을 하는 것이 효율적이지 않을까? 

 

- A. 좌표를 가져오는 순간 연산을 시작하는건 어떨지? (인스타그램에서 사진을 찍자마자 업로드를 시작했다고 한거처럼)

- B. DB내 에서 연산시에 Java APP과 DB 간의 2번의 통신을 절약할 수 있음 (Data Locality)

 

 

2.3 작업순서

-  OPEN API를 활용해서 DB에 데이터 올리기

- JSP를 생성하여 DB보여주기

 

3. 완성 및 리팩터링 (3주)