본문 바로가기

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

위치기반 공공와이파이 확인시스템 - readme

1.프로젝트명 
  위치기반 서울공공와이파이 조회 및 저장시스템

2.설명
이 프로젝트는 서울시 공공와이파이 데이터를 활용하여, 현재 위치기반로부터 거리가 가까운 와이파이를 조회하는 웹 어플리케이션입니다. 사용자의 위치기록 저장, 와이파이상세정보제공, 와이파이 북마크, 북마크 그룹추가 등 부가적인 서비스를 제공하는 java기반 웹 어플리케이션입니다.

HTTP 요청을 처리하기 위해 톰켓을 기반으로한 JSP을 사용하고, JDBC를 활용하여 mariadb 데이터베이스 서비스를 사용합니다. 프론트엔드는 JSP 페이지와 JavaScript로 구성되어 있습니다.

3.사용법

내 위치 가져오기 : 
북마크 관리: 북마크 추가, 삭제 및 관리.
Wi-Fi 데이터 처리: Wi-Fi 관련 정보 저장 및 검색.
사용자 기록: 사용자 활동 기록 유지.

4. 파일
4.1 Java 파일

- 데이터베이스
와이파이정보, 북마크목록, 북마크그룹, 위치히스토리 4가지 데이터 테이블이 존재합니다.


- 서비스 로직
DbService.java: 각 테이블에 데이터를 삽입, 저장, 조회, 삭제하기위한 데이터베이스 서비스 구현
APIJsonReceive.java: 서울시 공공와이파이 API 요청에서 수신한 JSON 데이터를 처리.

Location.js: 
a. function getLocation() :  html5 브라우저의 navigator 위치조회기능을 활용하여 좌표를 받아 프론트 엔드에 업데이트합니다. b. sendLocation() : fetch API를 사용하여 location parameter을 서버에 발송하고 업데이트된 html을 rendering합니다.

history.js: (수정필요) 지리적 위치 데이터를 기반으로 사용자 기록을 로깅합니다.

추가 정보

- 데이터객체
DTOBookmark.java: 북마크에 대한 데이터 전송 객체.
DTOBookmarkGroup.java: 북마크 그룹에 대한 데이터 전송 객체.
DTOWifi.java: Wi-Fi 데이터에 대한 데이터 전송 객체.
DTOHistory.java: 사용자 기록에 대한 데이터 전송 객체.

4.2 JSP 파일

-와이파이 관리페이지

index.jsp: 애플리케이션의 메인 페이지로, a. 나의 위치 불러오기 b. 위치 근처의 20개 wifi 불러오기 c. 나의 위치가져오기 할 시 위치 히스토리에에 저장(수정필요)
detail.jsp: a. 불러온 wifi의 세부정보를 표시, b.해당 와이파이를 북마크로 추가
load-wifi.jsp: 서울시 Wi-Fi 데이터를 API를 통해 DB에 전체 로드

-북마크 관리페이지
bookmark-list.jsp: 북마크 목록을 표시하는 JSP 페이지.
bookmark-delete.jsp: 북마크를 삭제하기 위한 JSP 페이지.

- 북마크 그룹관리페이지
bookmark-group.jsp: 북마크 그룹을 수정,추가,삭제하기 위한 JSP 페이지.
bookmark-group-add.jsp: 새로운 북마크 그룹을 추가하기 위한 JSP 페이지.
bookmark-group-add-submit.jsp: 새로운 북마크 그룹을 추가처리를 위한 JSP 페이지.
bookmark-group-delete.jsp: 북마크 그룹을 삭제하기 위한 JSP 페이지.
bookmark-group-edit.jsp: 북마크 그룹을 편집하기 위한 JSP 페이지.
bookmark-group-edit-submit.jsp: 북마크 그룹을 편집처리하기 위한 JSP 페이지.

- 기타
history.jsp: 사용자 위치기록을 표시하기 위한 JSP 페이지.
history-delete.jsp: 위치기록을 삭제처리 위한 JSP 페이지.
loghistory.jsp: 사용자 위치를 기록처리하기 위한 JSP 페이지.