Django를 이용한 건물주 평판 조회 서비스 제작 (3) - 구현 1일차
15 Jun 2017 | Django Web service Python Map API REST API Android Naver API 평판조회구현 1일차
메인화면
부트스트랩을 이용해서 간단히 홈화면을 꾸미고, Navbar 및 footer를 생성.
중앙에는 평판을 검색할 수 있는 검색창을 추가했다.
검색창에서 주소를 검색하면, Naver Geocoder API를 이용해 주소를 위/경도로 변환해 주었다.
검색 리스트
올바른 주소가 검색되었을때 이미 평판이 있으면 해당 평판을 볼수있는 링크를 보여주게 구현하였다.
DB내에 평판이 없을 경우 평판이 없음을 보여주고, 마찬가지로 링크를 선택하면 평판을 추가할수 있는 화면으로
이동하게 했다.
평판 디테일 뷰
네이버 지도 API를 통해 검색한 주소의 마커를 보여주고, 평판을 추가할 수 있는 폼을 생성했다.
지도상에서 맵을 선택하면 해당 위치에 평판을 추가할 수 있도록 하고, 평판이 있다면 보여주도록 했다.
고생한 점
Naver Geocoder에서 주소를 찾지 못할때 404 Not Found
를 날려주는 것을 모르고 있다가 한참 헤맸다.
문서를 잘 읽자는 교훈 네이버 지도 API 명세 - 5. 에러 코드 참조
또한 경도/위도의 자릿수를 8, 9자리에 6자리 소숫점 고정으로 생각하고 있다가,
경도/위도의 소숫점 아래 자리수가 7자리수인 좌표들이 등장하며 url 패턴에 맞지 않는 url들이 나와
계속 오류가 나는 것을 알아채지 못하고 한참 삽질을 했다.
굳이 Redirect가 필요하지 않은 것을 한단계 더 거쳐가는 형식으로 구현했다가 수정했다.
간단하다고 설계를 할때 깊게 생각하지 않으면 구현하면서 고생한다는 것을 다시금 깨달았다.
진행률
기본적인 기능 구현은 2/3 정도 끝난것 같다.
평판 등록/조회 기능 | 회원가입/로그인 기능 | 주소 검색 기능 |
---|---|---|
80% | 20% | 100% |
추후 일정
- 로그인/회원가입 등 구현
- 가입한 사용자만 정보를 등록할 수 있도록 구현
- 디테일뷰에서 DB에 평판 추가하는 부분 구현
- UI/UX 개선
일주일내로 기본 기능을 완성하기로 한 일정을 맞출 수 있을 것 같다.
여전히 개선할 부분과 디테일 개선은 갈길이 멀긴 하다.
Comments